new features
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user