Files
Crm-Backend/routers/board.py

66 lines
1.5 KiB
Python

from fastapi import APIRouter, Path
from backend.dependecies import SessionDependency
from schemas.board import (
GetBoardsResponse,
UpdateBoardRequest,
UpdateBoardResponse,
CreateBoardResponse,
CreateBoardRequest,
DeleteBoardResponse,
)
from services import BoardService
board_router = APIRouter(
tags=["board"],
)
@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_boards(project_id)
@board_router.post(
"/",
response_model=CreateBoardResponse,
operation_id="create_board",
)
async def create_board(
session: SessionDependency,
request: CreateBoardRequest,
):
return await BoardService(session).create_board(request)
@board_router.patch(
"/{boardId}",
response_model=UpdateBoardResponse,
operation_id="update_board",
)
async def update_board(
session: SessionDependency,
request: UpdateBoardRequest,
board_id: int = Path(alias="boardId"),
):
return await BoardService(session).update_board(board_id, request)
@board_router.delete(
"/{boardId}",
response_model=DeleteBoardResponse,
operation_id="delete_board",
)
async def delete_board(
session: SessionDependency,
board_id: int = Path(alias="boardId"),
):
return await BoardService(session).delete_board(board_id)