From 0b33f2cc71365d66efc80a0f8b639380ba37122e Mon Sep 17 00:00:00 2001 From: Johnny Bouder Date: Wed, 20 Aug 2025 16:56:23 -0400 Subject: [PATCH] Add new config for api prefix. Update routers for new config. --- README.md | 1 + app/admin/router.py | 3 ++- app/applicants/router.py | 3 ++- app/cases/router.py | 3 ++- app/config.py | 1 + app/health/router.py | 4 +++- app/users/router.py | 3 ++- 7 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3f21a87..5b489a8 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ pip install -e ".[dev]" 4. To override default environment variables, add a file called `.env` to the `comet-api` directory and update as needed (optional): ``` +API_PREFIX=[SOME_ROUTE] # Ex: '/api' DATABASE_URL=[SOME_URL] # Ex: 'postgresql://username:password@localhost:5432/database_name' OIDC_CONFIG_URL=[SOME_URL] # Ex: 'https://token.actions.githubusercontent.com/.well-known/openid-configuration' ``` diff --git a/app/admin/router.py b/app/admin/router.py index f0ad215..fa939b7 100644 --- a/app/admin/router.py +++ b/app/admin/router.py @@ -5,9 +5,10 @@ from starlette import status from app.auth import validate_jwt +from app.config import settings router = APIRouter( - prefix="/admin", + prefix=f"{settings.API_PREFIX}/admin", tags=["Admin"], ) diff --git a/app/applicants/router.py b/app/applicants/router.py index 933b848..bdd38f3 100644 --- a/app/applicants/router.py +++ b/app/applicants/router.py @@ -11,10 +11,11 @@ ApplicantResponse, ApplicantUpdate, ) +from app.config import settings from app.db import get_db router = APIRouter( - prefix="/applicants", + prefix=f"{settings.API_PREFIX}/applicants", tags=["Applicants"], responses={404: {"description": "Endpoint not found"}}, ) diff --git a/app/cases/router.py b/app/cases/router.py index c350dc1..44f9606 100644 --- a/app/cases/router.py +++ b/app/cases/router.py @@ -12,10 +12,11 @@ CaseUpdate, CaseWithApplicant, ) +from app.config import settings from app.db import get_db router = APIRouter( - prefix="/cases", + prefix=f"{settings.API_PREFIX}/cases", tags=["Cases"], responses={404: {"description": "Endpoint not found"}}, ) diff --git a/app/config.py b/app/config.py index d5f69ed..65cf799 100644 --- a/app/config.py +++ b/app/config.py @@ -4,6 +4,7 @@ class Settings(BaseSettings): model_config = SettingsConfigDict(env_file=".env") + API_PREFIX: str = "" DATABASE_URL: str = "sqlite:///./db.sqlite3" OIDC_CONFIG_URL: str | None = None diff --git a/app/health/router.py b/app/health/router.py index a88daa4..7650511 100644 --- a/app/health/router.py +++ b/app/health/router.py @@ -1,8 +1,10 @@ from fastapi import APIRouter from starlette import status +from app.config import settings + router = APIRouter( - prefix="/health", + prefix=f"{settings.API_PREFIX}/health", tags=["Health"], ) diff --git a/app/users/router.py b/app/users/router.py index cfb0df9..d649d3e 100644 --- a/app/users/router.py +++ b/app/users/router.py @@ -5,11 +5,12 @@ from starlette import status import app.users.services as service +from app.config import settings from app.db import get_db from app.users.schemas import UserCreate, UserListResponse, UserResponse, UserUpdate router = APIRouter( - prefix="/users", + prefix=f"{settings.API_PREFIX}/users", tags=["Users"], responses={404: {"description": "Endpoint not found"}}, )