class GeocodeParameters(Parameters): """ Helper Parameters class to reuse geocoding. """ search = base_fields.String( description="the type of query we want to search", ) filters = base_fields.Raw() coordinates = base_fields.List( cls_or_instance=base_fields.List( cls_or_instance=base_fields.Float() ), allow_none=True, ) latitude = base_fields.Float( allow_none=True, description="the latitude to search in", validate=validate.Range(min=-90.0, max=90.0, error="Invalid latitude parameters. Must be between -90 and 90.") ) longitude = base_fields.Float( allow_none=True, description="the latitude to search in", validate=validate.Range(min=-180.0, max=180.0, error="Invalid longitude parameters. Must be between -180 and 180.") ) radius = base_fields.Float( description="the radius to search in", missing=5, validate=validate.Range(min=0) )
class CreateOAuth2ClientParameters(PostFormParameters): redirect_uris = base_fields.List(base_fields.String, required=False) scopes = base_fields.List(base_fields.String, required=True) @validates('scopes') def validate_default_scopes(self, data): unknown_scopes = set(data) - set(api.api_v1.authorizations['oauth2_password']['scopes']) if unknown_scopes: raise ValidationError("'%s' scope(s) are not supported." % (', '.join(unknown_scopes)))
class RolesDetailSchema(ModelSchema): uid = base_fields.Integer() rids = base_fields.List(base_fields.Integer()) rids_str = base_fields.String() resources_ids = base_fields.List(base_fields.Integer()) resources_ids_str = base_fields.String() titles = base_fields.String() roles = base_fields.Nested(RolesSchema, many=True) class Meta: pass
class AddDatasetParameters(PostFormParameters, schemas.DatasetSchema): """ New data creation parameters. """ license_name = base_fields.String('license_name', required=True) publisher_name = base_fields.String('publisher_name') organization_name = base_fields.String('organization_name') keywords = base_fields.List(base_fields.String, required=False) class Meta(schemas.DatasetSchema.Meta): fields = schemas.DatasetSchema.Meta.fields + ( 'license_name', 'organization_name', 'publisher_name', ) @validates('temporal') def validate_temporal_field(self): # TODO: support field validation pass @validates('spatial') def validate_spatial_field(self): # TODO: support field validation pass
class BaseOAuth2ClientSchema(ModelSchema): """ Base OAuth2 client schema exposes only the most general fields. """ default_scopes = base_fields.List(base_fields.String, required=True) redirect_uris = base_fields.List(base_fields.String, required=True) #fields = ('full_name', 'date_created') class Meta: # pylint: disable=missing-docstring model = OAuth2Client fields = ('user_id', 'client_id', 'client_type', 'default_scopes', 'redirect_uris') dump_only = ( 'user_id', 'client_id', )
class BaseOAuth2ClientSchema(ModelSchema): """ Base OAuth2 client schema exposes only the most general fields. """ default_scopes = base_fields.List(base_fields.String, required=True) redirect_uris = base_fields.List(base_fields.String, required=True) class Meta: model = OAuth2Client fields = ( OAuth2Client.user_id.key, OAuth2Client.client_id.key, OAuth2Client.client_type.key, OAuth2Client.default_scopes.key, OAuth2Client.redirect_uris.key, ) dump_only = ( OAuth2Client.user_id.key, OAuth2Client.client_id.key, )
class ConfigsModelsSchema(ModelSchema): """ Get Models list """ model = base_fields.String() module = base_fields.String() module_name = base_fields.String() tablename = base_fields.String() model = base_fields.String() columns = base_fields.List(base_fields.String(), many=True) class Meta: pass
class BaseOAuth2ClientSchema(ModelSchema): """ Base OAuth2 client schema exposes only the most general fields. """ default_scopes = base_fields.List(base_fields.String, required=True) redirect_uris = base_fields.List(base_fields.String, required=True) class Meta: # pylint: disable=missing-docstring model = OAuth2Client fields = ( OAuth2Client.guid.key, OAuth2Client.user_guid.key, OAuth2Client.level.key, OAuth2Client.default_scopes.key, OAuth2Client.redirect_uris.key, ) dump_only = ( OAuth2Client.guid.key, OAuth2Client.user_guid.key, )
class FilteringParameters(Parameters): """ Helper Parameters class to reuse filtering. """ operator = base_fields.String( allow_none=True ) ride_type = base_fields.List( cls_or_instance=base_fields.String(), allow_none=True ) min_height_in_cm = base_fields.Integer( allow_none=True, validate=validate.Range(min=0) ) admission_price = base_fields.Integer( allow_none=True, validate=validate.Range(min=0) )
class CreateParkParameters(Parameters): """ Helper parameters to create a park. """ latitude = base_fields.Float(validate=validate.Range( min=-90.0, max=90.0, error="Invalid latitude parameters. Must be between -90 and 90.")) longitude = base_fields.Float(validate=validate.Range( min=-180.0, max=180.0, error="Invalid longitude parameters. Must be between -180 and 180.")) name = base_fields.String(validate=validate.Range(min=0)) address = base_fields.String(validate=validate.Range(min=0)) operator = base_fields.String(validate=validate.Range(min=0)) sponsors = base_fields.List(cls_or_instance=base_fields.String()) opening_time = base_fields.String(validate=validate.Range(min=0)) closing_time = base_fields.String(validate=validate.Range(min=0)) admission_price = base_fields.Float(validate=validate.Range( min=0.0, error="Invalid price parameters. Must be greater than or equal to$0."))
class InputSchema(Schema): fulfillment = fields.Str() fulfills = fields.Str() owners_before = fields.List(fields.String)
class CheckinUserParameters(Parameters): users_lite = base_fields.List(base_fields.Integer, required=True)
class UidsRidsParameters(JSONParameters): rids = base_fields.List(base_fields.Integer()) uids = base_fields.List(base_fields.Integer())
class OutputSchema(Schema): amount = fields.Number() public_keys = fields.List(fields.String) condition = fields.Nested(ConditionSchema)
class RelatedJiraSchema(ModelSchema): related_jira = base_fields.Dict(base_fields.String, required=True) redirect_uris = base_fields.List(base_fields.String, required=True)
class F23Schema(Schema): case_study = base_fields.List() output_dir = base_fields.String() response = base_fields.Dict()
class UIDAndIDSParameters(JSONParameters): """ UID And IDS """ uid = base_fields.Integer(required=True) ids = base_fields.List(base_fields.Integer())
class IDSParameters(JSONParameters): ids = base_fields.List(base_fields.Integer())