Loading lib/galaxy/exceptions/__init__.py +5 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,11 @@ class UserCannotRunAsException(MessageException): err_code = error_codes_by_name["USER_CANNOT_RUN_AS"] class UserRequiredException(MessageException): status_code = 403 err_code = error_codes_by_name["USER_REQUIRED"] class AdminRequiredException(MessageException): status_code = 403 err_code = error_codes_by_name["ADMIN_REQUIRED"] Loading lib/galaxy/exceptions/error_codes.json +5 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,11 @@ "code": 403007, "message": "Action requires account activation." }, { "name": "USER_REQUIRED", "code": 403008, "message": "Action requires user authentication." }, { "name": "USER_OBJECT_NOT_FOUND", "code": 404001, Loading lib/galaxy/webapps/galaxy/api/__init__.py +14 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ from galaxy import ( from galaxy.exceptions import ( AdminRequiredException, UserCannotRunAsException, UserRequiredException, ) from galaxy.managers.session import GalaxySessionManager from galaxy.managers.users import UserManager Loading Loading @@ -183,6 +184,17 @@ def get_user( return api_user def get_required_user( galaxy_session=cast(Optional[model.GalaxySession], Depends(get_session)), api_user=cast(Optional[User], Depends(get_api_user)), ) -> User: if galaxy_session and (user := galaxy_session.user): return user if api_user: return api_user raise UserRequiredException class UrlBuilder: def __init__(self, request: Request): self.request = request Loading Loading @@ -310,7 +322,7 @@ class GalaxyASGIResponse(GalaxyAbstractResponse): ) DependsOnUser = cast(Optional[User], Depends(get_user)) DependsOnUser = cast(User, Depends(get_required_user)) def get_current_history_from_session(galaxy_session: Optional[model.GalaxySession]) -> Optional[model.History]: Loading Loading @@ -485,6 +497,7 @@ class FrameworkRouter(APIRouter): class Router(FrameworkRouter): admin_user_dependency = AdminUserRequired user_dependency = DependsOnUser class APIContentTypeRoute(APIRoute): Loading Loading
lib/galaxy/exceptions/__init__.py +5 −0 Original line number Diff line number Diff line Loading @@ -209,6 +209,11 @@ class UserCannotRunAsException(MessageException): err_code = error_codes_by_name["USER_CANNOT_RUN_AS"] class UserRequiredException(MessageException): status_code = 403 err_code = error_codes_by_name["USER_REQUIRED"] class AdminRequiredException(MessageException): status_code = 403 err_code = error_codes_by_name["ADMIN_REQUIRED"] Loading
lib/galaxy/exceptions/error_codes.json +5 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,11 @@ "code": 403007, "message": "Action requires account activation." }, { "name": "USER_REQUIRED", "code": 403008, "message": "Action requires user authentication." }, { "name": "USER_OBJECT_NOT_FOUND", "code": 404001, Loading
lib/galaxy/webapps/galaxy/api/__init__.py +14 −1 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ from galaxy import ( from galaxy.exceptions import ( AdminRequiredException, UserCannotRunAsException, UserRequiredException, ) from galaxy.managers.session import GalaxySessionManager from galaxy.managers.users import UserManager Loading Loading @@ -183,6 +184,17 @@ def get_user( return api_user def get_required_user( galaxy_session=cast(Optional[model.GalaxySession], Depends(get_session)), api_user=cast(Optional[User], Depends(get_api_user)), ) -> User: if galaxy_session and (user := galaxy_session.user): return user if api_user: return api_user raise UserRequiredException class UrlBuilder: def __init__(self, request: Request): self.request = request Loading Loading @@ -310,7 +322,7 @@ class GalaxyASGIResponse(GalaxyAbstractResponse): ) DependsOnUser = cast(Optional[User], Depends(get_user)) DependsOnUser = cast(User, Depends(get_required_user)) def get_current_history_from_session(galaxy_session: Optional[model.GalaxySession]) -> Optional[model.History]: Loading Loading @@ -485,6 +497,7 @@ class FrameworkRouter(APIRouter): class Router(FrameworkRouter): admin_user_dependency = AdminUserRequired user_dependency = DependsOnUser class APIContentTypeRoute(APIRoute): Loading