magpie.api.management.group.group_views ======================================= .. py:module:: magpie.api.management.group.group_views Classes ------- .. autoapisummary:: magpie.api.management.group.group_views.TemporaryToken magpie.api.management.group.group_views.TokenOperation magpie.api.management.group.group_views.UserGroupStatus Functions --------- .. autoapisummary:: magpie.api.management.group.group_views.get_constant magpie.api.management.group.group_views.get_groups_view magpie.api.management.group.group_views.create_group_view magpie.api.management.group.group_views.get_group_view magpie.api.management.group.group_views.edit_group_view magpie.api.management.group.group_views.delete_group_view magpie.api.management.group.group_views.get_group_users_view magpie.api.management.group.group_views.get_group_services_view magpie.api.management.group.group_views.get_group_service_permissions_view magpie.api.management.group.group_views.create_group_service_permission_view magpie.api.management.group.group_views.replace_group_service_permissions_view magpie.api.management.group.group_views.delete_group_service_permission_view magpie.api.management.group.group_views.delete_group_service_permission_name_view magpie.api.management.group.group_views.get_group_resources_view magpie.api.management.group.group_views.get_group_resource_permissions_view magpie.api.management.group.group_views.create_group_resource_permissions_view magpie.api.management.group.group_views.replace_group_resource_permissions_view magpie.api.management.group.group_views.delete_group_resource_permissions_view magpie.api.management.group.group_views.delete_group_resource_permission_name_view magpie.api.management.group.group_views.get_group_service_resources_view Module Contents --------------- .. py:function:: get_constant(constant_name: magpie.typedefs.Str, settings_container: Optional[magpie.typedefs.AnySettingsContainer] = None, settings_name: Optional[magpie.typedefs.Str] = None, default_value: Optional[magpie.typedefs.SettingValue] = None, raise_not_set: bool = True, raise_missing: bool = True, print_missing: bool = False, empty_missing: bool = False) -> magpie.typedefs.SettingValue Search in order for matched value of :paramref:`constant_name`: 1. search in :py:data:`MAGPIE_CONSTANTS` 2. search in settings if specified 3. search alternative setting names (see below) 4. search in :mod:`magpie.constants` definitions 5. search in environment variables Parameter :paramref:`constant_name` is expected to have the format ``MAGPIE_[VARIABLE_NAME]`` although any value can be passed to retrieve generic settings from all above-mentioned search locations. If :paramref:`settings_name` is provided as alternative name, it is used as is to search for results if :paramref:`constant_name` was not found. Otherwise, ``magpie.[variable_name]`` is used for additional search when the format ``MAGPIE_[VARIABLE_NAME]`` was used for :paramref:`constant_name` (i.e.: ``MAGPIE_ADMIN_USER`` will also search for ``magpie.admin_user`` and so on for corresponding constants). :param constant_name: key to search for a value :param settings_container: WSGI application settings container (if not provided, uses found one in current thread) :param settings_name: alternative name for `settings` if specified :param default_value: default value to be returned if not found anywhere, and exception raises are disabled. :param raise_not_set: raise an exception if the found key is ``None``, search until last case if others are ``None`` :param raise_missing: raise exception if key is not found anywhere :param print_missing: print message if key is not found anywhere, return ``None`` :param empty_missing: consider an empty value for an existing key as if it was missing (i.e.: as if not set). :returns: found value or `default_value` :raises ValueError: if resulting value is invalid based on options (by default raise missing/empty/``None`` value) :raises LookupError: if no appropriate value could be found from all search locations (according to options) .. py:class:: TemporaryToken(*_, **__) Bases: :py:obj:`ziggurat_foundations.models.base.BaseModel`, :py:obj:`Base` Model that defines a token for temporary URL completion of a given pending operation. .. py:attribute:: __tablename__ :value: 'tmp_tokens' .. py:attribute:: token .. py:attribute:: operation .. py:attribute:: created .. py:attribute:: user_id .. py:attribute:: _user .. py:attribute:: user_pending_id .. py:attribute:: _pending_user .. py:attribute:: group_id .. py:attribute:: group .. py:method:: user() -> AnyUser .. py:method:: url(settings: magpie.typedefs.AnySettingsContainer = None) -> magpie.typedefs.Str .. py:method:: expired() -> bool .. py:method:: by_token(token: Union[magpie.typedefs.Str, sqlalchemy.dialects.postgresql.UUID], db_session: Optional[sqlalchemy.orm.session.Session] = None) -> Optional[TemporaryToken] :staticmethod: .. py:method:: by_user(user: AnyUser, db_session: Optional[sqlalchemy.orm.session.Session] = None) -> Optional[sqlalchemy.orm.query.Query] :staticmethod: .. py:method:: json() -> magpie.typedefs.JSON .. py:class:: TokenOperation Bases: :py:obj:`magpie.utils.ExtendedEnum` Supported operations by the temporary tokens. .. py:attribute:: GROUP_ACCEPT_TERMS :value: 'group-accept-terms' Temporary token associated to an URL endpoint called by a user that accepts the terms and conditions (T&C) to join a particular group. .. py:attribute:: USER_PASSWORD_RESET :value: 'user-password-reset' Temporary token associated to an URL endpoint to request a user password reset. .. py:attribute:: USER_REGISTRATION_CONFIRM_EMAIL :value: 'user-registration-confirm-email' Temporary token associated to a pending user registration that requires email validation by visiting the link. .. py:attribute:: USER_REGISTRATION_ADMIN_APPROVE :value: 'user-registration-admin-approve' Temporary token associated to a pending user registration that will be approved by an administrator when visited. .. py:attribute:: USER_REGISTRATION_ADMIN_DECLINE :value: 'user-registration-admin-decline' Temporary token associated to a pending user registration that will be declined by an administrator when visited. .. py:attribute:: WEBHOOK_USER_STATUS_ERROR :value: 'webhook-user-status-error' Temporary token employed to provide a callback URL that a registered webhook can call following the triggered event to indicate that the corresponding operation resulted into an invalid user status. .. py:class:: UserGroupStatus Bases: :py:obj:`magpie.utils.FlexibleNameEnum` Supported statuses of user-group relationships. .. py:attribute:: ALL :value: 'all' .. py:attribute:: ACTIVE :value: 'active' .. py:attribute:: PENDING :value: 'pending' .. py:method:: allowed() -> List[magpie.typedefs.Str] :classmethod: Returns all supported representation values that can be mapped to a valid status. .. py:function:: get_groups_view(request) Get list of group names. .. py:function:: create_group_view(request) Create a group. .. py:function:: get_group_view(request) Get group information. .. py:function:: edit_group_view(request) Update a group by name. .. py:function:: delete_group_view(request) Delete a group by name. .. py:function:: get_group_users_view(request) List all users from a group. Users can be filtered by status depending of input arguments. .. py:function:: get_group_services_view(request) List all services a group has permission on. .. py:function:: get_group_service_permissions_view(request) List all permissions a group has on a specific service. .. py:function:: create_group_service_permission_view(request) Create a permission on a specific resource for a group. .. py:function:: replace_group_service_permissions_view(request) Create or modify an existing permission on a service for a group. Can be used to adjust permission modifiers. .. py:function:: delete_group_service_permission_view(request) Delete a permission from a specific resource for a group. .. py:function:: delete_group_service_permission_name_view(request) Delete a permission by name from a specific service for a group. .. py:function:: get_group_resources_view(request) List all resources a group has permission on. .. py:function:: get_group_resource_permissions_view(request) List all permissions a group has on a specific resource. .. py:function:: create_group_resource_permissions_view(request) Create a permission on a specific resource for a group. .. py:function:: replace_group_resource_permissions_view(request) Create or modify an existing permission on a resource for a group. Can be used to adjust permission modifiers. .. py:function:: delete_group_resource_permissions_view(request) Delete a permission from a specific resource for a group. .. py:function:: delete_group_resource_permission_name_view(request) Delete a permission by name from a specific resource for a group. .. py:function:: get_group_service_resources_view(request) List all resources under a service a group has permission on.