feat: delete & archive projects

This commit is contained in:
ivannoskov
2026-01-07 17:32:20 +03:00
parent 89f4d6bf69
commit 30791d7f76
9 changed files with 128 additions and 8 deletions

View File

@@ -28,6 +28,8 @@ from .creative.update_creative import update_creative
from .placement.fetch_placement_post_cycle import fetch_placement_post_cycle
from .placement.get_placement import get_placement
from .placement.get_placements import get_placements
from .project.archive_project import archive_project
from .project.delete_project import delete_project
from .project.disconnect_project_by_tg_id import disconnect_project_by_tg_id
from .project.get_project import get_project
from .project.get_workspace_projects import get_workspace_projects
@@ -158,9 +160,13 @@ class Database(typing.Protocol):
async def update_project(self, project: domain.Project) -> None: ...
async def get_workspace_projects(
self, workspace_id: UUID, allowed_project_ids: set[UUID] | None = None
self, workspace_id: UUID, allowed_project_ids: set[UUID] | None = None, include_archived: bool = False
) -> list[domain.Project]: ...
async def archive_project(self, workspace_id: UUID, project_id: UUID) -> None: ...
async def delete_project(self, workspace_id: UUID, project_id: UUID) -> None: ...
async def get_active_purchase(self, project_id: UUID, creative_id: UUID) -> domain.Purchase | None: ...
async def get_purchase(self, workspace_id: UUID, purchase_id: UUID) -> domain.Purchase | None: ...
@@ -415,6 +421,8 @@ class Usecase:
tg_add_project = tg_add_project
get_workspace_projects = get_workspace_projects
get_project = get_project
archive_project = archive_project
delete_project = delete_project
disconnect_project_by_tg_id = disconnect_project_by_tg_id
update_project_permissions = update_project_permissions
update_project_invite_link_type = update_project_invite_link_type