24 lines
873 B
Python
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
|