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 提交失败"}