export default { field: { name: { type: "string" }, type: { type: "string" }, description: { type: "string" }, defaultMenuIcon: { type: "object", properties: { type: { type: "string", enum: ["URL", "tuyaIcon"] }, name: { type: "string" }, url: { type: "string", pattern: "^(http://|https://)" }, }, required: ["type"], if: { properties: { type: { const: "URL" }, }, }, then: { required: ["url"], }, else: { required: ["name"], }, }, privileges: { type: "array", items: { type: "object", properties: { name: { type: "string" }, code: { type: "string" }, }, required: ["name", "code"], }, }, apis: { type: "array", items: { type: "object", properties: { namespace: { type: "string" }, method: { type: "string", enum: [ "get", "post", "put", "delete", "GET", "POST", "PUT", "DELETE", ], }, path: { type: "string" }, type: { type: "string", enum: ["OpenAPI", "CustomerAPI"] }, privilegeCode: { type: "string" }, }, required: ["path", "method"], }, }, }, required: ["name", "type"], };