class MemberSchema(ma.Schema):
    class Meta:
        fields = ('id', 'first_name', 'last_name', 'email', 'password',
                  'leagues', 'member_activity_week')

    leagues = ma.List(ma.Nested(MemberLeagueSchema))
    member_activity_week = ma.List(ma.Nested(MemberActivityWeekSchema))
class LeagueSchema(ma.Schema):
    class Meta:
        fields = ('id', 'name', 'type', 'members', 'seasons', 'activities')

    activities = ma.List(ma.Nested(ActivitySchema))
    seasons = ma.List(ma.Nested(SeasonSchema))
    members = ma.List(ma.Nested(MemberLeagueSchema))
예제 #3
0
class CrossProductSchema(ma.ModelSchema):
    class Meta:
        model = CrossProduct

    result = ma.List(ma.Number())
    vector1 = ma.List(ma.Number())
    vector2 = ma.List(ma.Number())
예제 #4
0
class SearchSchema(ma.Schema):
    class FilterSchema(ma.Schema):
        field = fields.Str()
        value = fields.Raw()

        @post_load
        def make_filter(self, data):
            return Filter(**data)

    class FacetSchema(ma.Schema):
        class FacetCountSchema(ma.Schema):
            category = fields.Str()
            hit_count = fields.Integer()
            is_selected = fields.Boolean()

        field = fields.Str()
        facetCounts = ma.List(ma.Nested(FacetCountSchema))

    query = fields.Str()
    start = fields.Integer()
    size = fields.Integer()
    sort = fields.Str()
    filters = ma.List(ma.Nested(FilterSchema))
    total = fields.Integer(dump_only=True)
    resources = fields.List(fields.Dict(), dump_only=True)
    facets = ma.List(ma.Nested(FacetSchema), dump_only=True)
    ordered = True

    @post_load
    def make_search(self, data):
        return Search(**data)
예제 #5
0
class LivroSchema(ma.Schema):
    autores = ma.List(ma.Nested(AutorSchema))
    reservas = ma.List(ma.Nested(ReservaSchema))

    class Meta:
        model = Livro
        fields = ('id', 'isbn', 'titulo', 'editora', 'quantidade', 'autores',
                  'reservas')
예제 #6
0
class CompanySchema(ma.Schema):
    company_name = ma.Str()
    company_url = ma.Str()
    company_street_address = ma.Str()
    country = ma.Str()
    company_description = ma.Str()
    categories = ma.List(ma.Str(), attribute="category")
    businesses = ma.List(ma.Str(), attribute="business")
    company_phone_number = ma.Str()
    company_website = ma.Str()
    company_email = ma.Str()
    contacts = ma.List(ma.Str())
예제 #7
0
class UserSchema(ma.ModelSchema, BaseSchema):
    roles = ma.List(ma.Nested(UserRoleSchema(only=('role', ))))

    class Meta:
        model = User
        fields = ('id', 'first_name', 'last_name', 'email', 'phone',
                  'addresses', 'roles', 'image', 'created_at', 'updated_at')
예제 #8
0
class CreateUserSchema(ma.Schema):
    username = LowerCased(required=True, validate=Length(max=30))
    email = ma.Str(required=True, validate=Length(max=120))
    first_name = ma.Str(required=True, validate=Length(max=30))
    last_name = ma.Str(required=True, validate=Length(max=30))
    password = ma.Str(required=True, validate=Length(min=8))
    active = ma.Str(missing=True)
    roles = ma.List(ma.Str(validate=Length(max=30)), missing=['user'])

    @validates('email')
    def is_valid_email(self, value):
        regex = '^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$'
        if not re.search(regex, value):
            raise ValidationError("Email must be in valid format!")

    @validates('password')
    def is_valid_password(self, value):
        '''
        Should have at least one number.
        Should have at least one uppercase and one lowercase character.
        Should have at least one special symbol.
        Should be at least 8 characters long.
        '''
        regex = '^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!#%*?&]{8,}$'
        pat = re.compile(regex)
        mat = re.search(pat, value)
        if not mat:
            raise ValidationError("Password invalid!")

    class Meta:
        model = User
예제 #9
0
class CreateBookSchema(ma.Schema):
    title = ma.Str(required=True, validate=Length(max=30))
    description = ma.Str(required=True, validate=Length(max=120))
    authors = ma.List(ma.Integer, required=True)

    class Meta:
        model = Book
예제 #10
0
class UsuarioSchema(ma.Schema):
    reservas = ma.List(ma.Nested(ReservaSchema))

    class Meta:
        model = Usuario
        fields = ('id', 'admin', 'username', 'nome', 'email', 'telefone',
                  'data_criacao', 'reservas')
예제 #11
0
    class FacetSchema(ma.Schema):
        class FacetCountSchema(ma.Schema):
            category = fields.Str()
            hit_count = fields.Integer()
            is_selected = fields.Boolean()

        field = fields.Str()
        facetCounts = ma.List(ma.Nested(FacetCountSchema))
예제 #12
0
class CartSchema(ma.SQLAlchemySchema):
    class Meta:
        model = Cart
        ordered = True

    id = ma.auto_field()
    store_id = ma.auto_field()
    products = ma.List(ma.Nested(CartProductSchema))
예제 #13
0
class StoreProductsSchema(ma.SQLAlchemySchema):
    class Meta:
        model = Store
        ordered = True

    id = ma.auto_field()
    name = ma.auto_field()
    products = ma.List(ma.Nested(ProductStockSchema))
예제 #14
0
class VerificationSchema(ma.SQLAlchemyAutoSchema):
    class Meta:
        model = Verification
        include_fk = True

    status = EnumField(Status)
    value = EnumField(Value)
    pub_date = ma.DateTime(format='%d/%m\n%H:%M')
    results = ma.List(ma.HyperlinkRelated("api.results_result_by_id"))
    model = ma.HyperlinkRelated("api.models_model_by_id")
예제 #15
0
class ProjectDataSchema(ma.Schema):
    class Meta:
        fields = ("id", "domain", "type", "biz_id", "is_online",
                  "last_online_ts", "tags", "owner", "leader", "customers",
                  "meta_data", "ext_data", "start_msg_id", "msg_id",
                  "current_session_id")

    owner = ma.Nested(RawCustomerSchema)
    leader = ma.Nested(RawStaffSchema)
    customers = ma.List(ma.Nested(RawCustomerSchema))
    last_online_ts = ma.Function(
        lambda s: s.last_online_ts and s.last_online_ts.timestamp())
예제 #16
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)
class SeasonSchema(ma.Schema):
    class Meta:
        fields = ('id', 'league_id', 'weeks_number', 'disabled', 'start_date',
                  'weeks')

    weeks = ma.List(ma.Nested(WeekSchema))
예제 #18
0
class DataTransferLogPageSchema(ma.Schema):
    pages = fields.Integer()
    total = fields.Integer()
    items = ma.List(ma.Nested(DataTransferLogSchema))
예제 #19
0
class UserSearchSchema(ma.Schema):
    pages = fields.Integer()
    total = fields.Integer()
    items = ma.List(ma.Nested(UserSchema))
예제 #20
0
class CreateAuthorSchema(ma.Schema):
    first_name = ma.Str(required=True, validate=Length(max=100))
    middle_name = ma.Str(validate=Length(max=100), missing=None)
    last_name = ma.Str(validate=Length(max=100), missing=None)
    bio = ma.Str(validate=Length(max=100000), missing=None)
    books = ma.List(ma.Integer, missing=[])
예제 #21
0
class AuthorSchema(ma.ModelSchema):
    class Meta:
        model = Author
        unknown = EXCLUDE

    books = ma.List(ma.HyperlinkRelated("books_api", "book_id"))
예제 #22
0
class PageOfSessionsSchema(PaginationSchema):
    items = ma.List(ma.Nested(SessionItemSchema))
예제 #23
0
class AuthorSchema(ma.ModelSchema):
    class Meta:
        model = Author

    books = ma.List(ma.HyperlinkRelated('book', url_key='id'))
예제 #24
0
class FetchMsgsResultSchema(ma.Schema):
    class Meta:
        fields = ("msgs", "has_more", "no_more")

    msgs = ma.List(ma.Nested(MessageSchema))
예제 #25
0
class BookSchema(ma.ModelSchema):
    class Meta:
        model = Book
        exclude = ['user_ratings']

    authors = ma.List(ma.HyperlinkRelated('author', url_key='author_id'))
예제 #26
0
class RecipeSchema(ma.ModelSchema):
    class Meta:
        model = Recipe

    ingredients = ma.List(ma.Nested(IngredientsSchema))
예제 #27
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)
예제 #28
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)
class ActivitySchema(ma.Schema):
    class Meta:
        fields = ('id', 'league_id', 'points', 'name', 'bonus', 'limit',
                  'member_activity_week')

    member_activity_week = ma.List(ma.Nested(MemberActivityWeekSchema))
class WeekSchema(ma.Schema):
    class Meta:
        fields = ('id', 'season_id', 'index', 'member_activity_week')

    member_activity_week = ma.List(ma.Nested(MemberActivityWeekSchema))