@yongdall/standard 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-BslAnGqm.mjs","names":[],"sources":["../../packages/standard/models/Application.mjs","../../packages/standard/models/Menu.mjs","../../packages/standard/models/Page.mjs","../../packages/standard/models/Database.mjs","../../packages/standard/models/FormLayout.mjs","../../packages/standard/models/Plugin.mjs"],"sourcesContent":["import { createField, createModel, uuid, Where } from '@yongdall/model';\n\nconst UserMenu = createModel('application.userMenu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t// { value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', renderer: 'string' }),\n\tlogged: createField('bool', { nullable: false, default: false, label: '仅登陆用户' }),\n});\nconst NavMenu = createModel('application.menu', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n});\n\nexport const ApplicationPage = createModel('application.page', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', {\n\t\tsize: 50, nullable: false, label: '页面类型', immutable: true, primary: 2, renderer: 'select', source: [\n\t\t\t{ value: 'model', label: '文档主页面' },\n\t\t\t{ value: 'modelDetails', label: '文档详情页面' },\n\t\t\t{ value: 'modelEdit', label: '文档编辑页面' },\n\t\t\t{ value: 'modelInput', label: '文档创建页面' },\n\t\t\t{ value: 'modelCopy', label: '文档复制页面' },\n\n\t\t\t{ value: 'user', label: '用户主页面' },\n\t\t\t{ value: 'userDetails', label: '用户详情页面' },\n\t\t\t{ value: 'userEdit', label: '用户编辑页面' },\n\t\t\t{ value: 'userInput', label: '用户创建页面' },\n\t\t\t{ value: 'userCopy', label: '用户复制页面' },\n\n\t\t\t{ value: 'organization', label: '组织主页面' },\n\t\t\t{ value: 'organizationDetails', label: '组织详情页面' },\n\t\t\t{ value: 'organizationEdit', label: '组织编辑页面' },\n\t\t\t{ value: 'organizationInput', label: '组织创建页面' },\n\t\t\t{ value: 'organizationCopy', label: '组织复制页面' },\n\n\t\t\t{ value: 'workspace', label: '工作区主页面' },\n\t\t\t{ value: 'workspaceDetails', label: '工作区详情页面' },\n\t\t\t{ value: 'workspaceEdit', label: '工作区编辑页面' },\n\t\t\t{ value: 'workspaceInput', label: '工作区创建页面' },\n\t\t\t{ value: 'workspaceCopy', label: '工作区复制页面' },\n\t\t]\n\t}),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'applicationPage=?type'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 3 }),\n});\n\nexport const ApplicationConfigurationPage = createModel('application.configurationPage', {\n\tapplicationId: createField('uuid', { nullable: false, label: '应用', primary: 1 }),\n\ttype: createField('string', { size: 50, nullable: false, label: '页面类型', immutable: true, primary: 2 }),\n\twidget: createField('text', { nullable: false, label: '页面', renderer: 'select', source: {type: 'enumeration', name: 'page', value: '{page}', search: 'applicationPage=configuration'} }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号', primary: 3 }),\n});\n\nexport default createModel('application', {\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttype: createField('string', {\n\t\tnullable: false, default: 'workbench', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: 'workbench', label: '工作台' },\n\t\t\t{ value: 'authenticator', label: '登陆器' },\n\t\t]\n\t}),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', layout: { colSpan: 6 }, uncreatable: true, primary: 1 }),\n\n\tdomain: createField('string', { nullable: false, default: '', label: '域名', layout: { colSpan: 5, colStart: 1 } }),\n\tport: createField('i32', { nullable: false, default: 0, label: '端口', layout: { colSpan: 3 } }),\n\tpath: createField('string', { nullable: false, default: '', label: '路径', layout: { colSpan: 10 } }),\n\thttps: createField('bool', { nullable: false, default: false, label: 'HTTPS', layout: { colSpan: 2 } }),\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认', layout: { colSpan: 2 } }),\n\tsingleDefault: createField('bool', { nullable: false, default: false, label: '单用户默认', layout: { colSpan: 2 } }),\n\n\tauthenticator: createField('string', { nullable: false, default: '', label: '登录器', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'authenticator', value: '{authenticator}' } }),\n\tskin: createField('string', { nullable: false, default: '', label: '皮肤', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'skin', value: '{skin}' } }),\n\ttheme: createField('string', { nullable: false, default: '', label: '主题', layout: { colSpan: 6 }, renderer: 'select', source: { type: 'enumeration', name: 'theme', value: '{theme}' } }),\n\tuserType: createField('string', { nullable: false, default: 'user', label: '用户类型', renderer: 'select', source: [\n\t\t{value: 'user', label: '标准用户'},\n\t\t{value: 'visitor', label: '访客用户'},\n\t] , layout: { colSpan: 3 } }),\n\tauthRequired: createField('bool', { nullable: false, default: true, label: '强制登录', layout: { colSpan: 3 } }),\n\n\n\tlogo: createField('text', { nullable: false, default: '', label: 'LOGO', renderer: 'file', layout: { colSpan: 6, colStart: 1 } }),\n\tcompany: createField('string', { nullable: false, default: '', label: '公司', layout: { colSpan: 6 } }),\n\thelp: createField('text', { nullable: true, default: '', label: '帮助链接', renderer: 'string', layout: { colSpan: 6 } }),\n\n\tpages: createField(ApplicationPage, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '应用页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\tconfigurationPages: createField(ApplicationConfigurationPage, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '配置页面', layout: { columns: [{ actions: ['add', 'remove'] }, { field: 'type' }, { field: 'widget', placeholder: 1 }] } }),\n\n\tmenus: createField(NavMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\tuserMenus: createField(UserMenu, { array: true, constraints: { applicationId: { field: 'id' }, no: { noField: true } }, label: '用户菜单', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n}, {\n\tlabel: '应用',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'company', 'title', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:application', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t}));\n\t\t},\n\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\t/** @type {Record<string, any>} */\n\t\t\tlet data = {};\n\t\t\tif (record.default && !oldRecord?.default) {\n\t\t\t\tdata.default = false;\n\t\t\t}\n\t\t\tif (record.singleDefault && !oldRecord?.singleDefault) {\n\t\t\t\tdata.singleDefault = false;\n\t\t\t}\n\t\t\tif (!Object.keys(data)) { return; }\n\t\t\tawait conn.update(Model, data, Where.not({ id: record.id }).and({\n\t\t\t\tdomain: record.domain,\n\t\t\t\tport: record.port,\n\t\t\t}));\n\t\t},\n\t}\n});\n","import { uuid, createField, createModel } from '@yongdall/model';\n\nexport default createModel('menu', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tgroupType: createField('string', { nullable: false, default: '', label: '分组类型' }),\n\tgroup: createField('text', { nullable: false, default: '', label: '分组' }),\n\tno: createField('i32', { nullable: false, default: 0, label: '顺序号' }),\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\timage: createField('text', { nullable: false, default: '', label: '图片', layout: { colSpan: 6 }, renderer: 'string' }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\trefType: createField('string', { nullable: false, default: '', label: '引用类型', layout: { colSpan: 6 } }),\n\trefId: createField('string', { nullable: false, default: '', label: '引用ID', layout: { colSpan: 6 } }),\n\trefMode: createField('string', { nullable: false, default: '', label: '引用模式', layout: { colSpan: 6 } }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tcollapsed: createField('bool', { nullable: false, default: true, label: '默认折叠', layout: { colSpan: 6 } }),\n\tautoLogin: createField('bool', { nullable: false, default: false, label: '自动登录', layout: { colSpan: 6 } }),\n\tapplicationId: createField('string', { nullable: false, default: '', label: '关联应用', layout: { colSpan: 6 } }),\n});\n","import { createField, createModel, uuid, now, Where, label } from '@yongdall/model';\n\nconst PageMenu = createModel('page.menu', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, default: 0, label: '顺序号', primary: 2 }),\n\n\ttype: createField('string', {\n\t\tnullable: false, default: '', label: '菜单类型', layout: { colSpan: 6 }, renderer: 'select', source: [\n\t\t\t{ value: '', label: '菜单' },\n\t\t\t{ value: 'divider', label: '分割线' },\n\t\t]\n\t}),\n\tlevel: createField('i16', { nullable: false, default: 0, layout: { hidden: true } }),\n\n\tlabel: createField('string', { nullable: false, default: '新菜单', label: '标签', layout: { colSpan: 6 } }),\n\ticon: createField('string', { nullable: false, default: '', label: '图标', layout: { colSpan: 6 } }),\n\tcolor: createField('string', { nullable: false, default: '', label: '颜色', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: 'string' }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: 'string' }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: 'uri' }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: 'string' }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: 'permission' }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n});\nconst PageField = createModel('page.field', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select' }),\n\tlabel: createField('string', { nullable: false, default: '', label: '列名' }),\n\twidth: createField('string', { nullable: false, default: '', label: '宽度' }),\n\talign: createField('string', { nullable: false, default: '', label: '对齐方式', renderer: 'select', source: [\n\t\t{ value: '', label: '默认' },\n\t\t{ value: 'left', label: '左对齐' },\n\t\t{ value: 'center', label: '居中' },\n\t\t{ value: 'right', label: '右对齐' },\n\t] }),\n\tenableLink: createField('bool', { nullable: false, default: false, label: '启用连接' }),\n});\n\nconst PageForm = createModel('page.form', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { head: 1 }, primary: 2 }),\n\tno: createField('i16', { nullable: false }),\n\tlayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\tmode: createField('string', { nullable: false, default: '', label: '模式', layout: { head: 1 } }),\n\t// formId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// serviceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nconst PageFilter = createModel('page.filter', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\tfield: createField('string', { nullable: false, default: '', label: '字段', renderer: 'select', layout: { head: 1 } }),\n\toperator: createField('string', { nullable: false, default: '', label: '运算符', renderer: 'select', layout: { head: 1 } }),\n\t// not: createField('bool', { nullable: false, default: false, label: '否定' }),\n});\n\nconst PageSider = createModel('page.sider', {\n\tpageId: createField('uuid', { nullable: false, renderer: 'document', primary: 1 }),\n\tno: createField('i16', { nullable: false, primary: 2 }),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'pageSider', value: '{widget}',\n\t} }),\n\n\toptions: createField('string', { nullable: false, default: '', label: '选项' }),\n\n\t// editLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// editFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// editServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n\n\t// createLayoutId: createField('uuid', { nullable: false, model: 'formLayout', label: '布局', renderer: 'document', layout: { head: 1 } }),\n\t// createFormId: createField('uuid', { nullable: true, label: '表单', layout: {head: 2} }),\n\t// createServiceId: createField('uuid', { nullable: true, label: '服务接口', layout: {head: 3} }),\n});\n\nexport default createModel('page', {\n\tapplicationId: createField('uuid', { nullable: true, label: '所属应用', renderer: 'document', model: 'application', layout: { colSpan: 4 } }),\n\tmodel: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 4 } }),\n\torganization: createField('string', { nullable: false, default: '', clearable: true, label: '组织', model: 'organization', renderer: 'document', layout: { colSpan: 4 } }),\n\tuser: createField('string', { nullable: false, default: '', label: '用户', layout: { colSpan: 4 } }),\n\tworkspace: createField('string', { nullable: false, default: '', label: '工作区', layout: { colSpan: 4 } }),\n\n\tpage: createField('string', {\n\t\tnullable: false, default: '', label: '页面', layout: { colSpan: 4 }, renderer: 'select', source: [\n\t\t\t{ label: '列表页', value: 'main' },\n\t\t\t{ label: '创建页', value: 'input' },\n\t\t\t{ label: '编辑页', value: 'edit' },\n\t\t\t{ label: '详情页', value: 'details' },\n\t\t\t{ label: '复制页', value: 'copy' },\n\t\t]\n\t}),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'page', value: '{page}', search: 'type=?page'\n\t} }),\n\n\t// TODO: 过滤器\n\t// TODO: 分页\n\t// TODO: 分组查询\n\t// TODO: 活动\n\t// TODO: 时间段字段\n\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\ttitle: createField('string', { nullable: false, default: '', label: '标题', layout: { colSpan: 6 } }),\n\ttitlePattern: createField('string', { nullable: false, default: '', label: '标题模式', layout: { colSpan: 6 } }),\n\tcurrent: createField('bool', { nullable: false, default: false, label: '当前', layout: { colSpan: 6 } }),\n\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1, renderer: 'string', layout: { colSpan: 6 } }),\n\n\turl: createField('text', { nullable: false, default: '', label: '自定义页面嵌入', renderer: 'string' }),\n\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'page', search: 'type=?page&page=?widget'\n\t}, label: '配置' }),\n\n\tdefaultQuery: createField('string', { nullable: false, default: '', label: '默认查询' }),\n\thiddenFilter: createField('string', { nullable: false, default: '', label: '隐藏过滤条件' }),\n\n\tfields: createField(PageField, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '显示字段', layout: { columns: [\n\t\t{ actions: ['add', 'move', 'remove', 'serial'] },\n\t\t{ field: 'field' },\n\t\t{ field: 'label' },\n\t\t{ field: 'width' },\n\t\t{ field: 'align' },\n\t\t{ field: 'enableLink' },\n\t] } }),\n\tfilters: createField(PageFilter, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '快速过滤', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'field' }, { field: 'operator' }, { field: 'not' }] } }),\n\n\tforms: createField(PageForm, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '表单配置', layout: { columns: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'type' }, { field: 'layoutId' }, { field: 'mode' }] } }),\n\tmenus: createField(PageMenu, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '菜单配置', layout: { levelKey: 'level', columns: [{ actions: ['collapse', 'move'] }, { field: 'label', placeholder: 1 }, { placeholder: 1 }, { actions: ['add', 'remove'] }] } }),\n\n\tsides: createField(PageSider, { array: true, constraints: { pageId: { field: 'id' }, no: { noField: true } }, label: '侧边栏', layout: { columns: [{ actions: ['add', 'move', 'remove', 'collapse', 'serial'] }, { field: 'widget' }] } }),\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n\n}, {\n\tlabel: '页面',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ permission: 'system:page', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy', 'add', 'remove'] },\n\t],\n\tindexes: [\n\t\t{ fields: ['applicationId', 'model', 'organization', 'user', 'workspace', 'page', 'current'] },\n\t\t{ fields: ['model', 'organization', 'user', 'workspace', 'page', 'current'] }\n\t],\n\tscripts: ['@yongdall/standard#models.Page'],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\t\t\tawait conn.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\tpage: record.page,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t}));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.current || oldRecord?.current) { return; }\n\t\t\tawait conn.update(Model, { current: false },\n\t\t\t\tWhere.not({ id: record.id }).and({\n\t\t\t\t\tmodel: record.model,\n\t\t\t\t\torganization: record.organization,\n\t\t\t\t\tuser: record.user,\n\t\t\t\t\tworkspace: record.workspace,\n\t\t\t\t\tpage: record.page,\n\t\t\t\t\tapplicationId: record.applicationId,\n\t\t\t\t}));\n\t\t}\n\n\t}\n});\n","import { createField, createModel, now, uuid } from '@yongdall/model';\n\nexport default createModel('database', {\n\tid: createField('uuid', { nullable: false, default: uuid, renderer: 'string', uncreatable: true, primary: 1 }),\n\n\ttype: createField('string', { nullable: false, immutable: true, label: '类型', renderer: 'select', source: { type: 'enumeration', name: 'connectionType', value: 'type'} }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称' }),\n\tname: createField('string', { nullable: false, immutable: true, label: '标识' }),\n\turi: createField('string', { nullable: false, label: '路径' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, label: '更新时间' }),\n}, {\n\tlabel: '数据库',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['type', 'name'], unique: true }\n\t],\n\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'name'], authorizations: ['options'] },\n\t\t{ permission: 'system:database', fields: ['id', 'type', 'label', 'name', 'createdAt', 'updatedAt'], authorizations: ['query'] },\n\t\t{ permission: 'system:database', fields: '*', authorizations: ['read', 'create', 'update', 'destroy'] },\n\t],\n});\n","import { createField, createModel, uuid, now, Where } from '@yongdall/model';\n\n\nexport default createModel('formLayout', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\n\tmodelId: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 6 } }),\n\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认布局' }),\n\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'formLayout', value: '{type}'\n\t} }),\n\n\tenableLink: createField('bool', { nullable: false, default: true, label: '启用连接', layout: { colSpan: 6 } }),\n\tenableLinkEditable: createField('bool', { nullable: false, default: false, label: '启用编辑时连接', layout: { colSpan: 6 } }),\n\n\tlayout: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'formLayout', search: 'type=?type'\n\t}, label: '布局' }),\n\n\n\tdescription: createField('text', { nullable: false, default: '', label: '描述' }),\n\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '表单布局',\n\tlabelField: 'label',\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:formLayout', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\thooks: {\n\t\tasync afterCreate(conn, Model, record) {\n\n\t\t\tawait conn.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t}));\n\t\t},\n\t\tasync afterUpdate(conn, Model, record, oldRecord) {\n\t\t\tif (!record.default || oldRecord?.default) { return; }\n\n\t\t\tawait conn.update(Model, { default: false }, Where.not({ id: record.id }).and({\n\t\t\t\tmodelId: record.modelId,\n\t\t\t}));\n\t\t},\n\n\t}\n\n});\n","import { createField, createModel, uuid, now, Where } from '@yongdall/model';\n\n\nexport default createModel('plugin', {\n\tid: createField('uuid', { nullable: false, default: uuid, uncreatable: true, primary: 1 }),\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\tplugin: createField('string', { nullable: false, default: '', label: '插件', layout: { colSpan: 6 }, renderer: 'select', source: {\n\t\ttype: 'enumeration', name: 'plugin', value: 'plugin', label: '{label}({plugin})',\n\t} }),\n\tenabled: createField('bool', { nullable: false, default: true, label: '启用', layout: { colSpan: 6 } }),\n\tconfig: createField('json', { nullable: false, default: {}, renderer: 'configuration', source: {\n\t\ttype: 'enumeration', name: 'plugin', search: 'plugin=?plugin'\n\t}, label: '配置' }),\n\tcreatedAt: createField('timestamp', { nullable: false, creating: now, layout: { colSpan: 6 }, label: '创建时间' }),\n\tupdatedAt: createField('timestamp', { nullable: false, updating: now, layout: { colSpan: 6 }, label: '更新时间' }),\n}, {\n\tlabel: '插件配置',\n\tlabelField: 'label',\n\tindexes: [\n\t\t{ fields: ['plugin'], unique: true },\n\t\t{ fields: ['plugin', 'enabled'] },\n\t],\n\tpermissions: [\n\t\t{ fields: ['id', 'type', 'label', 'description'], authorizations: ['options'] },\n\t\t{ permission: 'system:plugin', fields: '*', authorizations: ['query', 'read', 'create', 'update', 'destroy'] },\n\t],\n\n});\n"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-BslAnGqm.mjs";
2
+
3
+ //#region packages/standard/yongdall/migration.mjs
4
+ /** @import { Profile } from '@yongdall/migrate' */
5
+ /** @type {Profile['models']} */
6
+ const models = [
7
+ Application_default,
8
+ Menu_default,
9
+ Page_default,
10
+ Database_default,
11
+ FormLayout_default,
12
+ Plugin_default
13
+ ];
14
+
15
+ //#endregion
16
+ export { models };
17
+ //# sourceMappingURL=migration.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration.mjs","names":["Application","Menu","Page","Database","FormLayout","Plugin"],"sources":["../../../packages/standard/yongdall/migration.mjs"],"sourcesContent":["/** @import { Profile } from '@yongdall/migrate' */\nimport { Application, Menu, Page, Database, FormLayout, Plugin } from '../index.mjs';\n\n/** @type {Profile['models']} */\nexport const models = [\n\tApplication,\n\tMenu,\n\tPage,\n\tDatabase,\n\tFormLayout,\n\tPlugin,\n];\n"],"mappings":";;;;;AAIA,MAAa,SAAS;CACrBA;CACAC;CACAC;CACAC;CACAC;CACAC;CACA"}
@@ -0,0 +1,17 @@
1
+ import { a as Menu_default, i as Page_default, n as FormLayout_default, o as Application_default, r as Database_default, t as Plugin_default } from "../standard-BslAnGqm.mjs";
2
+
3
+ //#region packages/standard/yongdall/model.mjs
4
+ /** @import { ModelProfile } from '@yongdall/core' */
5
+ /** @type {ModelProfile['models']} */
6
+ const models = {
7
+ application: Application_default,
8
+ menu: Menu_default,
9
+ page: Page_default,
10
+ database: Database_default,
11
+ formLayout: FormLayout_default,
12
+ plugin: Plugin_default
13
+ };
14
+
15
+ //#endregion
16
+ export { models };
17
+ //# sourceMappingURL=model.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.mjs","names":["Application","Menu","Page","Database","FormLayout","Plugin"],"sources":["../../../packages/standard/yongdall/model.mjs"],"sourcesContent":["/** @import { ModelProfile } from '@yongdall/core' */\nimport { Application, Menu, Page, Database, FormLayout, Plugin } from '../index.mjs';\n\n/** @type {ModelProfile['models']} */\nexport const models = {\n\tapplication: Application,\n\tmenu: Menu,\n\tpage: Page,\n\tdatabase: Database,\n\tformLayout: FormLayout,\n\tplugin: Plugin,\n};\n"],"mappings":";;;;;AAIA,MAAa,SAAS;CACrB,aAAaA;CACb,MAAMC;CACN,MAAMC;CACN,UAAUC;CACV,YAAYC;CACZ,QAAQC;CACR"}
@@ -0,0 +1,200 @@
1
+ import { Where } from "@yongdall/model";
2
+ import "@yongdall/core";
3
+
4
+ //#region packages/standard/yongdall/where.mjs
5
+ /** @type {WhereHook} */
6
+ const gt = {
7
+ label: ">",
8
+ value(field, v, f) {
9
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
10
+ return Where.and(field, "<", value);
11
+ }
12
+ };
13
+ /** @type {WhereHook} */
14
+ const ge = {
15
+ label: "≥",
16
+ value(field, v, f) {
17
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
18
+ return Where.and(field, ">=", value);
19
+ }
20
+ };
21
+ /** @type {WhereHook} */
22
+ const lt = {
23
+ label: "<",
24
+ value(field, v, f) {
25
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
26
+ return Where.and(field, "<", value);
27
+ }
28
+ };
29
+ /** @type {WhereHook} */
30
+ const le = {
31
+ label: "≤",
32
+ value(field, v, f) {
33
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
34
+ return Where.and(field, "<=", value);
35
+ }
36
+ };
37
+ /** @type {Record<string, WhereHook>} */
38
+ const comparison = {
39
+ ">": gt,
40
+ ">=": ge,
41
+ "<": lt,
42
+ "<=": le,
43
+ gt,
44
+ ge,
45
+ lt,
46
+ le
47
+ };
48
+ /** @type {WhereHook} */
49
+ const eq = {
50
+ label: "=",
51
+ value(field, v, f) {
52
+ if (f.type === "bool") {
53
+ const list = new Set([v].flat().map((v) => {
54
+ if (v == null) return null;
55
+ if (typeof v !== "string") return Boolean(v);
56
+ switch (v.toLowerCase()) {
57
+ case "":
58
+ case "0":
59
+ case "n":
60
+ case "f":
61
+ case "no":
62
+ case "off":
63
+ case "false": return false;
64
+ }
65
+ return true;
66
+ }));
67
+ if (list.size === 0) return null;
68
+ if (list.size >= 3) return null;
69
+ if (list.size === 1) {
70
+ const [value] = list;
71
+ return Where.and(field, "=", value ?? null);
72
+ }
73
+ const [value] = [
74
+ true,
75
+ false,
76
+ null
77
+ ].filter((v) => !list.has(v));
78
+ return Where.not(field, "=", value ?? null);
79
+ }
80
+ if (Array.isArray(v) && v.length > 1) return Where.and(field, "in", v);
81
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
82
+ return Where.and(field, value);
83
+ },
84
+ not: "!=",
85
+ notLabel: "≠"
86
+ };
87
+ /** @type {WhereHook} */
88
+ const eqArray = {
89
+ label: "=",
90
+ value(field, v, f) {
91
+ if (f.type === "bool") {
92
+ const list = new Set([v].flat().map((v) => {
93
+ if (typeof v !== "string") return Boolean(v);
94
+ switch (v.toLowerCase()) {
95
+ case "":
96
+ case "0":
97
+ case "n":
98
+ case "f":
99
+ case "no":
100
+ case "off":
101
+ case "false": return false;
102
+ }
103
+ return true;
104
+ }));
105
+ return Where.and(field, list);
106
+ }
107
+ const array = Array.isArray(v) ? v : [v];
108
+ return Where.and(field, array);
109
+ },
110
+ not: "!=",
111
+ notLabel: "≠"
112
+ };
113
+ /** @type {Record<string, WhereHook>} */
114
+ const text = {
115
+ ...comparison,
116
+ contains: {
117
+ label: "包含",
118
+ value(field, v, f) {
119
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
120
+ if (value === null || value === "") return null;
121
+ return Where.and(field, "CONTAINS", String(value));
122
+ }
123
+ }
124
+ };
125
+ /** @type {Record<string, Record<string, WhereHook>>} */
126
+ const filters = {
127
+ "": {
128
+ "": eq,
129
+ "=": eq,
130
+ eq,
131
+ "!=": {
132
+ label: "≠",
133
+ value(field, v, f) {
134
+ if (Array.isArray(v) && v.length > 1) return Where.not(field, "in", v);
135
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
136
+ return Where.not(field, value);
137
+ }
138
+ },
139
+ ne: {
140
+ label: "≠",
141
+ value(field, v, f) {
142
+ if (Array.isArray(v) && v.length > 1) return Where.not(field, "in", v);
143
+ const value = (Array.isArray(v) ? v[0] : v) ?? null;
144
+ return Where.not(field, value);
145
+ }
146
+ },
147
+ "in": {
148
+ label: "∈",
149
+ value(field, v, f) {
150
+ const array = Array.isArray(v) ? v : [v];
151
+ return Where.and(field, "in", array);
152
+ }
153
+ },
154
+ "nin": {
155
+ label: "∉",
156
+ value: (field, v, f) => {
157
+ const array = Array.isArray(v) ? v : [v];
158
+ return Where.not(field, "in", array);
159
+ }
160
+ }
161
+ },
162
+ [`[]`]: {
163
+ "": eqArray,
164
+ "=": eqArray,
165
+ "!=": {
166
+ label: "≠",
167
+ value(field, v, f) {
168
+ const array = Array.isArray(v) ? v : [v];
169
+ return Where.not(field, array);
170
+ }
171
+ },
172
+ ne: {
173
+ label: "≠",
174
+ value(field, v, f) {
175
+ const array = Array.isArray(v) ? v : [v];
176
+ return Where.not(field, array);
177
+ }
178
+ }
179
+ },
180
+ "i16": comparison,
181
+ "i32": comparison,
182
+ "i64": comparison,
183
+ "f32": comparison,
184
+ "f64": comparison,
185
+ "decimal": comparison,
186
+ "numeric": comparison,
187
+ "money": comparison,
188
+ "date": comparison,
189
+ "time": comparison,
190
+ "datetime": comparison,
191
+ "timestamp": comparison,
192
+ "string": text,
193
+ "text": text,
194
+ "char": text
195
+ };
196
+ var where_default = filters;
197
+
198
+ //#endregion
199
+ export { where_default as default };
200
+ //# sourceMappingURL=where.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"where.mjs","names":[],"sources":["../../../packages/standard/yongdall/where.mjs"],"sourcesContent":["import { Where } from '@yongdall/model';\nimport { getUser } from '@yongdall/core';\n/** @import { WhereHook } from '@yongdall/core' */\n\n/**\n * @param {*} v\n */\nasync function getUserValue(v) {\n\tif (v == '<ME>') {\n\t\treturn await getUser() || '';\n\t}\n\treturn v ?? null;\n\n}\n/**\n * @param {*} v\n */\nasync function getUserValues(v) {\n\tconst users = [];\n\tfor (const u of Array.isArray(v) ? v : [v]) {\n\t\tusers.push(getUserValue(u));\n\t}\n\treturn Promise.all(users);\n}\n\n/** @type {WhereHook} */\nconst gt = {\n\tlabel: '>',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst ge = {\n\tlabel: '≥',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '>=', value);\n\t},\n};\n\n/** @type {WhereHook} */\nconst lt = {\n\tlabel: '<',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<', value);\n\t},\n};\n/** @type {WhereHook} */\nconst le = {\n\tlabel: '≤',\n\tvalue(field, v, f) {\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, '<=', value);\n\t},\n};\n\n/** @type {Record<string, WhereHook>} */\nconst comparison = {\n\t'>': gt,\n\t'>=': ge,\n\t'<': lt,\n\t'<=': le,\n\tgt, ge, lt, le\n};\n\n\n\n/** @type {WhereHook} */\nconst eq = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (v == null) { return null; }\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\tif (list.size === 0) { return null; }\n\t\t\tif (list.size >= 3) { return null; }\n\n\t\t\tif (list.size === 1) {\n\t\t\t\tconst [value] = list;\n\t\t\t\treturn Where.and(field, '=', value ?? null);\n\t\t\t}\n\t\t\tconst [value] = [true, false, null].filter(v => !list.has(v));\n\t\t\treturn Where.not(field, '=', value ?? null);\n\t\t}\n\t\tif (Array.isArray(v) && v.length > 1) {\n\t\t\treturn Where.and(field, 'in', v);\n\t\t}\n\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\treturn Where.and(field, value);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n/** @type {WhereHook} */\nconst eqArray = {\n\tlabel: '=',\n\tvalue(field, v, f) {\n\t\tif (f.type === 'bool') {\n\t\t\tconst list = new Set([v].flat().map(v => {\n\t\t\t\tif (typeof v !== 'string') { return Boolean(v); }\n\t\t\t\tswitch (v.toLowerCase()) {\n\t\t\t\t\tcase '':\n\t\t\t\t\tcase '0':\n\t\t\t\t\tcase 'n':\n\t\t\t\t\tcase 'f':\n\t\t\t\t\tcase 'no':\n\t\t\t\t\tcase 'off':\n\t\t\t\t\tcase 'false':\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}));\n\t\t\treturn Where.and(field, list);\n\t\t}\n\n\t\tconst array = Array.isArray(v) ? v : [v];\n\t\treturn Where.and(field, array);\n\t},\n\tnot: '!=',\n\tnotLabel: '≠',\n};\n\n/** @type {Record<string, WhereHook>} */\nconst text = {\n\t...comparison,\n\tcontains: {\n\t\tlabel: '包含',\n\t\tvalue(field, v, f) {\n\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\tif (value === null || value === '') { return null; }\n\t\t\treturn Where.and(field, 'CONTAINS', String(value));\n\t\t},\n\t}\n};\n\n/** @type {Record<string, Record<string, WhereHook>>} */\nconst filters = {\n\t'': {\n\t\t'': eq,\n\t\t'=': eq,\n\t\teq,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tif (Array.isArray(v) && v.length > 1) { return Where.not(field, 'in', v); }\n\t\t\t\tconst value = (Array.isArray(v) ? v[0] : v) ?? null;\n\t\t\t\treturn Where.not(field, value);\n\t\t\t},\n\t\t},\n\t\t'in': {\n\t\t\tlabel: '∈',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.and(field, 'in', array);\n\t\t\t},\n\n\t\t}\n\t\t, 'nin': {\n\t\t\tlabel: '∉', value: (field, v, f) => {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, 'in', array);\n\t\t\t}\n\t\t}\n\t}, [`[]`]: {\n\t\t'': eqArray,\n\t\t'=': eqArray,\n\t\t'!=': {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t\tne: {\n\t\t\tlabel: '≠',\n\t\t\tvalue(field, v, f) {\n\t\t\t\tconst array = Array.isArray(v) ? v : [v];\n\t\t\t\treturn Where.not(field, array);\n\t\t\t},\n\t\t},\n\t},\n\n\t'i16': comparison,\n\t'i32': comparison,\n\t'i64': comparison,\n\t'f32': comparison,\n\t'f64': comparison,\n\t'decimal': comparison,\n\t'numeric': comparison,\n\t'money': comparison,\n\t'date': comparison,\n\t'time': comparison,\n\t'datetime': comparison,\n\t'timestamp': comparison,\n\t'string': text,\n\t'text': text,\n\t'char': text,\n\t// 'id.user': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.and(field, 'in', values); }\n\t// \t\treturn Where.and(field, values[0] ?? null);\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\tconst values = [...new Set(await getUserValues(v))];\n\t// \t\tif (values.length > 1) { return Where.not(field, 'in', values); }\n\t// \t\treturn Where.not(field, values[0] ?? null);\n\t// \t}, 'in': async (field, v, f) => {\n\t// \t\treturn Where.and(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}, 'nin': async (field, v, f) => {\n\t// \t\treturn Where.not(field, 'in', [...new Set(await getUserValues(v))]);\n\t// \t}\n\t// },\n\t// 'id.user[]': {\n\t// \t'=': async (field, v, f) => {\n\t// \t\treturn Where.and(field, await getUserValues(v));\n\t// \t}, '!=': async (field, v, f) => {\n\t// \t\treturn Where.not(field, await getUserValues(v));\n\t// \t}\n\t// }\n\n};\nexport default filters;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ label: 服务基础模型