From ef0257920d92551fcc9186b134cae2b8b2c96461 Mon Sep 17 00:00:00 2001 From: panya Date: Sun, 18 Jan 2026 15:28:40 +0900 Subject: [PATCH] feature: public -> private api --- app/api.py | 10 ++++++++-- app/grad_2025/router.py | 19 ++++++++++++++++--- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/api.py b/app/api.py index c9c4e97..d50bb90 100644 --- a/app/api.py +++ b/app/api.py @@ -5,7 +5,8 @@ from app.auth.router import router as auth_router from app.core.router import create_router from app.features.router import router as features_router -from app.grad_2025.router import router as grad_2025_router +from app.grad_2025.router import private_router as grad_2025_private_router +from app.grad_2025.router import public_router as grad_2025_public_router from app.posts.router import router as posts_router from app.tags.router import router as tags_router from app.users.router import router as users_router @@ -15,7 +16,9 @@ public_router = create_router(prefix="/public") public_router.include_router(auth_router, prefix="/auth", tags=["Auth"]) public_router.include_router(features_router, prefix="/features", tags=["Features"]) -public_router.include_router(grad_2025_router, prefix="/grad_2025", tags=["Grad 2025"]) +public_router.include_router( + grad_2025_public_router, prefix="/grad_2025", tags=["Grad 2025"] +) private_router = create_router( prefix="/private", @@ -25,6 +28,9 @@ private_router.include_router(posts_router, prefix="/posts", tags=["Posts"]) private_router.include_router(tags_router, prefix="/tags", tags=["Tags"]) private_router.include_router(admin_router, prefix="/admin", tags=["Admin"]) +private_router.include_router( + grad_2025_private_router, prefix="/grad-2025", tags=["Grad 2025"] +) router.include_router(public_router) router.include_router(private_router) diff --git a/app/grad_2025/router.py b/app/grad_2025/router.py index 11a5fad..8add821 100644 --- a/app/grad_2025/router.py +++ b/app/grad_2025/router.py @@ -10,17 +10,30 @@ from .schemas import Grad2025Cursor, Grad2025Read from .service import Grad2025Service -router = create_router() +# Public router - 학교/전공 목록 (기존 배포된 API) +public_router = create_router() -@router.get("") +@public_router.get("", deprecated=True) async def read_univ_majors( grad_2025_service: Grad2025Service, ) -> list[Grad2025Read]: + """Deprecated: /private/grad-2025/univ-majors 를 사용하세요.""" return await grad_2025_service.get_univ_majors() -@router.get("/posts") +# Private router - 졸업작품 관련 API (인증 필요) +private_router = create_router() + + +@private_router.get("/univ-majors") +async def read_univ_majors_private( + grad_2025_service: Grad2025Service, +) -> list[Grad2025Read]: + return await grad_2025_service.get_univ_majors() + + +@private_router.get("/posts") async def search_grad_2025_posts( grad_2025_service: Grad2025Service, cursor: Annotated[