|
15 | 15 | from lib.core.service_types import FolderListResponse |
16 | 16 | from lib.core.service_types import FolderResponse |
17 | 17 | from lib.core.service_types import IntegrationListResponse |
| 18 | +from lib.core.service_types import ListCategoryResponse |
18 | 19 | from lib.core.service_types import ProjectListResponse |
19 | 20 | from lib.core.service_types import ProjectResponse |
20 | 21 | from lib.core.service_types import ServiceResponse |
@@ -87,6 +88,16 @@ def list_workflow_statuses(self, project_id: int, workflow_id: int): |
87 | 88 | def list_workflow_roles(self, project_id: int, workflow_id: int): |
88 | 89 | raise NotImplementedError |
89 | 90 |
|
| 91 | + @abstractmethod |
| 92 | + def list_project_categories(self, project_id: int) -> ListCategoryResponse: |
| 93 | + raise NotImplementedError |
| 94 | + |
| 95 | + @abstractmethod |
| 96 | + def create_project_categories( |
| 97 | + self, project_id: int, categories: List[str] |
| 98 | + ) -> ServiceResponse: |
| 99 | + raise NotImplementedError |
| 100 | + |
90 | 101 |
|
91 | 102 | class BaseProjectService(SuperannotateServiceProvider): |
92 | 103 | @abstractmethod |
@@ -350,6 +361,12 @@ def delete_multiple( |
350 | 361 | ) -> ServiceResponse: |
351 | 362 | raise NotImplementedError |
352 | 363 |
|
| 364 | + @abstractmethod |
| 365 | + def bulk_attach_categories( |
| 366 | + self, project_id: int, folder_id: int, item_category_map: Dict[int, int] |
| 367 | + ) -> bool: |
| 368 | + raise NotImplementedError |
| 369 | + |
353 | 370 |
|
354 | 371 | class BaseAnnotationService(SuperannotateServiceProvider): |
355 | 372 | @abstractmethod |
|
0 commit comments