from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from schemas.status import * from services import StatusService router = APIRouter(tags=["status"]) @router.get( "/{boardId}", response_model=GetStatusesResponse, operation_id="get_statuses", ) async def get_statuses( session: SessionDependency, board_id: int = Path(alias="boardId"), ): return await StatusService(session).get_all(board_id) @router.post( "/", response_model=CreateStatusResponse, operation_id="create_status", ) async def create_status( session: SessionDependency, request: CreateStatusRequest, ): return await StatusService(session).create(request) @router.patch( "/{pk}", response_model=UpdateStatusResponse, operation_id="update_status", ) async def update_status( session: SessionDependency, request: UpdateStatusRequest, pk: int = Path(), ): return await StatusService(session).update(pk, request) @router.delete( "/{pk}", response_model=DeleteStatusResponse, operation_id="delete_status", ) async def delete_status( session: SessionDependency, pk: int = Path(), ): return await StatusService(session).delete(pk) @router.get( "/history/{dealId}", response_model=GetStatusHistoryResponse, operation_id="get_status_history", ) async def get_status_history( session: SessionDependency, deal_id: int = Path(alias="dealId"), ): return await StatusService(session).get_status_history(deal_id)