device.py 1.56 KB
Newer Older
wanli's avatar
wanli committed
1 2 3 4 5 6
from datetime import datetime
from . import BaseSchema
from marshmallow import fields, validate, RAISE, INCLUDE, EXCLUDE

class AddSchema(BaseSchema):
    name = fields.String(required=True)
wanli's avatar
wanli committed
7
    imei = fields.String(required=True)
wanli's avatar
wanli committed
8 9
    desc = fields.String(required=False)
    type = fields.String(required=False)
wanli's avatar
wanli committed
10
    sort = fields.Integer(required=False, default=0, allow_none=True)
wanli's avatar
wanli committed
11
    remarks = fields.String(required=False, default="", allow_none=True)
wanli's avatar
wanli committed
12 13 14 15 16 17 18
    is_system = fields.Boolean(required=False, default=False, allow_none=True)

    class Meta:
        unknown = EXCLUDE

class UpdateSchema(BaseSchema):
    name = fields.String(required=False)
wanli's avatar
wanli committed
19
    imei = fields.String(required=False)
wanli's avatar
wanli committed
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
    desc = fields.String(required=False)
    type = fields.String(required=False)
    sort = fields.Integer(required=False)
    remarks = fields.String(required=False)

    class Meta:
        unknown = EXCLUDE

class DeleteSchema(BaseSchema):
    class Meta:
        unknown = EXCLUDE

class QuerySchema(BaseSchema):
    uuid = fields.UUID(required=False)
    scope_type = fields.String(required=False)
    type = fields.Integer(required=False)
    pagenum = fields.Int(required=False)
    pagesize = fields.Int(required=False, max=50) # 防止用户传特别大的数,导致数据库查询阻塞

    class Meta:
        unknown = EXCLUDE

class ResponseSchema(BaseSchema):
    uuid = fields.UUID(required=False)
    create_at = fields.DateTime(required=False, default=datetime.now)
    update_at = fields.DateTime(required=False, default=datetime.now)

    class Meta:
        unknown = INCLUDE