diff --git a/src/main.py b/src/main.py index e69de29..ff47f86 100644 --- a/src/main.py +++ b/src/main.py @@ -0,0 +1,13 @@ +from fastapi import FastAPI +from routes import admin, auth, review, stats + +app = FastAPI() + +app.include_router(auth.router) +app.include_router(admin.router) +app.include_router(review.router) +app.include_router(stats.router) + +@app.get("/") +def read_root(): + return {"Hello": "World"} \ No newline at end of file diff --git a/src/routes/admin.py b/src/routes/admin.py new file mode 100644 index 0000000..f6307ad --- /dev/null +++ b/src/routes/admin.py @@ -0,0 +1,21 @@ +from fastapi import APIRouter +from models.contest import ContestBase +from models.song import SongIn +from models.user import UserCreate + +router = APIRouter( + prefix="/admin", + tags=["admin"], +) + +@router.post("/users") +def create_user(user: UserCreate): + pass + +@router.post("/contests") +def create_contest(contest: ContestBase): + pass + +@router.post("/songs") +def create_song(song: SongIn): + pass \ No newline at end of file diff --git a/src/routes/auth.py b/src/routes/auth.py new file mode 100644 index 0000000..878ea14 --- /dev/null +++ b/src/routes/auth.py @@ -0,0 +1,11 @@ +from fastapi import APIRouter +from models.user import UserIn + +router = APIRouter( + prefix="/auth", + tags=["auth"], +) + +@router.post("/login") +def login(user: UserIn): + pass diff --git a/src/routes/review.py b/src/routes/review.py new file mode 100644 index 0000000..5988b72 --- /dev/null +++ b/src/routes/review.py @@ -0,0 +1,15 @@ +from fastapi import APIRouter +from models.song import SongReview + +router = APIRouter( + prefix="/review", + tags=["review"], +) + +@router.post("") +def create_review(review: SongReview): + pass + +@router.patch("") +def update_review(review: SongReview): + pass diff --git a/src/routes/stats.py b/src/routes/stats.py new file mode 100644 index 0000000..e9dee4a --- /dev/null +++ b/src/routes/stats.py @@ -0,0 +1,13 @@ +from fastapi import APIRouter +from uuid import uuid4 +from typing import Union + +router = APIRouter( + prefix="/stats", + tags=["stats"], +) + +@router.get("/{contest_id}") +def get_stats(contest_id: uuid4, group_id: Union[uuid4, None] = None): + pass +