magpie.api.management.group.group_utils

Module Contents

Functions

get_all_group_names(db_session: Session) → List[Str]

Get all existing group names from the database.

get_group_resources(group: models.Group, db_session: Session) → JSON

Get formatted JSON body describing all service resources the group as permissions on.

create_group(group_name: Str, description: Str, discoverable: bool, db_session: Session) → HTTPException

Creates a group if it is permitted and not conflicting.

create_group_resource_permission_response(group: models.Group, resource: ServiceOrResourceType, permission: Permission, db_session: Session) → HTTPException

Creates a permission on a group/resource combination if it is permitted and not conflicting.

get_group_resources_permissions_dict(group: models.Group, db_session: Session, resource_ids: Optional[Iterable[int]] = None, resource_types: Optional[Iterable[Str]] = None) → JSON

Get a dictionary of resources and corresponding permissions that a group has on the resources.

get_group_resource_permissions_response(group: models.Group, resource: models.Resource, db_session: Session) → HTTPException

Get validated response with group resource permissions as content.

delete_group_resource_permission_response(group: models.Group, resource: ServiceOrResourceType, permission: Permission, db_session: Session) → HTTPException

Get validated response on deleted group resource permission.

get_group_services(resources_permissions_dict: JSON, db_session: Session) → JSON

Nest and regroup the resource permissions under corresponding root service types.

get_group_services_response(group: models.Group, db_session: Session) → HTTPException

Get validated response of services the group has permissions on.

get_group_service_permissions(group: models.Group, service: models.Service, db_session: Session) → List[Permission]

Get all permissions the group has on a specific service.

get_group_service_permissions_response(group: models.Group, service: models.Service, db_session: Session) → HTTPException

Get validated response of found group service permissions.

get_group_service_resources_permissions_dict(group: models.Group, service: models.Service, db_session: Session) → ResourcePermissionMap

Get all permissions the group has on a specific service’s children resources.

get_group_service_resources_response(group: models.Group, service: models.Service, db_session: Session) → HTTPException

Get validated response of all found service resources which the group has permissions on.

magpie.api.management.group.group_utils.get_all_group_names(db_session: Session) → List[Str][source]

Get all existing group names from the database.

magpie.api.management.group.group_utils.get_group_resources(group: models.Group, db_session: Session) → JSON[source]

Get formatted JSON body describing all service resources the group as permissions on.

magpie.api.management.group.group_utils.create_group(group_name: Str, description: Str, discoverable: bool, db_session: Session) → HTTPException[source]

Creates a group if it is permitted and not conflicting.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.create_group_resource_permission_response(group: models.Group, resource: ServiceOrResourceType, permission: Permission, db_session: Session) → HTTPException[source]

Creates a permission on a group/resource combination if it is permitted and not conflicting.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.get_group_resources_permissions_dict(group: models.Group, db_session: Session, resource_ids: Optional[Iterable[int]] = None, resource_types: Optional[Iterable[Str]] = None) → JSON[source]

Get a dictionary of resources and corresponding permissions that a group has on the resources.

Filter search by resource_ids and/or resource_types if specified.

magpie.api.management.group.group_utils.get_group_resource_permissions_response(group: models.Group, resource: models.Resource, db_session: Session) → HTTPException[source]

Get validated response with group resource permissions as content.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.delete_group_resource_permission_response(group: models.Group, resource: ServiceOrResourceType, permission: Permission, db_session: Session) → HTTPException[source]

Get validated response on deleted group resource permission.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.get_group_services(resources_permissions_dict: JSON, db_session: Session) → JSON[source]

Nest and regroup the resource permissions under corresponding root service types.

magpie.api.management.group.group_utils.get_group_services_response(group: models.Group, db_session: Session) → HTTPException[source]

Get validated response of services the group has permissions on.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.get_group_service_permissions(group: models.Group, service: models.Service, db_session: Session) → List[Permission][source]

Get all permissions the group has on a specific service.

magpie.api.management.group.group_utils.get_group_service_permissions_response(group: models.Group, service: models.Service, db_session: Session) → HTTPException[source]

Get validated response of found group service permissions.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.

magpie.api.management.group.group_utils.get_group_service_resources_permissions_dict(group: models.Group, service: models.Service, db_session: Session) → ResourcePermissionMap[source]

Get all permissions the group has on a specific service’s children resources.

magpie.api.management.group.group_utils.get_group_service_resources_response(group: models.Group, service: models.Service, db_session: Session) → HTTPException[source]

Get validated response of all found service resources which the group has permissions on.

Returns

valid HTTP response on successful operations.

Raises

HTTPException – error HTTP response of corresponding situation.