feat: board deletion endpoint

This commit is contained in:
2025-08-07 10:12:54 +04:00
parent 734099165b
commit 2fed828768
4 changed files with 43 additions and 1 deletions

View File

@ -9,6 +9,7 @@ from schemas.board import (
UpdateBoardResponse,
CreateBoardRequest,
CreateBoardResponse,
DeleteBoardResponse,
)
@ -38,3 +39,12 @@ class BoardService:
await self.repository.update(board, request.board)
return UpdateBoardResponse(message="Доска успешно обновлена")
async def delete_board(self, board_id: int) -> DeleteBoardResponse:
board = await self.repository.get_by_id(board_id)
if not board:
raise HTTPException(status_code=404, detail="Доска не найдена")
is_soft_needed: bool = len(board.deals) > 0
await self.repository.delete(board, is_soft_needed)
return DeleteBoardResponse(message="Доска успешно удалена")