From f72842563a600af0ee7370ddda895a9cb44335c4 Mon Sep 17 00:00:00 2001 From: Sebastiaan Date: Sat, 7 Jun 2025 21:14:11 +0200 Subject: [PATCH] Add Enum with Tags for consistand naming --- backend/app/api/routes/events.py | 12 ++++++++---- backend/app/api/routes/login.py | 4 ++-- backend/app/api/routes/private.py | 3 ++- backend/app/api/routes/users.py | 4 ++-- backend/app/api/routes/utils.py | 4 ++-- backend/app/models/base.py | 16 ++++++++++++++++ 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/backend/app/api/routes/events.py b/backend/app/api/routes/events.py index 3a918e1..f28c734 100644 --- a/backend/app/api/routes/events.py +++ b/backend/app/api/routes/events.py @@ -4,7 +4,11 @@ from fastapi import APIRouter, HTTPException from sqlmodel import func, select from app.api.deps import CurrentUser, SessionDep -from app.models.base import Message, RowId +from app.models.base import ( + ApiTags, + Message, + RowId, +) from app.models.event import ( Event, EventCreate, @@ -21,7 +25,7 @@ from app.models.user import ( User, ) -router = APIRouter(prefix="/events", tags=["events"]) +router = APIRouter(prefix="/events", tags=[ApiTags.EVENTS]) # region # Events ############################################################## @@ -160,7 +164,7 @@ def delete_event( # region # Events / Users ###################################################### -@router.post("/{id}/users/{user_id}", tags=["users"]) +@router.post("/{id}/users/{user_id}", tags=[ApiTags.USERS]) def add_user_to_event( session: SessionDep, current_user: CurrentUser, @@ -196,7 +200,7 @@ def add_user_to_event( ) # TODO: Return event or event_users -@router.delete("/{id}/users/{user_id}", tags=["users"]) +@router.delete("/{id}/users/{user_id}", tags=[ApiTags.USERS]) def remove_user_from_event( session: SessionDep, current_user: CurrentUser, id: RowId, user_id: RowId ) -> Message: diff --git a/backend/app/api/routes/login.py b/backend/app/api/routes/login.py index 98ac2bd..d8a6fcd 100644 --- a/backend/app/api/routes/login.py +++ b/backend/app/api/routes/login.py @@ -10,7 +10,7 @@ from app.core import security from app.core.config import settings from app.core.security import get_password_hash from app.models.apikey import ApiKey -from app.models.base import Message +from app.models.base import ApiTags, Message from app.models.user import NewPassword, Token, User, UserPublic from app.utils import ( generate_password_reset_token, @@ -19,7 +19,7 @@ from app.utils import ( verify_password_reset_token, ) -router = APIRouter(tags=["login"]) +router = APIRouter(tags=[ApiTags.LOGIN]) @router.post("/login/access-token") diff --git a/backend/app/api/routes/private.py b/backend/app/api/routes/private.py index 58df018..b881aa7 100644 --- a/backend/app/api/routes/private.py +++ b/backend/app/api/routes/private.py @@ -5,12 +5,13 @@ from pydantic import BaseModel from app.api.deps import SessionDep from app.core.security import get_password_hash +from app.models.base import ApiTags from app.models.user import ( User, UserPublic, ) -router = APIRouter(tags=["private"], prefix="/private") +router = APIRouter(tags=[ApiTags.PRIVATE], prefix="/private") class PrivateUserCreate(BaseModel): diff --git a/backend/app/api/routes/users.py b/backend/app/api/routes/users.py index c348cc3..f91e25b 100644 --- a/backend/app/api/routes/users.py +++ b/backend/app/api/routes/users.py @@ -18,7 +18,7 @@ from app.models.apikey import ( ApiKeyPublic, ApiKeysPublic, ) -from app.models.base import Message, RowId +from app.models.base import ApiTags, Message, RowId from app.models.user import ( PermissionModule, PermissionPart, @@ -34,7 +34,7 @@ from app.models.user import ( ) from app.utils import generate_new_account_email, send_email -router = APIRouter(prefix="/users", tags=["users"]) +router = APIRouter(prefix="/users", tags=[ApiTags.USERS]) @router.get( diff --git a/backend/app/api/routes/utils.py b/backend/app/api/routes/utils.py index 5a511ff..ec53b8d 100644 --- a/backend/app/api/routes/utils.py +++ b/backend/app/api/routes/utils.py @@ -2,10 +2,10 @@ from fastapi import APIRouter, Depends from pydantic.networks import EmailStr from app.api.deps import get_current_system_admin -from app.models.base import Message +from app.models.base import ApiTags, Message from app.utils import generate_test_email, send_email -router = APIRouter(prefix="/utils", tags=["utils"]) +router = APIRouter(prefix="/utils", tags=[ApiTags.UTILS]) @router.post( diff --git a/backend/app/models/base.py b/backend/app/models/base.py index 5d8a5c9..3f85f26 100644 --- a/backend/app/models/base.py +++ b/backend/app/models/base.py @@ -9,6 +9,7 @@ __all__ = [ "DocumentedStrEnum", "DocumentedIntFlag", "auto_enum", + "ApiTags", "BaseSQLModel", "Message", ] @@ -34,6 +35,21 @@ class DocumentedIntFlag(IntFlag): pass +# ############################################################################# + + +class ApiTags(DocumentedStrEnum): + LOGIN = "Login" + USERS = "Users" + UTILS = "Utils" + PRIVATE = "Private" + + APIKEY = "APIKey" + + EVENTS = "Events" + TEAMS = "Teams" + + # endregion