1111
1212class CreateCustomSchemaUseCase (BaseReportableUseCase ):
1313 def __init__ (
14- self ,
15- reporter : Reporter ,
16- project : ProjectEntity ,
17- schema : dict ,
18- backend_client : SuperannotateServiceProvider ,
14+ self ,
15+ reporter : Reporter ,
16+ project : ProjectEntity ,
17+ schema : dict ,
18+ backend_client : SuperannotateServiceProvider ,
1919 ):
2020 super ().__init__ (reporter )
2121 self ._project = project
@@ -43,10 +43,10 @@ def execute(self) -> Response:
4343
4444class GetCustomSchemaUseCase (BaseReportableUseCase ):
4545 def __init__ (
46- self ,
47- reporter : Reporter ,
48- project : ProjectEntity ,
49- backend_client : SuperannotateServiceProvider ,
46+ self ,
47+ reporter : Reporter ,
48+ project : ProjectEntity ,
49+ backend_client : SuperannotateServiceProvider ,
5050 ):
5151 super ().__init__ (reporter )
5252 self ._project = project
@@ -66,25 +66,35 @@ def execute(self) -> Response:
6666
6767class DeleteCustomSchemaUseCase (BaseReportableUseCase ):
6868 def __init__ (
69- self ,
70- reporter : Reporter ,
71- project : ProjectEntity ,
72- fields : List [str ],
73- backend_client : SuperannotateServiceProvider ,
69+ self ,
70+ reporter : Reporter ,
71+ project : ProjectEntity ,
72+ fields : List [str ],
73+ backend_client : SuperannotateServiceProvider ,
7474 ):
7575 super ().__init__ (reporter )
7676 self ._project = project
7777 self ._fields = fields
7878 self ._backend_client = backend_client
7979
8080 def execute (self ) -> Response :
81+ if self ._fields :
82+ self .reporter .log_info ("Matched fields deleted from schema." )
8183 response = self ._backend_client .delete_custom_schema (
8284 team_id = self ._project .team_id ,
8385 project_id = self ._project .id ,
8486 fields = self ._fields ,
8587 )
8688 if response .ok :
87- self ._response .data = response .data
89+ use_case_response = GetCustomSchemaUseCase (
90+ reporter = self .reporter ,
91+ project = self ._project ,
92+ backend_client = self ._backend_client ,
93+ ).execute ()
94+ if use_case_response .errors :
95+ self ._response .errors = use_case_response .errors
96+ else :
97+ self ._response .data = use_case_response .data
8898 else :
8999 self ._response .errors = response .error
90100 return self ._response
@@ -94,12 +104,12 @@ class UploadCustomValuesUseCase(BaseReportableUseCase):
94104 CHUNK_SIZE = 5000
95105
96106 def __init__ (
97- self ,
98- reporter : Reporter ,
99- project : ProjectEntity ,
100- folder : FolderEntity ,
101- items : List [Dict [str , str ]],
102- backend_client : SuperannotateServiceProvider ,
107+ self ,
108+ reporter : Reporter ,
109+ project : ProjectEntity ,
110+ folder : FolderEntity ,
111+ items : List [Dict [str , str ]],
112+ backend_client : SuperannotateServiceProvider ,
103113 ):
104114 super ().__init__ (reporter )
105115 self ._project = project
@@ -119,7 +129,7 @@ def execute(self) -> Response:
119129 project_id = self ._project .id ,
120130 team_id = self ._project .team_id ,
121131 folder_id = self ._folder .uuid ,
122- items = self ._items [idx : idx + self .CHUNK_SIZE ], # noqa: E203
132+ items = self ._items [idx : idx + self .CHUNK_SIZE ], # noqa: E203
123133 )
124134 if not response .ok :
125135 self ._response .errors = response .error
@@ -132,7 +142,7 @@ def execute(self) -> Response:
132142 the schema of the custom fields defined for the "{ self ._project .name } " project."""
133143 )
134144 self ._response .data = {
135- "succeeded" : {list (item )[0 ] for item in self ._items } ^ set (failed_items ),
145+ "succeeded" : list ( {list (item )[0 ] for item in self ._items } ^ set (failed_items ) ),
136146 "failed" : failed_items ,
137147 }
138148 return self ._response
@@ -142,12 +152,12 @@ class DeleteCustomValuesUseCase(BaseReportableUseCase):
142152 CHUNK_SIZE = 5000
143153
144154 def __init__ (
145- self ,
146- reporter : Reporter ,
147- project : ProjectEntity ,
148- folder : FolderEntity ,
149- items : List [Dict [str , List [str ]]],
150- backend_client : SuperannotateServiceProvider ,
155+ self ,
156+ reporter : Reporter ,
157+ project : ProjectEntity ,
158+ folder : FolderEntity ,
159+ items : List [Dict [str , List [str ]]],
160+ backend_client : SuperannotateServiceProvider ,
151161 ):
152162 super ().__init__ (reporter )
153163 self ._project = project
@@ -161,7 +171,7 @@ def execute(self) -> Response:
161171 project_id = self ._project .id ,
162172 team_id = self ._project .team_id ,
163173 folder_id = self ._folder .uuid ,
164- items = self ._items [idx : idx + self .CHUNK_SIZE ], # noqa: E203
174+ items = self ._items [idx : idx + self .CHUNK_SIZE ], # noqa: E203
165175 )
166176 if not response .ok :
167177 self ._response .errors = response .error
0 commit comments