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