from fastapi import FastAPI from pydantic import BaseModel from database import fetch_all from events import create_event class EventCreate(BaseModel): room_id: int creator_id: int type: str title: str description: str start_time: str end_time: str visibility: str status: str min_people: int app = FastAPI( title="Calendar API", description="Room based agenda system", version="0.1" ) @app.get("/") def home(): return { "status": "online", "service": "Calendar API" } @app.get("/database") def database_status(): tables = fetch_all( "SELECT name FROM sqlite_master WHERE type='table';" ) return { "tables": [table["name"] for table in tables] } @app.post("/events") def api_create_event(event: EventCreate): event_id = create_event( room_id=event.room_id, creator_id=event.creator_id, type=event.type, title=event.title, description=event.description, start_time=event.start_time, end_time=event.end_time, visibility=event.visibility, status=event.status, min_people=event.min_people ) return { "status": "created", "event_id": event_id } @app.get("/events") def get_events(): events = fetch_all("SELECT * FROM events;") return { "events": [dict(event) for event in events] }