Files
Crm-Backend/routers/board.py

59 lines
1.2 KiB
Python

from fastapi import APIRouter, Path
from backend.dependecies import SessionDependency
from schemas.board import *
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(
"/{pk}",
response_model=UpdateBoardResponse,
operation_id="update_board",
)
async def update_board(
session: SessionDependency,
request: UpdateBoardRequest,
pk: int = Path(),
):
return await BoardService(session).update_board(pk, request)
@board_router.delete(
"/{pk}",
response_model=DeleteBoardResponse,
operation_id="delete_board",
)
async def delete_board(
session: SessionDependency,
pk: int = Path(),
):
return await BoardService(session).delete_board(pk)