Warning
This document is for an in-development version of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.
Source code for galaxy.webapps.galaxy.api.group_users
"""
API operations on Group objects.
"""
import logging
from galaxy.managers.context import ProvidesAppContext
from galaxy.managers.group_users import GroupUsersManager
from galaxy.schema.fields import EncodedDatabaseIdField
from galaxy.web import (
expose_api,
require_admin,
)
from . import BaseGalaxyAPIController, depends
log = logging.getLogger(__name__)
[docs]class GroupUsersAPIController(BaseGalaxyAPIController):
manager = depends(GroupUsersManager)
[docs] @require_admin
@expose_api
def index(self, trans: ProvidesAppContext, group_id: EncodedDatabaseIdField, **kwd):
"""
GET /api/groups/{encoded_group_id}/users
Displays a collection (list) of groups.
"""
return self.manager.index(trans, group_id)
[docs] @require_admin
@expose_api
def show(self, trans: ProvidesAppContext, id: EncodedDatabaseIdField, group_id: EncodedDatabaseIdField, **kwd):
"""
GET /api/groups/{encoded_group_id}/users/{encoded_user_id}
Displays information about a group user.
"""
return self.manager.show(trans, id, group_id)
[docs] @require_admin
@expose_api
def update(self, trans: ProvidesAppContext, id: EncodedDatabaseIdField, group_id: EncodedDatabaseIdField, **kwd):
"""
PUT /api/groups/{encoded_group_id}/users/{encoded_user_id}
Adds a user to a group
"""
return self.manager.update(trans, id, group_id)
[docs] @require_admin
@expose_api
def delete(self, trans: ProvidesAppContext, id: EncodedDatabaseIdField, group_id: EncodedDatabaseIdField, **kwd):
"""
DELETE /api/groups/{encoded_group_id}/users/{encoded_user_id}
Removes a user from a group
"""
return self.manager.delete(trans, id, group_id)