first commit

This commit is contained in:
Anurag Jangid 2026-10-08 02:41:41 +05:30
commit d416fe4cce
69 changed files with 8269 additions and 0 deletions

View 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)