"""Get User resources for admin.""" from marshmallow import fields from marshmallow.validate import OneOf from permissions.constants import constants from permissions.validations import ma class GetUserResourcesForAdminSchema(ma.Schema): """Schema for parameters to get admin-able user resources for admin. Properties: - identity_id (str): Identity Id of user being administrated - resource_type (str): Type of resource being fetched. Whitelisted resourceTypes only. - limit (int): Limit number of records. - offset (int): Offset result set. - active (bool): Optional. Users active state. Default True. - pending (bool): Optional. Users pending state. Default False. """ identity_id = fields.Str(required=True) resource_type = fields.Str( validate=OneOf(constants.SETTINGS_SUPPORT_MAPPING['resourceTypes']), required=True ) limit = fields.List(fields.Int(), required=False) offset = fields.List(fields.Int(), required=False) active = fields.List(fields.Bool(), required=False) pending = fields.List(fields.Bool(), required=False)