refactor: repository delete mixin

This commit is contained in:
2025-09-04 20:53:44 +04:00
parent fbab70d6c1
commit c632fb8037
5 changed files with 33 additions and 46 deletions

View File

@ -1,4 +1,3 @@
from datetime import datetime, timezone
from typing import Optional
from sqlalchemy import select
@ -6,10 +5,11 @@ from sqlalchemy.orm import selectinload
from models import Board
from repositories.base import BaseRepository
from repositories.mixins import RepDeleteMixin
from schemas.board import UpdateBoardSchema, CreateBoardSchema
class BoardRepository(BaseRepository):
class BoardRepository(BaseRepository, RepDeleteMixin[Board]):
async def get_all(self, project_id: int) -> list[Board]:
stmt = (
select(Board)
@ -43,13 +43,3 @@ class BoardRepository(BaseRepository):
await self.session.commit()
await self.session.refresh(board)
return board
async def delete(self, board: Board, is_soft: bool):
if not is_soft:
await self.session.delete(board)
await self.session.commit()
return
board.is_deleted = True
self.session.add(board)
await self.session.commit()