@@ -295,8 +295,15 @@ async def _get_secrets(
295295 secrets = await self .data_connector_secret_repo .get_data_connector_secrets (
296296 user = user , data_connector_id = data_connector_id
297297 )
298+ data_connector = await self .data_connector_repo .get_data_connector (
299+ user = user , data_connector_id = data_connector_id
300+ )
298301 return validated_json (
299- apispec .DataConnectorSecretsList , [self ._dump_data_connector_secret (secret ) for secret in secrets ]
302+ apispec .DataConnectorSecretsList ,
303+ [
304+ self ._dump_data_connector_secret (secret )
305+ for secret in self ._adjust_secrets (secrets , data_connector .storage )
306+ ],
300307 )
301308
302309 return "/data_connectors/<data_connector_id:ulid>/secrets" , ["GET" ], _get_secrets
@@ -342,7 +349,7 @@ async def openbis_transform_session_token_to_pat() -> (
342349 storage .configuration ["host" ], unsaved_secrets [0 ].value
343350 )
344351 return (
345- [models .DataConnectorSecretUpdate (name = "session_token " , value = openbis_pat [0 ])],
352+ [models .DataConnectorSecretUpdate (name = "pass " , value = openbis_pat [0 ])],
346353 openbis_pat [1 ],
347354 )
348355 except Exception as e :
@@ -363,7 +370,8 @@ async def openbis_transform_session_token_to_pat() -> (
363370 expiration_timestamp = expiration_timestamp ,
364371 )
365372 return validated_json (
366- apispec .DataConnectorSecretsList , [self ._dump_data_connector_secret (secret ) for secret in secrets ]
373+ apispec .DataConnectorSecretsList ,
374+ [self ._dump_data_connector_secret (secret ) for secret in self ._adjust_secrets (secrets , storage )],
367375 )
368376
369377 return "/data_connectors/<data_connector_id:ulid>/secrets" , ["PATCH" ], _patch_secrets
@@ -415,6 +423,22 @@ def _dump_data_connector_to_project_link(link: models.DataConnectorToProjectLink
415423 created_by = link .created_by ,
416424 )
417425
426+ @staticmethod
427+ def _adjust_secrets (
428+ secrets : list [models .DataConnectorSecret ], storage : models .CloudStorageCore
429+ ) -> list [models .DataConnectorSecret ]:
430+ if storage .storage_type == "openbis" :
431+ for i , secret in enumerate (secrets ):
432+ if secret .name == "pass" :
433+ secrets [i ] = models .DataConnectorSecret (
434+ name = "session_token" ,
435+ user_id = secret .user_id ,
436+ data_connector_id = secret .data_connector_id ,
437+ secret_id = secret .secret_id ,
438+ )
439+ break
440+ return secrets
441+
418442 @staticmethod
419443 def _dump_data_connector_secret (secret : models .DataConnectorSecret ) -> dict [str , Any ]:
420444 """Dumps a data connector secret for API responses."""
0 commit comments