API up and running.

This commit is contained in:
Yaro Kasear 2025-09-04 15:05:09 -05:00
parent d9ed6d5cd7
commit 207e3f5b51
3 changed files with 40 additions and 7 deletions

View file

@ -1,10 +1,22 @@
from flask import Flask
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session
from muck.models.dbref import Base
from crudkit.api.flask_api import generate_crud_blueprint
from crudkit.core.service import CRUDService
from muck.models.dbref import Base, Dbref
from muck.models.exit import Exit
from muck.models.player import Player
from muck.models.program import Program
from muck.models.room import Room
from muck.models.thing import Thing
from muck.init import bootstrap_world
engine = create_engine("sqlite:///muck.db", echo=True)
DATABASE_URL = "sqlite:///muck.db"
engine = create_engine(DATABASE_URL, echo=True)
SessionLocal = scoped_session(sessionmaker(bind=engine))
Base.metadata.create_all(engine)
@ -12,3 +24,22 @@ Base.metadata.create_all(engine)
session = SessionLocal()
bootstrap_world(session)
app = Flask(__name__)
dbref_service = CRUDService(Dbref, session)
exit_service = CRUDService(Exit, session)
player_service = CRUDService(Player, session)
program_service = CRUDService(Program, session)
room_service = CRUDService(Room, session)
thing_service = CRUDService(Thing, session)
app.register_blueprint(generate_crud_blueprint(Dbref, dbref_service), url_prefix="/api/dbref")
app.register_blueprint(generate_crud_blueprint(Exit, exit_service), url_prefix="/api/exits")
app.register_blueprint(generate_crud_blueprint(Player, player_service), url_prefix="/api/players")
app.register_blueprint(generate_crud_blueprint(Program, program_service), url_prefix="/api/programs")
app.register_blueprint(generate_crud_blueprint(Room, room_service), url_prefix="/api/rooms")
app.register_blueprint(generate_crud_blueprint(Thing, thing_service), url_prefix="/api/things")
if __name__ == "__main__":
app.run(debug=True)