from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from schemas.board import * from services import BoardService router = APIRouter(tags=["board"]) @router.get( "/{projectId}", response_model=GetBoardsResponse, operation_id="get_boards", ) async def get_boards( session: SessionDependency, project_id: int = Path(alias="projectId"), ): return await BoardService(session).get_all(project_id) @router.post( "/", response_model=CreateBoardResponse, operation_id="create_board", ) async def create_board( session: SessionDependency, request: CreateBoardRequest, ): return await BoardService(session).create(request) @router.patch( "/{pk}", response_model=UpdateBoardResponse, operation_id="update_board", ) async def update_board( session: SessionDependency, request: UpdateBoardRequest, pk: int = Path(), ): return await BoardService(session).update(pk, request) @router.delete( "/{pk}", response_model=DeleteBoardResponse, operation_id="delete_board", ) async def delete_board( session: SessionDependency, pk: int = Path(), ): return await BoardService(session).delete(pk)