Пример #1
0
class TaxiApprovalSchema(ma.Schema):
    name = ma.String(attribute='approval_name')
    original = ma.String(attribute='approval_original_name')

    class Meta:
        include_fk = True
        model = TaxiApprovalsModel
        fields = ('id', 'name', 'original')
Пример #2
0
class UserSchema(ma.Schema):
    id = ma.Integer()
    username = ma.String(required=True)
    email = ma.Email(required=True)
    password = ma.String(required=True)
    profile_pic = ma.String()
    bio = ma.String()
    location = ma.String()
    website = ma.Url()
    is_active = ma.Boolean()
    is_admin = ma.Boolean()
    joined_date = ma.DateTime()
Пример #3
0
class TaxiRequestSchema(ma.Schema):
    description = ma.String(attribute='comment')
    creator = ma.String(attribute='taxi_creator.full_name')
    approval_data = ma.Nested('TaxiApprovalSchema')

    class Meta:
        include_fk = True
        model = TaxiRequestModel

        fields = ('id', 'creator', 'datenow', 'taxi_company', 'ticket_n',
                  'dateoftrip', 'timeoftrip', 'reason', 'destination',
                  'expance', 'description', 'status', 'email', 'admin_comment',
                  'approval_data')
Пример #4
0
class UserSchema(ma.Schema):
    public_id = ma.UUID()
    first_name = ma.String(required=True)
    last_name = ma.String(required=True)
    email = ma.Email(required=True)
    password = ma.String(required=True)
    profile_pic = ma.String()
    active = ma.Boolean()

    todos = ma.Nested(TodoSchema, many=True)

    @validates('password')
    def validate_password(self, password):
        if len(password) < 5:
            raise ValidationError('Password min character is 5.')
Пример #5
0
class ShorturlSchema(BaseSchema):
    url = ma.URL(load_only=True, required=True)
    shortcode = ma.String(missing=None)

    class Meta:
        model = Shorturl
        fields = ('url', 'shortcode')
Пример #6
0
class FeatureRequestListArgsSchema(ma.Schema):
    limit = ma.Integer(required=False,
                       validate=[validate.Range(1, 100)],
                       missing=20)
    offset = ma.Integer(required=False,
                        validate=[validate.Range(0)],
                        missing=0)
    include_archived = ma.Boolean(required=False, missing=False)
    area = ma.Function(deserialize=load_from_id(Area), required=False)
    client = ma.Function(deserialize=load_from_id(Client),
                         required=True,
                         validate=[validate.NoneOf([None])])
    search = ma.String(required=False)
    sort = ma.String(
        required=False,
        validate=[validate.OneOf(['priority', 'id', 'target_date'])],
        missing='priority')
Пример #7
0
class PostGetQueryParameterValidateSchema(ma.Schema):
    page = ma.Integer(required=False, validate=Range(min=1))
    per_page = ma.Integer(required=False,
                          validate=Range(min=1),
                          data_key="per-page")
    username = ma.Str(required=False, validate=Length(min=2, max=20))
    gallery_id = ma.String(required=False,
                           validate=Length(min=1, max=30),
                           data_key="gallery-id")
Пример #8
0
class PostValidateSchema(ma.Schema):
    id = ma.Integer()
    user_id = ma.Integer(required=True)
    body = ma.String(required=True)

    @validates('body')
    def validate_body(self, body):
        if len(body) <= 0:
            raise ValidationError("This field can't be empty.")
        elif len(body) > 255:
            raise ValidationError('max character of 255 characters exceeded.')
Пример #9
0
class ProductDeserializeSchema(ProductSchema):
    class Meta:
        model = models.Product
        fields = ('name', 'description', 'price', 'category', 'status', 'tags')

    category = ma.Function(deserialize=lambda v: models.Category.query.get(
        v), required=True, validate=[validate.NoneOf([None])])

    status = ma.Function(deserialize=models.ProductStatusEnum.find,
                         required=True,
                         validate=[validate.NoneOf([None])])
    tags = ma.List(ma.String(), required=True)
Пример #10
0
class TodoSchema(ma.Schema):
    id = ma.Integer()
    title = ma.String(required=True)
    done = ma.Boolean()
    created_by = ma.UUID()

    @validates('title')
    def validate_title(self, title):
        if len(title) <= 0:
            raise ValidationError("This field can't be empty.")
        elif len(title) > 120:
            raise ValidationError('max character of 120 characters exceeded.')
Пример #11
0
class NotificationSchema(ma.Schema):
    id = ma.Integer()
    body = ma.String(required=True)
    created_by = ma.Integer(required=True)
    target_user = ma.Integer(required=True)
    notification_date = ma.DateTime()

    @validates('body')
    def validate_body(self, body):
        if len(body) <= 0:
            raise ValidationError("This field can't be empty.")
        elif len(body) > 255:
            raise ValidationError('max character of 255 characters exceeded.')
Пример #12
0
class EntitySchema(ma.ModelSchema):
    class Meta:
        model = Entity

    surname = ma.String(required=True)
    name = ma.String(required=True)
    phone = ma.String()
    citizenship = ma.String()
    marital_status = EnumField(MaritalStatus)
    country = EnumField(Country)
    cellphone = ma.String()
    birth_date = ma.Date(required=True)
    address = ma.String()
    city = ma.String()
    analysis = ma.Nested(AnalysisSchema, many=True)
    id_number = ma.String(required=True)
Пример #13
0
class PostSchema(ma.Schema):
    id = ma.Integer()
    body = ma.String(required=True)
    created_by = ma.Integer()
    no_likes = ma.Integer()
    no_comments = ma.Integer()
    posted_date = ma.DateTime()
    liked = ma.Boolean()

    @validates('body')
    def validate_body(self, body):
        if len(body) <= 0:
            raise ValidationError("This field can't be empty.")
        elif len(body) > 255:
            raise ValidationError('max character of 255 characters exceeded.')
Пример #14
0
class ProjectSchema(ma.SQLAlchemySchema):
    """User Marshmallow Schema"""
    class Meta:
        model = Project

    created_at = ma.auto_field()
    updated_at = ma.auto_field()
    title = ma.auto_field()
    description = ma.auto_field()
    start_date = ma.auto_field()
    due_date = ma.auto_field()
    rate_cents = ma.auto_field()
    rate_units = ma.auto_field()
    completed_date = ma.auto_field()
    invoice_frequency = ma.String(validate=validate.OneOf("weekly"
                                                          "biweekly"
                                                          "monthly"
                                                          "one-time"
                                                          "adhoc"))
    user_id = ma.auto_field(dump_only=True)
Пример #15
0
class UserSchema(ma.SQLAlchemySchema):
    """User Marshmallow Schema"""

    class Meta:
        model = User

    exclude = "password_hash"

    public_id = ma.auto_field(dump_only=True)
    firstname = ma.auto_field()
    lastname = ma.auto_field()
    company = ma.auto_field()
    email = ma.Email(required=True)
    phone = ma.auto_field()
    personal_url_1 = ma.URL()
    personal_url_2 = ma.URL()
    personal_url_3 = ma.URL()
    password = ma.String(
        required=True, validate=validate_password_constraints, load_only=True
    )
    projects = ma.auto_field()
Пример #16
0
class UserSchema(ma.SQLAlchemySchema):
    class Meta:
        model = User
        unknown = EXCLUDE

    id = ma.auto_field()
    username = ma.String(
        required=True,
        validate=[validate.Length(min=1, max=80), validate_unique_username])
    email = ma.Email(
        required=True,
        validate=[validate.Length(min=1, max=120), validate_unique_email])
    password = ma.auto_field(column_name='password_hash',
                             load_only=True,
                             required=True,
                             validate=[validate.Length(min=8, max=128)])
    created_at = ma.auto_field(dump_only=True)
    updated_at = ma.auto_field(dump_only=True)

    @post_load
    def create_user(self, data, **kwargs):
        user = User(**data)
        user.set_password(data['password_hash'])
        return user
Пример #17
0
class LoginSchema(ma.Schema):
    email = ma.Email(required=True)
    password = ma.String(required=True)
Пример #18
0
class NameCountSchema(ma.SQLAlchemyAutoSchema):
    username = ma.String()
    count = ma.Integer()
Пример #19
0
class UserPutInputSchema(ma.Schema):
    username = ma.Str(required=True, validate=validate.Length(min=2, max=20))
    user_explain = ma.Str(required=True, validate=validate.Length(max=400))
    profile_image = ma.String(required=False,
                              allow_null=True,
                              validate=validate.Length(max=100))
Пример #20
0
class UnitsDeliveredByProductByCountrySchema(ma.Schema):
    product_name = ma.String()
    product_id = ma.Integer()
    country_name = ma.String()
    country_id = ma.Integer()
    units = ma.Integer()
Пример #21
0
class LoginSchema(ma.Schema):
    email = ma.String()
    password = ma.String()
    remember_me = ma.Boolean()
Пример #22
0
class PostPatchInputValidateSchema(ma.Schema):
    content = ma.Str(required=False, validate=Length(min=1))
    title = ma.Str(required=False, validate=Length(min=1, max=30))
    images = ma.List(ma.String(validate=Length(max=100)), required=False)
Пример #23
0
class RegisterSchema(ma.Schema):
    email = ma.Email()
    first_name = ma.String()
    last_name = ma.String()
    password = ma.String()
Пример #24
0
class PostResourceQueryParameterValidateSchema(ma.Schema):
    gallery_id = ma.String(data_key="gallery-id",
                           required=True,
                           validate=Length(min=1, max=30))
Пример #25
0
class PostPostInputValidateSchema(ma.Schema):
    content = ma.Str(required=True, validate=Length(min=1))
    title = ma.Str(required=True, validate=Length(min=1, max=30))
    images = ma.List(ma.String(validate=Length(max=100), required=True))
    is_anonymous = ma.Boolean(required=True)
Пример #26
0
 class Meta:
     # model = ProductModel
     name = ma.String(required=True, validate=Length(min=2))
     brand = ma.String(required=True,  validate=Length(min=2))
Пример #27
0
class CommentSchema(ma.Schema):
    id = ma.Integer()
    body = ma.String(required=True)
    post_id = ma.Integer()
    commented_by = ma.Integer(required=True)
    comment_date = ma.DateTime()
Пример #28
0
class UserPasswordChangeSchema(ma.Schema):
    email = ma.Email(required=True)
    password = ma.String(required=True)
Пример #29
0
class UserBioSchema(ma.Schema):
    bio = ma.String()
    location = ma.String()
    website = ma.String()