53 lines
2.5 KiB
Plaintext
53 lines
2.5 KiB
Plaintext
from PDAPI import *
|
|
|
|
|
|
__metadata__ = {
|
|
"methods": ["POST"],
|
|
"blueprint": "GERP",
|
|
"permission": 4.0,
|
|
"attributes": [],
|
|
"limit": "1 per second",
|
|
'form': [
|
|
{"Name": "UserUUID", "Type": "UUID"},
|
|
{"Name": "ItemTemplateUUID", "Type": "UUID"},
|
|
{"Name": "ItemName", "Type": "str", "MaxLen": 128, "Required": False},
|
|
{"Name": "ItemIcon", "Type": "str", "MaxLen": 512, "Required": False},
|
|
{"Name": "ItemIconColor", "Type": "str", "MaxLen": 6, "Required": False},
|
|
{"Name": "ItemTags", "Type": "list", "Required": False},
|
|
{"Name": "ItemMetaData", "Type": "dict", "Required": False},
|
|
{"Name": "ItemDescription", "Type": "str", "MaxLen": 1024 * 1024, "Required": False},
|
|
{"Name": "ItemLength", "Type": "int", "MinLen": 1}
|
|
]
|
|
}
|
|
def HandleRequest():
|
|
ELTUser: GERPUser = flask.g.ELTUser
|
|
UserUUID = Get16toBytes(flask.request.form.get("UserUUID"))
|
|
ItemTemplateUUID = Get16toBytes(flask.request.form.get("ItemTemplateUUID"))
|
|
ItemName = flask.request.form.get("ItemName")
|
|
ItemIcon = flask.request.form.get("ItemIcon")
|
|
ItemIconColor = flask.request.form.get("ItemIconColor")
|
|
ItemTags = flask.request.form.get("ItemTags")
|
|
ItemMetaData = json.loads(flask.request.form.get("ItemMetaData")) if flask.request.form.get("ItemMetaData") else None
|
|
ItemDescription = flask.request.form.get("ItemDescription")
|
|
ItemLength = flask.request.form.get("ItemLength", type = int)
|
|
if not GetUserDataByUserUUID(UserUUID): return {"code": 1, "msg": "用户 不存在"}
|
|
if ItemTemplateUUID and not GERPItemReference.query.filter(GERPItemReference.ItemUUID == ItemTemplateUUID).first(): return {"code": 1, "msg": "物品模板不存在"}
|
|
_ = GERPBackpack()
|
|
_.BackpackItemUUID = NewBUUID()
|
|
_.UserUUID = UserUUID
|
|
_.ItemTemplateUUID = ItemTemplateUUID
|
|
_.ItemName = ItemName if ItemName else None
|
|
_.ItemIcon = ItemIcon if ItemIcon else None
|
|
_.ItemIconColor = ItemIconColor if ItemIconColor else None
|
|
_.ItemTags = ItemTags if ItemTags else None
|
|
_.ItemMetaData = ItemMetaData if ItemMetaData else None
|
|
_.ItemDescription = ItemDescription if ItemDescription else None
|
|
_.ItemLength = ItemLength
|
|
try:
|
|
db.session.add(_)
|
|
db.session.commit()
|
|
return {"code": 0, "msg": "添加成功"}
|
|
except:
|
|
print(traceback.format_exc())
|
|
db.session.rollback()
|
|
return {"code": 1, "msg": "SQL 提交失败"} |