Files
Crm-Backend/services/project.py

24 lines
873 B
Python

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