from models import Project from repositories import ProjectRepository from schemas.project import * from services.mixins import * class ProjectService( ServiceGetAllMixin[Project, ProjectSchema], ServiceCreateMixin[Project, CreateProjectRequest, ProjectSchema], ServiceUpdateMixin[Project, UpdateProjectRequest], ServiceDeleteMixin[Project], ): schema_class = ProjectSchema entity_not_found_msg = "Проект не найден" entity_deleted_msg = "Проект успешно удален" entity_updated_msg = "Проект успешно обновлен" entity_created_msg = "Проект успешно создан" def __init__(self, session: AsyncSession): self.repository = ProjectRepository(session) async def is_soft_delete(self, project: ProjectSchema) -> bool: return len(project.boards) > 0