Skip to content

Commit eccf0c0

Browse files
authored
🎨 Reduce the number of acquisition/release of DB connection inside function repository (#7904)
1 parent 2c40792 commit eccf0c0

File tree

7 files changed

+470
-465
lines changed

7 files changed

+470
-465
lines changed

packages/models-library/src/models_library/functions.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,8 @@ class FunctionJobDB(BaseModel):
227227
class_specific_data: FunctionJobClassSpecificData
228228
function_class: FunctionClass
229229

230+
model_config = ConfigDict(from_attributes=True)
231+
230232

231233
class RegisteredFunctionJobDB(FunctionJobDB):
232234
uuid: FunctionJobID
@@ -242,6 +244,8 @@ class FunctionDB(BaseModel):
242244
default_inputs: FunctionInputs
243245
class_specific_data: FunctionClassSpecificData
244246

247+
model_config = ConfigDict(from_attributes=True)
248+
245249

246250
class RegisteredFunctionDB(FunctionDB):
247251
uuid: FunctionID
@@ -252,6 +256,8 @@ class FunctionJobCollectionDB(BaseModel):
252256
title: str = ""
253257
description: str = ""
254258

259+
model_config = ConfigDict(from_attributes=True)
260+
255261

256262
class RegisteredFunctionJobCollectionDB(FunctionJobCollectionDB):
257263
uuid: FunctionJobCollectionID

services/web/server/src/simcore_service_webserver/functions/_controller/_functions_rpc.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
FunctionJobCollectionReadAccessDeniedError,
2323
FunctionJobCollectionsReadApiAccessDeniedError,
2424
FunctionJobCollectionsWriteApiAccessDeniedError,
25+
FunctionJobCollectionWriteAccessDeniedError,
2526
FunctionJobIDNotFoundError,
2627
FunctionJobReadAccessDeniedError,
2728
FunctionJobsReadApiAccessDeniedError,
@@ -283,6 +284,7 @@ async def delete_function_job(
283284
reraise_if_error_type=(
284285
FunctionJobCollectionIDNotFoundError,
285286
FunctionJobCollectionReadAccessDeniedError,
287+
FunctionJobCollectionWriteAccessDeniedError,
286288
FunctionJobCollectionsWriteApiAccessDeniedError,
287289
)
288290
)
@@ -305,6 +307,7 @@ async def delete_function_job_collection(
305307
reraise_if_error_type=(
306308
FunctionIDNotFoundError,
307309
FunctionReadAccessDeniedError,
310+
FunctionWriteAccessDeniedError,
308311
)
309312
)
310313
async def update_function_title(
@@ -325,7 +328,11 @@ async def update_function_title(
325328

326329

327330
@router.expose(
328-
reraise_if_error_type=(FunctionIDNotFoundError, FunctionReadAccessDeniedError)
331+
reraise_if_error_type=(
332+
FunctionIDNotFoundError,
333+
FunctionReadAccessDeniedError,
334+
FunctionWriteAccessDeniedError,
335+
)
329336
)
330337
async def update_function_description(
331338
app: web.Application,

0 commit comments

Comments
 (0)