first commit
This commit is contained in:
commit
d416fe4cce
69 changed files with 8269 additions and 0 deletions
54
backend/app/api/parents.py
Normal file
54
backend/app/api/parents.py
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
from fastapi import APIRouter, Depends
|
||||
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||
|
||||
from app.dependencies.auth import get_current_owner_id
|
||||
from app.db.mongo import get_database
|
||||
from app.schemas.records import ParentCreateRequest, ParentRecordResponse, ParentUpdateRequest
|
||||
from app.services.records import create_parent, delete_parent, get_parent, list_parents, update_parent
|
||||
|
||||
router = APIRouter(prefix="/parents", tags=["parents"])
|
||||
|
||||
|
||||
@router.post("", response_model=ParentRecordResponse)
|
||||
async def create_parent_record(
|
||||
payload: ParentCreateRequest,
|
||||
owner_id: str = Depends(get_current_owner_id),
|
||||
database: AsyncIOMotorDatabase = Depends(get_database),
|
||||
) -> ParentRecordResponse:
|
||||
return await create_parent(database, owner_id, payload)
|
||||
|
||||
|
||||
@router.get("", response_model=list[ParentRecordResponse])
|
||||
async def list_parent_records(
|
||||
owner_id: str = Depends(get_current_owner_id),
|
||||
database: AsyncIOMotorDatabase = Depends(get_database),
|
||||
) -> list[ParentRecordResponse]:
|
||||
return await list_parents(database, owner_id)
|
||||
|
||||
|
||||
@router.get("/{parent_id}", response_model=ParentRecordResponse)
|
||||
async def get_parent_record(
|
||||
parent_id: str,
|
||||
owner_id: str = Depends(get_current_owner_id),
|
||||
database: AsyncIOMotorDatabase = Depends(get_database),
|
||||
) -> ParentRecordResponse:
|
||||
return await get_parent(database, owner_id, parent_id)
|
||||
|
||||
|
||||
@router.put("/{parent_id}", response_model=ParentRecordResponse)
|
||||
async def update_parent_record(
|
||||
parent_id: str,
|
||||
payload: ParentUpdateRequest,
|
||||
owner_id: str = Depends(get_current_owner_id),
|
||||
database: AsyncIOMotorDatabase = Depends(get_database),
|
||||
) -> ParentRecordResponse:
|
||||
return await update_parent(database, owner_id, parent_id, payload)
|
||||
|
||||
|
||||
@router.delete("/{parent_id}", status_code=204)
|
||||
async def delete_parent_record(
|
||||
parent_id: str,
|
||||
owner_id: str = Depends(get_current_owner_id),
|
||||
database: AsyncIOMotorDatabase = Depends(get_database),
|
||||
) -> None:
|
||||
await delete_parent(database, owner_id, parent_id)
|
||||
Loading…
Add table
Add a link
Reference in a new issue