Files

45 lines
1.7 KiB
Plaintext

from PDAPI import *
__metadata__ = {
"methods": ["POST"],
"blueprint": "GERP",
"permission": 4.0,
"attributes": [],
"limit": "1 per second",
"form": [
{"Name": "ItemUUID", "Type": "UUID"},
{"Name": "ItemName", "Type": "str", "MaxLen": 128},
{"Name": "ItemIcon", "Type": "str", "MaxLen": 512},
{"Name": "ItemIconColor", "Type": "str", "MaxLen": 6},
{"Name": "ItemTags", "Type": "list"},
{"Name": "ItemDescription", "Type": "str", "MaxLen": 1024 * 1024},
{"Name": "ItemMetaData", "Type": "dict"}
]
}
def HandleRequest():
Item: GERPItemReference
ELTUser: GERPUser = flask.g.ELTUser
ItemUUID = flask.request.form.get("ItemUUID")
ItemName = flask.request.form.get("ItemName")
ItemIcon = flask.request.form.get("ItemIcon")
ItemIconColor = flask.request.form.get("ItemIconColor")
ItemTags = json.loads(flask.request.form.get("ItemTags"))
ItemDescription = flask.request.form.get("ItemDescription")
ItemMetaData = json.loads(flask.request.form.get("ItemMetaData"))
if not (Item := GERPItemReference.query.filter(GERPItemReference.ItemUUID == Get16toBytes(ItemUUID)).first()):
return {"code": 1, "msg": "物品 不存在"}
Item.ItemPublisherUserUUID = ELTUser.UserUUID
Item.ItemName = ItemName
Item.ItemIcon = ItemIcon
Item.ItemIconColor = ItemIconColor
Item.ItemTags = ItemTags
Item.ItemDescription = ItemDescription
Item.ItemMetaData = ItemMetaData
try:
db.session.add(Item)
db.session.commit()
return {"code": 0, "msg": "修改成功"}
except:
db.session.rollback()
return {"code": 1, "msg": "SQL 提交失败"}