oak-general-business/es/oak-app-domain/UserEntityGrant/Storage.js

97 lines
2.1 KiB
JavaScript

import { actions } from "./Action";
export const desc = {
attributes: {
relationEntity: {
notNull: true,
type: "varchar",
params: {
length: 32
}
},
relationEntityFilter: {
notNull: true,
type: "object"
},
relationIds: {
notNull: true,
type: "object"
},
entity: {
notNull: true,
type: "varchar",
params: {
length: 32
}
},
entityId: {
notNull: true,
type: "varchar",
params: {
length: 64
}
},
type: {
notNull: true,
type: "enum",
enumeration: ["grant", "transfer"]
},
rule: {
notNull: true,
type: "enum",
enumeration: ["single", "all", "free"]
},
ruleOnRow: {
notNull: true,
type: "enum",
enumeration: ["single", "all", "free"]
},
multiple: {
type: "boolean"
},
remark: {
type: "text"
},
granterId: {
notNull: true,
type: "ref",
ref: "user"
},
qrCodeType: {
notNull: true,
type: "enum",
enumeration: ["wechatMpDomainUrl", "wechatMpWxaCode", "wechatPublic", "wechatPublicForMp", "webForWechatPublic"]
},
expiresAt: {
type: "datetime"
},
expired: {
type: "boolean"
},
redirectTo: {
type: "object"
},
claimUrl: {
notNull: true,
type: "varchar",
params: {
length: 128
}
}
},
actionType: "crud",
actions,
indexes: [
{
name: 'index_expired_expiredAt',
attributes: [
{
name: 'expired',
},
{
name: 'expiresAt',
},
],
}
]
};