from fastapi import APIRouter, Depends, HTTPException, status from sqlalchemy.orm import Session from typing import List # database from database import get_db from models.Calendar import Calenders from schemas.CreateSchemas import CalendarCreate from schemas.ResponseSchemas import Calendar router = APIRouter() @router.get("/", response_model=List[Calendar]) def get_calendar_events(skip: int = 0, limit: int = 100, db: Session = Depends(get_db)): """ Get a list of calendar events with optional pagination. """ # Placeholder for actual database query events = db.query("CalendarEvents").offset(skip).limit(limit).all() return events @router.post("/", response_model=Calendar, status_code=status.HTTP_201_CREATED) def create_calendar_event(event: CalendarCreate, db: Session = Depends(get_db)): """ Create a new calendar event. """ try: db_event = Calenders(**event.model_dump()) db.add(db_event) db.commit() db.refresh(db_event) return db_event except Exception as e: db.rollback() raise HTTPException( status_code=500, detail=str(e.__cause__), ) from e