forked from iti-framework/iTi-Flask
fix: missing user_attributes
parent
f230c867e9
commit
d7310c7fbd
@ -0,0 +1,67 @@
|
||||
"""
|
||||
用户扩展属性 API Schema
|
||||
"""
|
||||
from marshmallow import Schema, fields, validate
|
||||
|
||||
|
||||
class UserAttributeQuery(Schema):
|
||||
"""查询用户扩展属性请求"""
|
||||
|
||||
group = fields.String(
|
||||
required=False, metadata={"description": "属性分组(可选,不传则返回所有分组)"}
|
||||
)
|
||||
|
||||
|
||||
class UserAttributeSetRequest(Schema):
|
||||
"""设置用户扩展属性请求"""
|
||||
|
||||
attributes = fields.Dict(
|
||||
required=True,
|
||||
metadata={
|
||||
"description": "属性字典,格式:{'key1': 'value1', 'key2': 'value2'} 或 {'group1': {'key1': 'value1'}, 'group2': {...}}"
|
||||
},
|
||||
)
|
||||
group = fields.String(
|
||||
required=False,
|
||||
metadata={"description": "属性分组(可选,指定后 attributes 为简单键值对)"},
|
||||
)
|
||||
|
||||
|
||||
class UserAttributeItemRequest(Schema):
|
||||
"""单个属性设置请求"""
|
||||
|
||||
attr_value = fields.String(required=True, metadata={"description": "属性值"})
|
||||
attr_type = fields.String(
|
||||
required=False,
|
||||
load_default="string",
|
||||
validate=validate.OneOf(["string", "int", "float", "bool", "json", "encrypted"]),
|
||||
metadata={"description": "属性类型"},
|
||||
)
|
||||
|
||||
|
||||
class UserAttributeBatchRequest(Schema):
|
||||
"""批量设置属性请求(支持类型)"""
|
||||
|
||||
class AttributeItem(Schema):
|
||||
attr_group = fields.String(required=True, metadata={"description": "属性分组"})
|
||||
attr_key = fields.String(required=True, metadata={"description": "属性键"})
|
||||
attr_value = fields.String(required=True, metadata={"description": "属性值"})
|
||||
attr_type = fields.String(
|
||||
required=False,
|
||||
load_default="string",
|
||||
validate=validate.OneOf(
|
||||
["string", "int", "float", "bool", "json", "encrypted"]
|
||||
),
|
||||
metadata={"description": "属性类型"},
|
||||
)
|
||||
description = fields.String(
|
||||
required=False, metadata={"description": "属性描述"}
|
||||
)
|
||||
sort = fields.Integer(required=False, load_default=0, metadata={"description": "排序"})
|
||||
|
||||
attributes = fields.List(
|
||||
fields.Nested(AttributeItem),
|
||||
required=True,
|
||||
metadata={"description": "属性列表"},
|
||||
)
|
||||
|
||||
Loading…
Reference in New Issue