45 lines
1.7 KiB
Plaintext
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 提交失败"} |