initial commit
This commit is contained in:
56
server/app/routers/events.py
Normal file
56
server/app/routers/events.py
Normal file
@@ -0,0 +1,56 @@
|
||||
from fastapi import APIRouter, Depends, File, UploadFile
|
||||
from fastapi.security import HTTPAuthorizationCredentials
|
||||
from icecream import ic
|
||||
|
||||
from app.admin import oauth2_http
|
||||
from app.controllers import controller
|
||||
from app.models.event import EventSeries, NewEventSeries
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/events",
|
||||
tags=["events"],
|
||||
responses={404: {"description": "Not found"}},
|
||||
)
|
||||
|
||||
|
||||
@router.get("/")
|
||||
async def get_events() -> list[EventSeries]:
|
||||
return await controller.get_events()
|
||||
|
||||
|
||||
@router.get("/{id}")
|
||||
async def get_event(id: int) -> EventSeries:
|
||||
return await controller.get_event(id)
|
||||
|
||||
|
||||
@router.post("/")
|
||||
async def create_series(
|
||||
series: NewEventSeries,
|
||||
token: HTTPAuthorizationCredentials = Depends(oauth2_http),
|
||||
) -> EventSeries:
|
||||
return await controller.create_event(series, token)
|
||||
|
||||
|
||||
@router.delete("/{id}")
|
||||
async def delete_event(
|
||||
id: int, token: HTTPAuthorizationCredentials = Depends(oauth2_http)
|
||||
) -> None:
|
||||
await controller.delete_series(id, token)
|
||||
|
||||
|
||||
@router.post("/{id}/poster")
|
||||
async def add_series_poster(
|
||||
id: int,
|
||||
poster: UploadFile = File(...),
|
||||
token: HTTPAuthorizationCredentials = Depends(oauth2_http),
|
||||
) -> EventSeries:
|
||||
return await controller.add_series_poster(id, poster, token)
|
||||
|
||||
|
||||
@router.put("/{id}")
|
||||
async def update_event(
|
||||
id: int,
|
||||
event: EventSeries,
|
||||
token: HTTPAuthorizationCredentials = Depends(oauth2_http),
|
||||
) -> EventSeries:
|
||||
return await controller.update_series(id, event, token)
|
||||
Reference in New Issue
Block a user