From 9beeb4f1ea6218a791a3713c7e52d92ab2361ea9 Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Wed, 17 Aug 2022 14:24:21 +0200 Subject: [PATCH] Fix whoami endpoint --- lib/galaxy/webapps/galaxy/api/configuration.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/galaxy/webapps/galaxy/api/configuration.py b/lib/galaxy/webapps/galaxy/api/configuration.py index 633bc837d0d..c0c3638d197 100644 --- a/lib/galaxy/webapps/galaxy/api/configuration.py +++ b/lib/galaxy/webapps/galaxy/api/configuration.py @@ -14,14 +14,17 @@ from fastapi import Path from galaxy.managers.configuration import ConfigurationManager from galaxy.managers.context import ProvidesUserContext -from galaxy.schema.fields import EncodedDatabaseIdField +from galaxy.schema.fields import ( + DecodedDatabaseIdField, + EncodedDatabaseIdField, +) from galaxy.schema.schema import UserModel -from . import ( +from galaxy.webapps.galaxy.api import ( depends, DependsOnTrans, Router, ) -from .common import ( +from galaxy.webapps.galaxy.api.common import ( parse_serialization_params, SerializationKeysQueryParam, SerializationViewQueryParam, @@ -50,7 +53,7 @@ class FastAPIConfiguration: ) def whoami(self, trans: ProvidesUserContext = DependsOnTrans) -> Optional[UserModel]: """Return information about the current authenticated user.""" - return _user_to_model(trans.user, trans.security) + return _user_to_model(trans.user) @router.get( "/api/configuration", @@ -119,8 +122,10 @@ class FastAPIConfiguration: self.configuration_manager.reload_toolbox() -def _user_to_model(user, security): - return UserModel(**user.to_dict(view="element", value_mapper={"id": security.encode_id})) if user else None +def _user_to_model(user): + if user: + return UserModel.construct(**user.to_dict(view="element", value_mapper={"id": DecodedDatabaseIdField.encode})) + return None def _index(manager: ConfigurationManager, trans, view, keys):