Files
SQLBot/frontend/src/views/system/permission/options.ts

53 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-09-08 16:38:13 +08:00
function formatEnum(ele: any) {
return {
value: ele,
label: `permission.filter_${ele.replace(' ', '_')}`,
}
}
function toLine(name: any) {
return name.replace(/([A-Z])/g, '_$1').toLowerCase()
}
const textEnum = [
'eq',
'not_eq',
'in',
'not in',
'like',
'not like',
'null',
'not_null',
'empty',
'not_empty',
]
const textOptions = textEnum.map(formatEnum)
const dateEnum = ['eq', 'not_eq', 'lt', 'gt', 'le', 'ge']
const dateOptions = dateEnum.map(formatEnum)
const allEnum = [...new Set(textEnum.concat(dateEnum))]
const allOptions = allEnum.map(formatEnum)
const valueEnum = [...dateEnum]
const valueOptions = valueEnum.map(formatEnum)
const sysParams = ['eq', 'not_eq', 'like', 'not like', 'in', 'not in']
const textOptionsForSysParams = sysParams.map(formatEnum)
const sysParamsEnum = ['userId', 'userName', 'userEmail']
const sysParamsIlns = sysParamsEnum.map((_) => {
return { value: `\${sysParams.${_}}`, label: `auth.sysParams_type.${toLine(_)}`, type: 'text' }
})
const fieldEnums = ['text', 'time', 'value', 'value', 'value', 'location']
export {
textOptions,
dateOptions,
valueOptions,
textOptionsForSysParams,
sysParamsIlns,
fieldEnums,
allOptions,
}