11from typing import List
2+ from uuid import UUID
23
3- from fastapi import APIRouter , Depends , HTTPException
4+ from fastapi import APIRouter , Depends , HTTPException , status
45from sqlalchemy .orm import Session
56
67from app .dependencies import get_db
7- from app .repositories import branch_repository as repository
8- from app .schemas import BranchRequest , BranchResponse
8+ from app .repositories import branch_repository as repository , student_repository
9+ from app .schemas import BranchRequest , BranchResponse , StudentRequest , StudentResponse
910
1011router = APIRouter (prefix = "/branch" , tags = ["branch" ])
1112
@@ -16,13 +17,18 @@ async def get_all_branches(db: Session = Depends(get_db)):
1617
1718
1819@router .get ("/{branch_id}" , response_model = BranchResponse )
19- async def get_branch_by_id (branch_id , db : Session = Depends (get_db )):
20+ async def get_branch_by_id (branch_id : UUID , db : Session = Depends (get_db )):
2021 branch = repository .get_branch_by_id (db , branch_id )
2122 if branch is None :
2223 raise HTTPException (status_code = 404 , detail = "Branch not found" )
2324 return branch
2425
2526
26- @router .post ("/" , response_model = BranchResponse )
27+ @router .post ("/" , response_model = BranchResponse , status_code = status . HTTP_201_CREATED )
2728async def create_branch (request : BranchRequest , db : Session = Depends (get_db )):
2829 return repository .create_branch (db , request )
30+
31+
32+ @router .post ("/{branch_id}/student" , response_model = StudentResponse , status_code = status .HTTP_201_CREATED )
33+ async def create_student (request : StudentRequest , branch_id : UUID , db : Session = Depends (get_db )):
34+ return student_repository .create_student (db , branch_id , request )
0 commit comments