Esempio n. 1
0
 def test_inherited_filters(self):
     self.assertEqual(
         {
             'string': {
                 'eq': filters.EqualFilter
             },
             'email': {
                 None: filters.EqualFilter,
                 'eq': filters.EqualFilter,
                 'ne': filters.NotEqualFilter,
                 'in': filters.InFilter,
                 'contains': filters.StringContainsFilter,
                 'icontains': filters.StringIContainsFilter,
                 'endswith': filters.EndsWithFilter,
                 'iendswith': filters.IEndsWithFilter,
                 'startswith': filters.StartsWithFilter,
                 'istartswith': filters.IStartsWithFilter,
             },
             'uri': {
                 'eq': filters.EqualFilter,
                 'ne': filters.NotEqualFilter,
                 'endswith': filters.EndsWithFilter,
             },
             'date_string': {
                 None: filters.EqualFilter,
                 'eq': filters.EqualFilter,
                 'ne': filters.NotEqualFilter,
                 'in': filters.InFilter,
                 'lt': filters.LessThanFilter,
                 'lte': filters.LessThanEqualFilter,
                 'gt': filters.GreaterThanFilter,
                 'gte': filters.GreaterThanEqualFilter,
                 'between': filters.DateBetweenFilter,
             },
         },
         filters_for_fields(
             {
                 'string': fields.String(),
                 # inherit from String
                 'email': fields.Email(),
                 'uri': fields.Uri(),
                 # no filter defined for Raw
                 'raw': fields.Raw({}),
                 # inherits from String, but there is a filter for DateString
                 'date_string': fields.DateString(),
             },
             filter_names=FILTER_NAMES,
             filters_by_type=FILTERS_BY_TYPE,
             filters_expression={
                 'string': ['eq'],
                 'email': True,
                 'uri': ['eq', 'ne', 'endswith'],
                 '*': True,
             },
         ),
     )
Esempio n. 2
0
    class Schema:
        network = fields.ToOne('networks')
        gateway = fields.ToOne('gateways')

        email = fields.Email()
        password = fields.String(min_length=6, max_length=20)
Esempio n. 3
0
        'applyToUnregistered':
        fields.Boolean(
            io='r',
            description=
            'Indicates whether or not this role only applies to registered users. If '
            'set to `false` it only applies to registered users. If set to `true`, it '
            'applies to unregistered/anonymous users as well as long as public access '
            'is enabled.',
        ),
    }),
    converter=None,
    formatter=lambda user_role: default_role_as_dictionary(user_role, True),
)

USERNAME_SCHEMA = fields.Email(
    description='The e-mail address/username that the user uses to sign-in.',
    pattern=EMAIL_PATTERN,
)

_USER_FIELDS = {
    'username':
    USERNAME_SCHEMA,
    'firstName':
    fields.String(description='The user\'s first name.',
                  attribute='first_name'),
    'lastName':
    fields.String(description='The user\'s last name.', attribute='last_name'),
    'roles':
    fields.List(USER_ROLES_SCHEMA,
                description='The individual roles that this user possesses.'),
}
_CONCISE_USER_FIELDS = dict(_USER_FIELDS)
Esempio n. 4
0
    'of this dashboard. If it is not specified during creation, it will be '
    'inferred from the title embedded in the dashboard specification.',
    pattern=DASHBOARD_SLUG_PATTERN,
    nullable=True,
)

TITLE_SCHEMA = fields.Custom(
    fields.String(), attribute='specification', formatter=get_dashboard_title, io='r'
)

DESCRIPTION_SCHEMA = fields.String(
    description='A short description of the dashboard.', nullable=True
)

AUTHOR_USERNAME_SCHEMA = fields.Custom(
    fields.Email(pattern=EMAIL_PATTERN, nullable=True),
    description='The author\'s username. If not visible to the user, this will be null.',
    attribute='author_username',
    io='r',
)

AUTHOR_URI_SCHEMA = fields.ItemUri(
    'web.server.api.user_api_models.UserResource', attribute='author_id'
)

RESOURCE_URI_SCHEMA = fields.ItemUri(
    'web.server.api.permission_api_models.BackendResource', attribute='resource_id'
)

CREATED_SCHEMA = fields.DateTimeString(
    description='When the dashboard was created.', attribute='created', io='r'