Updated calendar to have CRUD functionality (mostly).

This commit is contained in:
c-d-p
2025-04-18 19:30:02 +02:00
parent 8d884111fd
commit ee86374da6
15 changed files with 700 additions and 21 deletions

View File

@@ -4,9 +4,10 @@ from sqlalchemy.orm import Session
from datetime import datetime
from modules.auth.dependencies import get_current_user
from core.database import get_db
from core.exceptions import not_found_exception
from modules.auth.models import User
from modules.calendar.schemas import CalendarEventCreate, CalendarEventResponse
from modules.calendar.service import create_calendar_event, get_calendar_events, update_calendar_event, delete_calendar_event
from modules.calendar.schemas import CalendarEventCreate, CalendarEventUpdate, CalendarEventResponse
from modules.calendar.service import create_calendar_event, get_calendar_event_by_id, get_calendar_events, update_calendar_event, delete_calendar_event
router = APIRouter(prefix="/calendar", tags=["calendar"])
@@ -29,10 +30,21 @@ def get_events(
end = None if end == "" else end
return get_calendar_events(db, user.id, start, end)
@router.put("/events/{event_id}", response_model=CalendarEventResponse)
@router.get("/events/{event_id}", response_model=CalendarEventResponse)
def get_event_by_id(
event_id: int,
user: User = Depends(get_current_user),
db: Session = Depends(get_db)
):
event = get_calendar_event_by_id(db, user.id, event_id)
if not event:
raise not_found_exception()
return event
@router.patch("/events/{event_id}", response_model=CalendarEventResponse)
def update_event(
event_id: int,
event: CalendarEventCreate,
event: CalendarEventUpdate,
user: User = Depends(get_current_user),
db: Session = Depends(get_db)
):