@yongdall/server 0.1.0 → 0.1.2

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.
@@ -1,4 +1,4 @@
1
- import { a as Menu_default, i as Application_default, n as Database_default, r as Page_default, t as FormLayout_default } from "./server-D1Ye9ylc.mjs";
1
+ import { a as Menu_default, i as Application_default, n as Database_default, r as Page_default, t as FormLayout_default } from "./server-Mh81eCJ5.mjs";
2
2
 
3
3
  //#region packages/server/hooks/index.mjs
4
4
  /** @import { Hooks } from '@yongdall/core' */
package/index.d.mts CHANGED
@@ -1,180 +1,181 @@
1
- import * as imodel94 from "imodel";
1
+ import * as imodel95 from "imodel";
2
2
  import * as _yongdall_model8 from "@yongdall/model";
3
3
 
4
4
  //#region packages/server/models/Application.d.mts
5
5
  declare const _default: _yongdall_model8.ModelTable<{
6
- label: imodel94.FieldDefine<"string", false, false>;
7
- company: imodel94.FieldDefine<"string", false, false>;
8
- title: imodel94.FieldDefine<"string", false, false>;
9
- id: imodel94.FieldDefine<"uuid", false, false>;
10
- domain: imodel94.FieldDefine<"string", false, false>;
11
- port: imodel94.FieldDefine<"i32", false, false>;
12
- path: imodel94.FieldDefine<"string", false, false>;
13
- default: imodel94.FieldDefine<"bool", false, false>;
14
- singleDefault: imodel94.FieldDefine<"bool", false, false>;
15
- theme: imodel94.FieldDefine<"string", false, false>;
16
- skin: imodel94.FieldDefine<"string", false, false>;
17
- authenticator: imodel94.FieldDefine<"string", false, false>;
18
- authRequired: imodel94.FieldDefine<"bool", false, false>;
19
- logo: imodel94.FieldDefine<"text", false, false>;
20
- type: imodel94.FieldDefine<"string", false, false>;
21
- https: imodel94.FieldDefine<"bool", false, false>;
22
- help: imodel94.FieldDefine<"text", false, true>;
23
- menus: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
24
- id: imodel94.FieldDefine<"uuid", false, false>;
25
- groupType: imodel94.FieldDefine<"string", false, false>;
26
- group: imodel94.FieldDefine<"text", false, false>;
27
- no: imodel94.FieldDefine<"i32", false, false>;
28
- type: imodel94.FieldDefine<"string", false, false>;
29
- level: imodel94.FieldDefine<"i16", false, false>;
30
- label: imodel94.FieldDefine<"string", false, false>;
31
- icon: imodel94.FieldDefine<"string", false, false>;
32
- image: imodel94.FieldDefine<"text", false, false>;
33
- color: imodel94.FieldDefine<"string", false, false>;
34
- title: imodel94.FieldDefine<"string", false, false>;
35
- description: imodel94.FieldDefine<"text", false, false>;
36
- page: imodel94.FieldDefine<"text", false, false>;
37
- path: imodel94.FieldDefine<"text", false, false>;
38
- uri: imodel94.FieldDefine<"text", false, false>;
39
- command: imodel94.FieldDefine<"text", false, false>;
40
- script: imodel94.FieldDefine<"text", false, false>;
41
- refType: imodel94.FieldDefine<"string", false, false>;
42
- refId: imodel94.FieldDefine<"string", false, false>;
43
- refMode: imodel94.FieldDefine<"string", false, false>;
44
- permission: imodel94.FieldDefine<"text", false, false>;
45
- collapsed: imodel94.FieldDefine<"bool", false, false>;
46
- autoLogin: imodel94.FieldDefine<"bool", false, false>;
47
- applicationId: imodel94.FieldDefine<"string", false, false>;
6
+ label: imodel95.FieldDefine<"string", false, false>;
7
+ company: imodel95.FieldDefine<"string", false, false>;
8
+ title: imodel95.FieldDefine<"string", false, false>;
9
+ id: imodel95.FieldDefine<"uuid", false, false>;
10
+ domain: imodel95.FieldDefine<"string", false, false>;
11
+ port: imodel95.FieldDefine<"i32", false, false>;
12
+ path: imodel95.FieldDefine<"string", false, false>;
13
+ default: imodel95.FieldDefine<"bool", false, false>;
14
+ singleDefault: imodel95.FieldDefine<"bool", false, false>;
15
+ theme: imodel95.FieldDefine<"string", false, false>;
16
+ skin: imodel95.FieldDefine<"string", false, false>;
17
+ authenticator: imodel95.FieldDefine<"string", false, false>;
18
+ authRequired: imodel95.FieldDefine<"bool", false, false>;
19
+ logo: imodel95.FieldDefine<"text", false, false>;
20
+ type: imodel95.FieldDefine<"string", false, false>;
21
+ https: imodel95.FieldDefine<"bool", false, false>;
22
+ help: imodel95.FieldDefine<"text", false, true>;
23
+ menus: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
24
+ id: imodel95.FieldDefine<"uuid", false, false>;
25
+ groupType: imodel95.FieldDefine<"string", false, false>;
26
+ group: imodel95.FieldDefine<"text", false, false>;
27
+ no: imodel95.FieldDefine<"i32", false, false>;
28
+ type: imodel95.FieldDefine<"string", false, false>;
29
+ level: imodel95.FieldDefine<"i16", false, false>;
30
+ label: imodel95.FieldDefine<"string", false, false>;
31
+ icon: imodel95.FieldDefine<"string", false, false>;
32
+ image: imodel95.FieldDefine<"text", false, false>;
33
+ color: imodel95.FieldDefine<"string", false, false>;
34
+ title: imodel95.FieldDefine<"string", false, false>;
35
+ description: imodel95.FieldDefine<"text", false, false>;
36
+ page: imodel95.FieldDefine<"text", false, false>;
37
+ path: imodel95.FieldDefine<"text", false, false>;
38
+ uri: imodel95.FieldDefine<"text", false, false>;
39
+ command: imodel95.FieldDefine<"text", false, false>;
40
+ script: imodel95.FieldDefine<"text", false, false>;
41
+ refType: imodel95.FieldDefine<"string", false, false>;
42
+ refId: imodel95.FieldDefine<"string", false, false>;
43
+ refMode: imodel95.FieldDefine<"string", false, false>;
44
+ permission: imodel95.FieldDefine<"text", false, false>;
45
+ collapsed: imodel95.FieldDefine<"bool", false, false>;
46
+ autoLogin: imodel95.FieldDefine<"bool", false, false>;
47
+ applicationId: imodel95.FieldDefine<"string", false, false>;
48
48
  }, "menu">, true, false>;
49
- userMenus: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
50
- applicationId: imodel94.FieldDefine<"uuid", false, false>;
51
- no: imodel94.FieldDefine<"i32", false, false>;
52
- type: imodel94.FieldDefine<"string", false, false>;
53
- level: imodel94.FieldDefine<"i16", false, false>;
54
- label: imodel94.FieldDefine<"string", false, false>;
55
- page: imodel94.FieldDefine<"text", false, false>;
56
- path: imodel94.FieldDefine<"text", false, false>;
57
- uri: imodel94.FieldDefine<"text", false, false>;
58
- command: imodel94.FieldDefine<"text", false, false>;
59
- logged: imodel94.FieldDefine<"bool", false, false>;
49
+ userMenus: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
50
+ applicationId: imodel95.FieldDefine<"uuid", false, false>;
51
+ no: imodel95.FieldDefine<"i32", false, false>;
52
+ type: imodel95.FieldDefine<"string", false, false>;
53
+ level: imodel95.FieldDefine<"i16", false, false>;
54
+ label: imodel95.FieldDefine<"string", false, false>;
55
+ page: imodel95.FieldDefine<"text", false, false>;
56
+ path: imodel95.FieldDefine<"text", false, false>;
57
+ uri: imodel95.FieldDefine<"text", false, false>;
58
+ command: imodel95.FieldDefine<"text", false, false>;
59
+ logged: imodel95.FieldDefine<"bool", false, false>;
60
60
  }, "application.userMenu">, true, false>;
61
- description: imodel94.FieldDefine<"text", false, false>;
61
+ description: imodel95.FieldDefine<"text", false, false>;
62
62
  }, "application">;
63
63
  //#endregion
64
64
  //#region packages/server/models/Menu.d.mts
65
65
  declare const _default$3: _yongdall_model8.ModelTable<{
66
- id: imodel94.FieldDefine<"uuid", false, false>;
67
- groupType: imodel94.FieldDefine<"string", false, false>;
68
- group: imodel94.FieldDefine<"text", false, false>;
69
- no: imodel94.FieldDefine<"i32", false, false>;
70
- type: imodel94.FieldDefine<"string", false, false>;
71
- level: imodel94.FieldDefine<"i16", false, false>;
72
- label: imodel94.FieldDefine<"string", false, false>;
73
- icon: imodel94.FieldDefine<"string", false, false>;
74
- image: imodel94.FieldDefine<"text", false, false>;
75
- color: imodel94.FieldDefine<"string", false, false>;
76
- title: imodel94.FieldDefine<"string", false, false>;
77
- description: imodel94.FieldDefine<"text", false, false>;
78
- page: imodel94.FieldDefine<"text", false, false>;
79
- path: imodel94.FieldDefine<"text", false, false>;
80
- uri: imodel94.FieldDefine<"text", false, false>;
81
- command: imodel94.FieldDefine<"text", false, false>;
82
- script: imodel94.FieldDefine<"text", false, false>;
83
- refType: imodel94.FieldDefine<"string", false, false>;
84
- refId: imodel94.FieldDefine<"string", false, false>;
85
- refMode: imodel94.FieldDefine<"string", false, false>;
86
- permission: imodel94.FieldDefine<"text", false, false>;
87
- collapsed: imodel94.FieldDefine<"bool", false, false>;
88
- autoLogin: imodel94.FieldDefine<"bool", false, false>;
89
- applicationId: imodel94.FieldDefine<"string", false, false>;
66
+ id: imodel95.FieldDefine<"uuid", false, false>;
67
+ groupType: imodel95.FieldDefine<"string", false, false>;
68
+ group: imodel95.FieldDefine<"text", false, false>;
69
+ no: imodel95.FieldDefine<"i32", false, false>;
70
+ type: imodel95.FieldDefine<"string", false, false>;
71
+ level: imodel95.FieldDefine<"i16", false, false>;
72
+ label: imodel95.FieldDefine<"string", false, false>;
73
+ icon: imodel95.FieldDefine<"string", false, false>;
74
+ image: imodel95.FieldDefine<"text", false, false>;
75
+ color: imodel95.FieldDefine<"string", false, false>;
76
+ title: imodel95.FieldDefine<"string", false, false>;
77
+ description: imodel95.FieldDefine<"text", false, false>;
78
+ page: imodel95.FieldDefine<"text", false, false>;
79
+ path: imodel95.FieldDefine<"text", false, false>;
80
+ uri: imodel95.FieldDefine<"text", false, false>;
81
+ command: imodel95.FieldDefine<"text", false, false>;
82
+ script: imodel95.FieldDefine<"text", false, false>;
83
+ refType: imodel95.FieldDefine<"string", false, false>;
84
+ refId: imodel95.FieldDefine<"string", false, false>;
85
+ refMode: imodel95.FieldDefine<"string", false, false>;
86
+ permission: imodel95.FieldDefine<"text", false, false>;
87
+ collapsed: imodel95.FieldDefine<"bool", false, false>;
88
+ autoLogin: imodel95.FieldDefine<"bool", false, false>;
89
+ applicationId: imodel95.FieldDefine<"string", false, false>;
90
90
  }, "menu">;
91
91
  //#endregion
92
92
  //#region packages/server/models/Page.d.mts
93
93
  declare const _default$4: _yongdall_model8.ModelTable<{
94
- model: imodel94.FieldDefine<"string", false, false>;
95
- organization: imodel94.FieldDefine<"string", false, false>;
96
- user: imodel94.FieldDefine<"string", false, false>;
97
- workspace: imodel94.FieldDefine<"string", false, false>;
98
- page: imodel94.FieldDefine<"string", false, false>;
99
- widget: imodel94.FieldDefine<"string", false, false>;
100
- label: imodel94.FieldDefine<"string", false, false>;
101
- title: imodel94.FieldDefine<"string", false, false>;
102
- titlePattern: imodel94.FieldDefine<"string", false, false>;
103
- current: imodel94.FieldDefine<"bool", false, false>;
104
- id: imodel94.FieldDefine<"uuid", false, false>;
105
- config: imodel94.FieldDefine<"json", false, false>;
106
- defaultQuery: imodel94.FieldDefine<"string", false, false>;
107
- hiddenFilter: imodel94.FieldDefine<"string", false, false>;
108
- fields: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
109
- pageId: imodel94.FieldDefine<"uuid", false, false>;
110
- no: imodel94.FieldDefine<"i16", false, false>;
111
- field: imodel94.FieldDefine<"string", false, false>;
112
- label: imodel94.FieldDefine<"string", false, false>;
113
- width: imodel94.FieldDefine<"string", false, false>;
94
+ applicationId: imodel95.FieldDefine<"uuid", false, true>;
95
+ model: imodel95.FieldDefine<"string", false, false>;
96
+ organization: imodel95.FieldDefine<"string", false, false>;
97
+ user: imodel95.FieldDefine<"string", false, false>;
98
+ workspace: imodel95.FieldDefine<"string", false, false>;
99
+ page: imodel95.FieldDefine<"string", false, false>;
100
+ widget: imodel95.FieldDefine<"string", false, false>;
101
+ label: imodel95.FieldDefine<"string", false, false>;
102
+ title: imodel95.FieldDefine<"string", false, false>;
103
+ titlePattern: imodel95.FieldDefine<"string", false, false>;
104
+ current: imodel95.FieldDefine<"bool", false, false>;
105
+ id: imodel95.FieldDefine<"uuid", false, false>;
106
+ config: imodel95.FieldDefine<"json", false, false>;
107
+ defaultQuery: imodel95.FieldDefine<"string", false, false>;
108
+ hiddenFilter: imodel95.FieldDefine<"string", false, false>;
109
+ fields: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
110
+ pageId: imodel95.FieldDefine<"uuid", false, false>;
111
+ no: imodel95.FieldDefine<"i16", false, false>;
112
+ field: imodel95.FieldDefine<"string", false, false>;
113
+ label: imodel95.FieldDefine<"string", false, false>;
114
+ width: imodel95.FieldDefine<"string", false, false>;
114
115
  }, "page.field">, true, false>;
115
- filters: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
116
- pageId: imodel94.FieldDefine<"uuid", false, false>;
117
- no: imodel94.FieldDefine<"i16", false, false>;
118
- field: imodel94.FieldDefine<"string", false, false>;
119
- operator: imodel94.FieldDefine<"string", false, false>;
116
+ filters: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
117
+ pageId: imodel95.FieldDefine<"uuid", false, false>;
118
+ no: imodel95.FieldDefine<"i16", false, false>;
119
+ field: imodel95.FieldDefine<"string", false, false>;
120
+ operator: imodel95.FieldDefine<"string", false, false>;
120
121
  }, "page.filter">, true, false>;
121
- forms: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
122
- pageId: imodel94.FieldDefine<"uuid", false, false>;
123
- type: imodel94.FieldDefine<"string", false, false>;
124
- no: imodel94.FieldDefine<"i16", false, false>;
125
- layoutId: imodel94.FieldDefine<"uuid", false, false>;
126
- mode: imodel94.FieldDefine<"string", false, false>;
122
+ forms: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
123
+ pageId: imodel95.FieldDefine<"uuid", false, false>;
124
+ type: imodel95.FieldDefine<"string", false, false>;
125
+ no: imodel95.FieldDefine<"i16", false, false>;
126
+ layoutId: imodel95.FieldDefine<"uuid", false, false>;
127
+ mode: imodel95.FieldDefine<"string", false, false>;
127
128
  }, "page.form">, true, false>;
128
- menus: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
129
- pageId: imodel94.FieldDefine<"uuid", false, false>;
130
- no: imodel94.FieldDefine<"i16", false, false>;
131
- type: imodel94.FieldDefine<"string", false, false>;
132
- level: imodel94.FieldDefine<"i16", false, false>;
133
- label: imodel94.FieldDefine<"string", false, false>;
134
- icon: imodel94.FieldDefine<"string", false, false>;
135
- color: imodel94.FieldDefine<"string", false, false>;
136
- title: imodel94.FieldDefine<"string", false, false>;
137
- description: imodel94.FieldDefine<"text", false, false>;
138
- page: imodel94.FieldDefine<"text", false, false>;
139
- path: imodel94.FieldDefine<"text", false, false>;
140
- uri: imodel94.FieldDefine<"text", false, false>;
141
- command: imodel94.FieldDefine<"text", false, false>;
142
- script: imodel94.FieldDefine<"text", false, false>;
143
- permission: imodel94.FieldDefine<"text", false, false>;
129
+ menus: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
130
+ pageId: imodel95.FieldDefine<"uuid", false, false>;
131
+ no: imodel95.FieldDefine<"i16", false, false>;
132
+ type: imodel95.FieldDefine<"string", false, false>;
133
+ level: imodel95.FieldDefine<"i16", false, false>;
134
+ label: imodel95.FieldDefine<"string", false, false>;
135
+ icon: imodel95.FieldDefine<"string", false, false>;
136
+ color: imodel95.FieldDefine<"string", false, false>;
137
+ title: imodel95.FieldDefine<"string", false, false>;
138
+ description: imodel95.FieldDefine<"text", false, false>;
139
+ page: imodel95.FieldDefine<"text", false, false>;
140
+ path: imodel95.FieldDefine<"text", false, false>;
141
+ uri: imodel95.FieldDefine<"text", false, false>;
142
+ command: imodel95.FieldDefine<"text", false, false>;
143
+ script: imodel95.FieldDefine<"text", false, false>;
144
+ permission: imodel95.FieldDefine<"text", false, false>;
144
145
  }, "page.menu">, true, false>;
145
- sides: imodel94.FieldDefine<_yongdall_model8.ModelTable<{
146
- pageId: imodel94.FieldDefine<"uuid", false, false>;
147
- no: imodel94.FieldDefine<"i16", false, false>;
148
- widget: imodel94.FieldDefine<"string", false, false>;
149
- options: imodel94.FieldDefine<"string", false, false>;
146
+ sides: imodel95.FieldDefine<_yongdall_model8.ModelTable<{
147
+ pageId: imodel95.FieldDefine<"uuid", false, false>;
148
+ no: imodel95.FieldDefine<"i16", false, false>;
149
+ widget: imodel95.FieldDefine<"string", false, false>;
150
+ options: imodel95.FieldDefine<"string", false, false>;
150
151
  }, "page.sider">, true, false>;
151
- description: imodel94.FieldDefine<"text", false, false>;
152
- createdAt: imodel94.FieldDefine<"timestamp", false, false>;
153
- updatedAt: imodel94.FieldDefine<"timestamp", false, false>;
152
+ description: imodel95.FieldDefine<"text", false, false>;
153
+ createdAt: imodel95.FieldDefine<"timestamp", false, false>;
154
+ updatedAt: imodel95.FieldDefine<"timestamp", false, false>;
154
155
  }, "page">;
155
156
  //#endregion
156
157
  //#region packages/server/models/Database.d.mts
157
158
  declare const _default$1: _yongdall_model8.ModelTable<{
158
- id: imodel94.FieldDefine<"uuid", false, false>;
159
- type: imodel94.FieldDefine<"string", false, false>;
160
- label: imodel94.FieldDefine<"string", false, false>;
161
- name: imodel94.FieldDefine<"string", false, false>;
162
- uri: imodel94.FieldDefine<"string", false, false>;
163
- createdAt: imodel94.FieldDefine<"timestamp", false, false>;
164
- updatedAt: imodel94.FieldDefine<"timestamp", false, false>;
159
+ id: imodel95.FieldDefine<"uuid", false, false>;
160
+ type: imodel95.FieldDefine<"string", false, false>;
161
+ label: imodel95.FieldDefine<"string", false, false>;
162
+ name: imodel95.FieldDefine<"string", false, false>;
163
+ uri: imodel95.FieldDefine<"string", false, false>;
164
+ createdAt: imodel95.FieldDefine<"timestamp", false, false>;
165
+ updatedAt: imodel95.FieldDefine<"timestamp", false, false>;
165
166
  }, "database">;
166
167
  //#endregion
167
168
  //#region packages/server/models/FormLayout.d.mts
168
169
  declare const _default$2: _yongdall_model8.ModelTable<{
169
- id: imodel94.FieldDefine<"uuid", false, false>;
170
- label: imodel94.FieldDefine<"string", false, false>;
171
- modelId: imodel94.FieldDefine<"string", false, false>;
172
- default: imodel94.FieldDefine<"bool", false, false>;
173
- type: imodel94.FieldDefine<"string", false, false>;
174
- layout: imodel94.FieldDefine<"json", false, false>;
175
- description: imodel94.FieldDefine<"text", false, false>;
176
- createdAt: imodel94.FieldDefine<"timestamp", false, false>;
177
- updatedAt: imodel94.FieldDefine<"timestamp", false, false>;
170
+ id: imodel95.FieldDefine<"uuid", false, false>;
171
+ label: imodel95.FieldDefine<"string", false, false>;
172
+ modelId: imodel95.FieldDefine<"string", false, false>;
173
+ default: imodel95.FieldDefine<"bool", false, false>;
174
+ type: imodel95.FieldDefine<"string", false, false>;
175
+ layout: imodel95.FieldDefine<"json", false, false>;
176
+ description: imodel95.FieldDefine<"text", false, false>;
177
+ createdAt: imodel95.FieldDefine<"timestamp", false, false>;
178
+ updatedAt: imodel95.FieldDefine<"timestamp", false, false>;
178
179
  }, "formLayout">;
179
180
  //#endregion
180
181
  export { _default as Application, _default$1 as Database, _default$2 as FormLayout, _default$3 as Menu, _default$4 as Page };
package/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { a as Menu_default, i as Application_default, n as Database_default, r as Page_default, t as FormLayout_default } from "./server-D1Ye9ylc.mjs";
1
+ import { a as Menu_default, i as Application_default, n as Database_default, r as Page_default, t as FormLayout_default } from "./server-Mh81eCJ5.mjs";
2
2
 
3
3
  export { Application_default as Application, Database_default as Database, FormLayout_default as FormLayout, Menu_default as Menu, Page_default as Page };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yongdall/server",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "type": "module",
@@ -672,35 +672,42 @@ const PageSider = createModel("page.sider", {
672
672
  })
673
673
  });
674
674
  var Page_default = createModel("page", {
675
+ applicationId: createField("uuid", {
676
+ nullable: true,
677
+ label: "所属应用",
678
+ renderer: "document",
679
+ model: "application",
680
+ layout: { colSpan: 4 }
681
+ }),
675
682
  model: createField("string", {
676
683
  nullable: false,
677
684
  default: "",
678
685
  label: "模型",
679
- layout: { colSpan: 6 }
686
+ layout: { colSpan: 4 }
680
687
  }),
681
688
  organization: createField("string", {
682
689
  nullable: false,
683
690
  default: "",
684
691
  label: "组织",
685
- layout: { colSpan: 6 }
692
+ layout: { colSpan: 4 }
686
693
  }),
687
694
  user: createField("string", {
688
695
  nullable: false,
689
696
  default: "",
690
697
  label: "用户",
691
- layout: { colSpan: 6 }
698
+ layout: { colSpan: 4 }
692
699
  }),
693
700
  workspace: createField("string", {
694
701
  nullable: false,
695
702
  default: "",
696
703
  label: "工作区",
697
- layout: { colSpan: 6 }
704
+ layout: { colSpan: 4 }
698
705
  }),
699
706
  page: createField("string", {
700
707
  nullable: false,
701
708
  default: "",
702
709
  label: "页面",
703
- layout: { colSpan: 6 },
710
+ layout: { colSpan: 4 },
704
711
  renderer: {
705
712
  component: "select",
706
713
  values: [
@@ -911,6 +918,14 @@ var Page_default = createModel("page", {
911
918
  ]
912
919
  }],
913
920
  indexes: [{ fields: [
921
+ "applicationId",
922
+ "model",
923
+ "organization",
924
+ "user",
925
+ "workspace",
926
+ "page",
927
+ "current"
928
+ ] }, { fields: [
914
929
  "model",
915
930
  "organization",
916
931
  "user",
@@ -925,7 +940,8 @@ var Page_default = createModel("page", {
925
940
  organization: record.organization,
926
941
  user: record.user,
927
942
  workspace: record.workspace,
928
- page: record.page
943
+ page: record.page,
944
+ applicationId: record.applicationId
929
945
  }));
930
946
  },
931
947
  async afterUpdate(conn, Model, record, oldRecord) {
@@ -935,7 +951,8 @@ var Page_default = createModel("page", {
935
951
  organization: record.organization,
936
952
  user: record.user,
937
953
  workspace: record.workspace,
938
- page: record.page
954
+ page: record.page,
955
+ applicationId: record.applicationId
939
956
  }));
940
957
  }
941
958
  }
@@ -1134,4 +1151,4 @@ var FormLayout_default = createModel("formLayout", {
1134
1151
 
1135
1152
  //#endregion
1136
1153
  export { Menu_default as a, Application_default as i, Database_default as n, Page_default as r, FormLayout_default as t };
1137
- //# sourceMappingURL=server-D1Ye9ylc.mjs.map
1154
+ //# sourceMappingURL=server-Mh81eCJ5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-Mh81eCJ5.mjs","names":["Menu"],"sources":["../../packages/server/models/Menu.mjs","../../packages/server/models/Application.mjs","../../packages/server/models/Page.mjs","../../packages/server/models/Database.mjs","../../packages/server/models/FormLayout.mjs"],"sourcesContent":["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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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: [{ component: '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: [{ component: 'string' }] }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: [{ component: '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: [{ component: '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, Where } from '@yongdall/model';\nimport Menu from './Menu.mjs';\n\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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t// { value: 'button', label: '按钮' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', renderer: [{ component: 'string' }] }),\n\tlogged: createField('bool', { nullable: false, default: false, label: '仅登陆用户' }),\n});\n\n\nexport default createModel('application', {\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\tcompany: createField('string', { nullable: false, default: '', label: '公司', layout: { colSpan: 6 } }),\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: 4 } }),\n\tport: createField('i32', { nullable: false, default: 0, label: '端口', layout: { colSpan: 4 } }),\n\tpath: createField('string', { nullable: false, default: '', label: '路径', layout: { colSpan: 10 } }),\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认', layout: { colSpan: 3 } }),\n\tsingleDefault: createField('bool', { nullable: false, default: false, label: '单用户默认', layout: { colSpan: 3 } }),\n\ttheme: createField('string', { nullable: false, default: '', label: '主题', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'theme', value: '{theme}' } }),\n\tskin: createField('string', { nullable: false, default: '', label: '皮肤', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'skin', value: '{skin}' } }),\n\tauthenticator: createField('string', { nullable: false, default: '', label: '登录器', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'authenticator', value: '{authenticator}' } }),\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 } }),\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { colSpan: 6 } }),\n\thttps: createField('bool', { nullable: false, default: false, label: '采用 HTTPS', layout: { colSpan: 6 } }),\n\n\thelp: createField('text', { nullable: true, default: '', label: '帮助链接', renderer: 'string', layout: { colSpan: 6 } }),\n\n\tmenus: createField(Menu, { array: true, constraints: { groupType: { value: 'application' }, group: { 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 { createField, createModel, uuid, now, Where } 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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: [{ component: 'permission' }] }),\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: '字段', layout: { head: 1 } }),\n\tlabel: createField('string', { nullable: false, default: '', label: '列名', layout: { head: 2 } }),\n\twidth: createField('string', { nullable: false, default: '', label: '宽度', layout: { head: 3 } }),\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: '字段', layout: { head: 1 } }),\n\toperator: createField('string', { nullable: false, default: '', label: '运算符', 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: { component: 'select', type: 'enumeration', name: 'pageSider', value: '{widget}' } }),\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: '', label: '组织', 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: {\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ label: '列表页', value: 'main' },\n\t\t\t\t{ label: '创建页', value: 'input' },\n\t\t\t\t{ label: '编辑页', value: 'edit' },\n\t\t\t\t{ label: '详情页', value: 'details' },\n\t\t\t\t{ label: '复制页', value: 'copy' },\n\t\t\t]\n\t\t}\n\t}),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', layout: { colSpan: 6 }, renderer: { component: 'select', type: 'enumeration', name: 'page', value: '{page}', filter: 'type=?page' } }),\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\n\tconfig: createField('json', { nullable: false, default: {}, 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: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'field' }, { field: 'label' }, { field: 'width' }] } }),\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\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', {\n\t\tnullable: false, immutable: true, label: '类型', renderer: {\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: 'rdb', label: '关系型数据库' },\n\t\t\t\t{ value: 'fs', label: '文件存储' },\n\t\t\t\t{ value: 'mq', label: '消息队列' },\n\t\t\t\t{ value: 'tq', label: '任务队列' },\n\t\t\t\t{ value: 'cache', label: '缓存' },\n\t\t\t]\n\t\t}\n\t}),\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 } }),\n\n\tlayout: createField('json', { nullable: false, default: {}, label: '布局' }),\n\n\n\n\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\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"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-D1Ye9ylc.mjs","names":["Menu"],"sources":["../../packages/server/models/Menu.mjs","../../packages/server/models/Application.mjs","../../packages/server/models/Page.mjs","../../packages/server/models/Database.mjs","../../packages/server/models/FormLayout.mjs"],"sourcesContent":["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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t{ value: 'button', label: '按钮' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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: [{ component: '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: [{ component: 'string' }] }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: [{ component: '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: [{ component: '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, Where } from '@yongdall/model';\nimport Menu from './Menu.mjs';\n\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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t// { value: 'button', label: '按钮' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', renderer: [{ component: 'string' }] }),\n\tlogged: createField('bool', { nullable: false, default: false, label: '仅登陆用户' }),\n});\n\n\nexport default createModel('application', {\n\tlabel: createField('string', { nullable: false, default: '', label: '名称', layout: { colSpan: 6 } }),\n\tcompany: createField('string', { nullable: false, default: '', label: '公司', layout: { colSpan: 6 } }),\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: 4 } }),\n\tport: createField('i32', { nullable: false, default: 0, label: '端口', layout: { colSpan: 4 } }),\n\tpath: createField('string', { nullable: false, default: '', label: '路径', layout: { colSpan: 10 } }),\n\tdefault: createField('bool', { nullable: false, default: false, label: '默认', layout: { colSpan: 3 } }),\n\tsingleDefault: createField('bool', { nullable: false, default: false, label: '单用户默认', layout: { colSpan: 3 } }),\n\ttheme: createField('string', { nullable: false, default: '', label: '主题', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'theme', value: '{theme}' } }),\n\tskin: createField('string', { nullable: false, default: '', label: '皮肤', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'skin', value: '{skin}' } }),\n\tauthenticator: createField('string', { nullable: false, default: '', label: '登录器', layout: { colSpan: 7 }, renderer: { component: 'select', type: 'enumeration', name: 'authenticator', value: '{authenticator}' } }),\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 } }),\n\ttype: createField('string', { nullable: false, default: '', label: '类型', layout: { colSpan: 6 } }),\n\thttps: createField('bool', { nullable: false, default: false, label: '采用 HTTPS', layout: { colSpan: 6 } }),\n\n\thelp: createField('text', { nullable: true, default: '', label: '帮助链接', renderer: 'string', layout: { colSpan: 6 } }),\n\n\tmenus: createField(Menu, { array: true, constraints: { groupType: { value: 'application' }, group: { 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 { createField, createModel, uuid, now, Where } 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: [{\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: '', label: '菜单' },\n\t\t\t\t{ value: 'divider', label: '分割线' },\n\t\t\t]\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\tdescription: createField('text', { nullable: false, default: '', label: '描述', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\n\tpage: createField('text', { nullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\tpath: createField('text', { nullable: false, default: '', label: '页面路径', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\turi: createField('text', { nullable: false, default: '', label: 'URI', layout: { colSpan: 6 }, renderer: [{ component: 'uri' }] }),\n\tcommand: createField('text', { nullable: false, default: '', label: '命令', layout: { colSpan: 6 }, renderer: [{ component: 'string' }] }),\n\n\tscript: createField('text', { nullable: false, default: '', label: '脚本' }),\n\n\tpermission: createField('text', { nullable: false, default: '', label: '权限', renderer: [{ component: 'permission' }] }),\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: '字段', layout: { head: 1 } }),\n\tlabel: createField('string', { nullable: false, default: '', label: '列名', layout: { head: 2 } }),\n\twidth: createField('string', { nullable: false, default: '', label: '宽度', layout: { head: 3 } }),\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: '字段', layout: { head: 1 } }),\n\toperator: createField('string', { nullable: false, default: '', label: '运算符', 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: { component: 'select', type: 'enumeration', name: 'pageSider', value: '{widget}' } }),\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\tmodel: createField('string', { nullable: false, default: '', label: '模型', layout: { colSpan: 6 } }),\n\torganization: createField('string', { nullable: false, default: '', label: '组织', layout: { colSpan: 6 } }),\n\tuser: createField('string', { nullable: false, default: '', label: '用户', layout: { colSpan: 6 } }),\n\tworkspace: createField('string', { nullable: false, default: '', label: '工作区', layout: { colSpan: 6 } }),\n\n\tpage: createField('string', {\n\t\tnullable: false, default: '', label: '页面', layout: { colSpan: 6 }, renderer: {\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ label: '列表页', value: 'main' },\n\t\t\t\t{ label: '创建页', value: 'input' },\n\t\t\t\t{ label: '编辑页', value: 'edit' },\n\t\t\t\t{ label: '详情页', value: 'details' },\n\t\t\t\t{ label: '复制页', value: 'copy' },\n\t\t\t]\n\t\t}\n\t}),\n\twidget: createField('string', { nullable: false, default: '', label: '组件', layout: { colSpan: 6 }, renderer: { component: 'select', type: 'enumeration', name: 'page', value: '{page}', filter: 'type=?page' } }),\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\n\tconfig: createField('json', { nullable: false, default: {}, 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: [{ actions: ['add', 'move', 'remove', 'serial'] }, { field: 'field' }, { field: 'label' }, { field: 'width' }] } }),\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: ['model', 'organization', 'user', 'workspace', 'page', 'current'] }\n\t],\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}))\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}))\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', {\n\t\tnullable: false, immutable: true, label: '类型', renderer: {\n\t\t\tcomponent: 'select', values: [\n\t\t\t\t{ value: 'rdb', label: '关系型数据库' },\n\t\t\t\t{ value: 'fs', label: '文件存储' },\n\t\t\t\t{ value: 'mq', label: '消息队列' },\n\t\t\t\t{ value: 'tq', label: '任务队列' },\n\t\t\t\t{ value: 'cache', label: '缓存' },\n\t\t\t]\n\t\t}\n\t}),\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 } }),\n\n\tlayout: createField('json', { nullable: false, default: {}, label: '布局' }),\n\n\n\n\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\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"],"mappings":"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"}