new features

This commit is contained in:
Daniil
2026-02-27 23:33:56 +03:00
parent 937e58859a
commit dc04efe0fb
41 changed files with 2067 additions and 141 deletions
+14 -3
View File
@@ -16,14 +16,25 @@ class ProjectService:
def __init__(self, session: AsyncSession) -> None:
self._repo = ProjectRepository(session)
async def list_projects(self, *, requester: User) -> list[Project]:
return await self._repo.list_all(requester=requester)
async def list_projects(
self,
*,
requester: User,
search: str | None = None,
status: str | None = None,
) -> list[Project]:
return await self._repo.list_all(
requester=requester, search=search, status=status,
)
async def get_project(self, project_id: uuid.UUID) -> Project | None:
return await self._repo.get_by_id(project_id)
async def create_project(self, *, requester: User, data: ProjectCreate) -> Project:
return await self._repo.create(requester=requester, data=data)
folder = f"/{requester.username}/{data.name}"
return await self._repo.create(
requester=requester, data=data, folder=folder, status="DRAFT",
)
async def update_project(self, project: Project, data: ProjectUpdate) -> Project:
return await self._repo.update(project, data)