コード例 #1
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class GetCommentParameterSchema(ma.Schema):
    post_id = ma.Integer(data_key="post-id", required=False)
    username = ma.Str(required=False)
    page = ma.Integer(required=False, validate=Range(min=0))
    per_page = ma.Integer(data_key="per-page",
                          required=False,
                          validate=Range(min=1))
コード例 #2
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class ReportCommentInputSchema(ma.Schema):
    reason = ma.Integer(required=True, validate=Range(min=1, max=10))
    detail_reason = ma.Str(required=True, validate=Length(max=500))
    reported_content_type = ma.Integer(
        required=True, validate=Range(min=1, max=2)
    )
    post_id = ma.Integer(required=False, allow_none=True)
    comment_id = ma.Integer(required=True)
コード例 #3
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")
コード例 #4
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.')
コード例 #5
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.')
コード例 #6
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.')
コード例 #7
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class GetGalleriesQueryParameterValidateSchema(ma.Schema):
    gallery_type = ma.Integer(
        requierd=False,
        allow_none=False,
        validate=Range(min=0, max=2),
        data_key="gallery-type",
    )
コード例 #8
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')
コード例 #9
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class PostGalleryValidateSchema(ma.Schema):
    name = ma.Str(required=True,
                  validate=Length(max=30, min=1),
                  allow_none=False)
    explain = ma.Str(required=True, validate=Length(max=255, min=0))
    gallery_id = ma.Str(required=True, validate=Length(max=30, min=1))
    gallery_type = ma.Integer(
        required=True,
        allow_none=False,
        validate=Range(min=0, max=2),
    )
コード例 #10
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()
コード例 #11
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.')
コード例 #12
0
class AnalysisSchema(ma.ModelSchema):
    class Meta:
        model = Analysis

    current_asset = ma.Float(required=True)
    current_liability = ma.Float(required=True)
    total_assets = ma.Float(required=True)
    third_party_liability = ma.Float(required=True)
    financial_obligations = ma.Float(required=True)
    net_sales = ma.Float(required=True)
    gross_utility = ma.Float(required=True)
    net_utility = ma.Float(required=True)
    status = EnumField(AnalysisStatus)
    entity_id = ma.Integer(required=True)

    # calculated fields
    current_ratio = ma.Method('get_current_ratio')
    net_work_capital = ma.Method('get_net_work_capital')
    gross_margin = ma.Method('get_gross_margin')
    net_margin = ma.Method('get_net_margin')
    debt_level = ma.Method('get_debt_level')
    financial_debt = ma.Method('get_financial_debt')

    def get_current_ratio(self, obj):
        current_ratio = obj.current_asset / obj.current_liability
        return round(current_ratio * 0.25, 2)

    def get_net_work_capital(self, obj):
        net_work_capital = obj.current_asset - obj.current_liability
        return round(net_work_capital, 2)

    def get_gross_margin(self, obj):
        gross_margin = obj.gross_utility / obj.net_sales
        return round(gross_margin * 0.25, 2)

    def get_net_margin(self, obj):
        net_margin = obj.net_utility / obj.net_sales
        return round(net_margin * 0.10, 2)

    def get_debt_level(self, obj):
        debt_level = obj.third_party_liability / obj.total_assets
        return round(debt_level * 0.30, 2)

    def get_financial_debt(self, obj):
        financial_debt = obj.financial_obligations / obj.net_sales
        return round(financial_debt * 0.10, 2)
コード例 #13
0
class HotPostGetQueryParameterValidateSchema(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")
コード例 #14
0
class NameCountSchema(ma.SQLAlchemyAutoSchema):
    username = ma.String()
    count = ma.Integer()
コード例 #15
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class ListArgsSchema(ma.Schema):
    limit = ma.Integer(required=False, validate=[
        validate.Range(1, 100)], missing=100)
    offset = ma.Integer(required=False, validate=[
        validate.Range(0)], missing=0)
コード例 #16
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class UnitsDeliveredByProductByCountrySchema(ma.Schema):
    product_name = ma.String()
    product_id = ma.Integer()
    country_name = ma.String()
    country_id = ma.Integer()
    units = ma.Integer()
コード例 #17
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class SellsByProductSchema(ma.Schema):
    product = ma.Nested(ProductSchema)
    sells = ma.Integer()
コード例 #18
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class OrdersByStatusSchema(ma.Schema):
    count = ma.Integer()
    status = ma.Function(lambda row: row.status.value)
コード例 #19
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class CustomersByCountrySchema(ma.Schema):
    country = ma.Nested(CountrySchema)
    count = ma.Integer()
コード例 #20
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class ProductsByCategorySchema(ma.Schema):
    category = ma.Nested(CategorySchema)
    count = ma.Integer()
コード例 #21
0
ファイル: schemas.py プロジェクト: tomaszd/example-shop-py
class OrderDetailCreateSchema(ma.Schema):
    product = ma.Function(deserialize=lambda v: models.Product.query.get(
        v), required=True, validate=[validate.NoneOf([None])])
    quantity = ma.Integer(required=True, validate=[validate.Range(1)])
コード例 #22
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class CommentInputSchema(ma.Schema):
    content = ma.Str(required=True, validate=Length(min=1, max=100))
    upper_comment_id = ma.Integer(required=False, allow_none=True)
    is_anonymous = ma.Boolean(required=True)
コード例 #23
0
class RequestPostlikeApiQueryParameterVaidateSchema(ma.Schema):
    post_id = ma.Integer(
        required=True, validate=Range(min=0)
    )
コード例 #24
0
class PaginationSchema(ma.Schema):
    page = ma.Integer()
    pages = ma.Integer()
    per_page = ma.Integer()
    total = ma.Integer()
コード例 #25
0
ファイル: model.py プロジェクト: EojinK1m/DMtime
class PostCommentParameterSchema(ma.Schema):
    post_id = ma.Integer(data_key="post-id",
                         required=True,
                         validate=Range(min=0))
コード例 #26
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()