@steedos/service-fields-indexs 3.0.0-beta.99 → 3.0.0

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.
Files changed (41) hide show
  1. package/collection-indexes/cfs.instances.files.index.js +40 -0
  2. package/collection-indexes/cms_categories.index.js +26 -0
  3. package/collection-indexes/cms_posts.index.js +34 -0
  4. package/collection-indexes/default_db.js +27 -8
  5. package/collection-indexes/flow_positions.index.js +60 -0
  6. package/collection-indexes/flow_roles.index.js +35 -0
  7. package/collection-indexes/flows.index.js +116 -0
  8. package/collection-indexes/forms.index.js +69 -0
  9. package/collection-indexes/instance_number_rules.index.js +26 -0
  10. package/collection-indexes/instance_record_queue.index.js +33 -0
  11. package/collection-indexes/instance_tasks.index.js +35 -51
  12. package/collection-indexes/instances.index.js +242 -0
  13. package/collection-indexes/organizations.index.js +88 -0
  14. package/collection-indexes/process_delegation_rules.index.js +26 -0
  15. package/collection-indexes/space_user_signs.index.js +26 -0
  16. package/collection-indexes/space_users.index.js +94 -0
  17. package/collection-indexes/spaces.index.js +50 -0
  18. package/collection-indexes/steedos_keyvalue.index.js +60 -0
  19. package/collection-indexes/users.index.js +145 -0
  20. package/collection-indexes/webhooks.index.js +29 -0
  21. package/collection-indexes/workflow_nav.index.js +37 -0
  22. package/package.json +2 -3
  23. package/package.service.js +4 -22
  24. package/meteor-collection-indexs/cfs.instances.files.object.js +0 -6
  25. package/meteor-collection-indexs/cms_categories.object.js +0 -15
  26. package/meteor-collection-indexs/cms_posts.object.js +0 -22
  27. package/meteor-collection-indexs/flow_positions.object.js +0 -34
  28. package/meteor-collection-indexs/flow_roles.object.js +0 -15
  29. package/meteor-collection-indexs/flows.object.js +0 -85
  30. package/meteor-collection-indexs/forms.object.js +0 -48
  31. package/meteor-collection-indexs/instance_number_rules.object.js +0 -8
  32. package/meteor-collection-indexs/instance_record_queue.object.js +0 -11
  33. package/meteor-collection-indexs/instances.object.js +0 -221
  34. package/meteor-collection-indexs/organizations.object.js +0 -65
  35. package/meteor-collection-indexs/process_delegation_rules.object.js +0 -10
  36. package/meteor-collection-indexs/space_user_signs.object.js +0 -9
  37. package/meteor-collection-indexs/space_users.object.js +0 -74
  38. package/meteor-collection-indexs/spaces.object.js +0 -27
  39. package/meteor-collection-indexs/steedos_keyvalue.object.js +0 -45
  40. package/meteor-collection-indexs/users.object.js +0 -109
  41. package/meteor-collection-indexs/webhooks.object.js +0 -18
@@ -0,0 +1,242 @@
1
+ // instances_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('instances');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 instances');
12
+ return;
13
+ }
14
+
15
+ // 使用 try-catch 包装可能出错的索引创建
16
+ try {
17
+ await createIndexIfNotExists(collection, 'submitter', {
18
+ "submitter": 1
19
+ }, {
20
+ background: true
21
+ });
22
+ } catch (error) {
23
+ console.warn('创建 submitter 索引时出错:', error.message);
24
+ }
25
+
26
+ try {
27
+ await createIndexIfNotExists(collection, 'applicant', {
28
+ "applicant": 1
29
+ }, {
30
+ background: true
31
+ });
32
+ } catch (error) {
33
+ console.warn('创建 applicant 索引时出错:', error.message);
34
+ }
35
+
36
+ try {
37
+ await createIndexIfNotExists(collection, 'outbox_users', {
38
+ "outbox_users": 1
39
+ }, {
40
+ background: true
41
+ });
42
+ } catch (error) {
43
+ console.warn('创建 outbox_users 索引时出错:', error.message);
44
+ }
45
+
46
+ // 基础索引
47
+ await createIndexIfNotExists(collection, 'space_is_deleted', {
48
+ "space": 1,
49
+ "is_deleted": 1
50
+ }, {
51
+ background: true
52
+ });
53
+
54
+ await createIndexIfNotExists(collection, 'state', {
55
+ "state": 1
56
+ }, {
57
+ background: true
58
+ });
59
+
60
+ await createIndexIfNotExists(collection, 'is_archived', {
61
+ "is_archived": 1
62
+ }, {
63
+ background: true
64
+ });
65
+
66
+ await createIndexIfNotExists(collection, 'id_submit_date', {
67
+ "_id": 1,
68
+ "submit_date": 1
69
+ }, {
70
+ background: true
71
+ });
72
+
73
+ await createIndexIfNotExists(collection, 'space_flow_state_submit_date', {
74
+ "space": 1,
75
+ "flow": 1,
76
+ "state": 1,
77
+ "submit_date": 1
78
+ }, {
79
+ background: true
80
+ });
81
+
82
+ await createIndexIfNotExists(collection, 'created_modified', {
83
+ "created": 1,
84
+ "modified": 1
85
+ }, {
86
+ background: true
87
+ });
88
+
89
+ await createIndexIfNotExists(collection, 'space_state_is_deleted', {
90
+ "space": 1,
91
+ "state": 1,
92
+ "is_deleted": 1
93
+ }, {
94
+ background: true
95
+ });
96
+
97
+ // 根据配置决定是否创建 keywords 索引
98
+ const objectql = require("@steedos/objectql");
99
+ const config = objectql.getSteedosConfig();
100
+ if (!config.datasources.default.documentDB) {
101
+ await createIndexIfNotExists(collection, 'keywords_hashed', {
102
+ "keywords": "hashed"
103
+ }, {
104
+ background: true
105
+ });
106
+ }
107
+
108
+ // 复合索引
109
+ await createIndexIfNotExists(collection, 'space_submit_date_is_deleted_final_decision_state', {
110
+ "space": 1,
111
+ "submit_date": 1,
112
+ "is_deleted": 1,
113
+ "final_decision": 1,
114
+ "state": 1
115
+ });
116
+
117
+ await createIndexIfNotExists(collection, 'traces_approves_type_handler', {
118
+ "traces.approves.type": 1,
119
+ "traces.approves.handler": 1
120
+ });
121
+
122
+ try {
123
+ await createIndexIfNotExists(collection, 'category', {
124
+ "category": 1
125
+ }, {
126
+ background: true
127
+ });
128
+ } catch (error) {
129
+ console.warn('创建 category 索引时出错:', error.message);
130
+ }
131
+
132
+ await createIndexIfNotExists(collection, 'record_ids', {
133
+ "record_ids.ids": 1,
134
+ "record_ids.o": 1,
135
+ }, {
136
+ background: true
137
+ });
138
+
139
+ await createIndexIfNotExists(collection, 'traces_approves_auto_submitted', {
140
+ "traces.approves.auto_submitted": 1
141
+ }, {
142
+ background: true
143
+ });
144
+
145
+ // 监控箱-管理员
146
+ try {
147
+ await createIndexIfNotExists(collection, 'monitor_admin', {
148
+ space: 1,
149
+ state: 1,
150
+ submit_date: -1,
151
+ }, { background: true });
152
+ } catch (error) {
153
+ console.warn('创建 monitor_admin 索引时出错:', error.message);
154
+ }
155
+
156
+ try {
157
+ await createIndexIfNotExists(collection, 'state_category_is_deleted_space', {
158
+ "state": 1,
159
+ "category": 1,
160
+ "is_deleted": 1,
161
+ "space": 1
162
+ });
163
+ } catch (error) {
164
+ console.warn('创建 state_category_is_deleted_space 索引时出错:', error.message);
165
+ }
166
+
167
+ // 监控箱-用户
168
+ try {
169
+ await createIndexIfNotExists(collection, 'monitor_user', {
170
+ space: 1,
171
+ submit_date: -1,
172
+ flow: 1,
173
+ category: 1,
174
+ state: 1,
175
+ is_deleted: 1,
176
+ name: 1,
177
+ }, { background: true });
178
+ } catch (error) {
179
+ console.warn('创建 monitor_user 索引时出错:', error.message);
180
+ }
181
+
182
+ // 草稿箱
183
+ try {
184
+ await createIndexIfNotExists(collection, 'draft', {
185
+ space: 1,
186
+ submitter: 1,
187
+ state: 1,
188
+ modified: -1,
189
+ }, { background: true });
190
+ } catch (error) {
191
+ console.warn('创建 draft 索引时出错:', error.message);
192
+ }
193
+
194
+ // 进行中
195
+ try {
196
+ await createIndexIfNotExists(collection, 'pending', {
197
+ space: 1,
198
+ state: 1,
199
+ modified: -1,
200
+ }, { background: true });
201
+ } catch (error) {
202
+ console.warn('创建 pending 索引时出错:', error.message);
203
+ }
204
+
205
+ try {
206
+ await createIndexIfNotExists(collection, 'pending_applicant', {
207
+ space: 1,
208
+ state: 1,
209
+ applicant: 1,
210
+ modified: -1,
211
+ }, { background: true });
212
+ } catch (error) {
213
+ console.warn('创建 pending_applicant 索引时出错:', error.message);
214
+ }
215
+
216
+ // 推送相关索引
217
+ try {
218
+ await createIndexIfNotExists(collection, 'push_manager_inbox_users_category', {
219
+ inbox_users: 1,
220
+ category: 1,
221
+ }, {
222
+ background: true
223
+ });
224
+ } catch (error) {
225
+ console.warn('创建 push_manager_inbox_users_category 索引时出错:', error.message);
226
+ }
227
+
228
+ try {
229
+ await createIndexIfNotExists(collection, 'push_manager_cc_users_category', {
230
+ cc_users: 1,
231
+ category: 1,
232
+ }, {
233
+ background: true
234
+ });
235
+ } catch (error) {
236
+ console.warn('创建 push_manager_cc_users_category 索引时出错:', error.message);
237
+ }
238
+ }
239
+
240
+ module.exports = {
241
+ run
242
+ };
@@ -0,0 +1,88 @@
1
+ // organizations_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('organizations');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 organizations');
12
+ return;
13
+ }
14
+
15
+ // 创建 space 和 users 复合索引
16
+ await createIndexIfNotExists(collection, 'space_users', {
17
+ "space": 1,
18
+ "users": 1
19
+ }, {
20
+ background: true
21
+ });
22
+
23
+ // 创建 _id 和 space 复合索引
24
+ await createIndexIfNotExists(collection, 'id_space', {
25
+ "_id": 1,
26
+ "space": 1
27
+ }, {
28
+ background: true
29
+ });
30
+
31
+ // 创建 name、space、_id 和 parent 复合索引
32
+ await createIndexIfNotExists(collection, 'name_space_id_parent', {
33
+ "name": 1,
34
+ "space": 1,
35
+ "_id": 1,
36
+ "parent": 1
37
+ }, {
38
+ background: true
39
+ });
40
+
41
+ // 创建 space 和 is_deleted 复合索引
42
+ await createIndexIfNotExists(collection, 'space_is_deleted', {
43
+ "space": 1,
44
+ "is_deleted": 1
45
+ }, {
46
+ background: true
47
+ });
48
+
49
+ // 创建 parents 单字段索引(使用 try-catch 处理可能的错误)
50
+ try {
51
+ await createIndexIfNotExists(collection, 'parents', {
52
+ "parents": 1
53
+ }, {
54
+ background: true
55
+ });
56
+ } catch (error) {
57
+ console.warn('创建 parents 索引时出错:', error.message);
58
+ }
59
+
60
+ // 创建 parents 和 is_deleted 复合索引
61
+ await createIndexIfNotExists(collection, 'parents_is_deleted', {
62
+ "parents": 1,
63
+ "is_deleted": 1
64
+ }, {
65
+ background: true
66
+ });
67
+
68
+ // 创建 space 和 created 复合索引
69
+ await createIndexIfNotExists(collection, 'space_created', {
70
+ "space": 1,
71
+ "created": 1
72
+ }, {
73
+ background: true
74
+ });
75
+
76
+ // 创建 space、created 和 modified 复合索引
77
+ await createIndexIfNotExists(collection, 'space_created_modified', {
78
+ "space": 1,
79
+ "created": 1,
80
+ "modified": 1
81
+ }, {
82
+ background: true
83
+ });
84
+ }
85
+
86
+ module.exports = {
87
+ run
88
+ };
@@ -0,0 +1,26 @@
1
+ // process_delegation_rules_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('process_delegation_rules');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 process_delegation_rules');
12
+ return;
13
+ }
14
+
15
+ // 创建 enabled 和 end_time 复合索引
16
+ await createIndexIfNotExists(collection, 'enabled_end_time', {
17
+ "enabled": 1,
18
+ "end_time": 1
19
+ }, {
20
+ background: true
21
+ });
22
+ }
23
+
24
+ module.exports = {
25
+ run
26
+ };
@@ -0,0 +1,26 @@
1
+ // space_user_signs_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('space_user_signs');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 space_user_signs');
12
+ return;
13
+ }
14
+
15
+ // 创建 space 和 user 复合索引
16
+ await createIndexIfNotExists(collection, 'space_user', {
17
+ "space": 1,
18
+ "user": 1
19
+ }, {
20
+ background: true
21
+ });
22
+ }
23
+
24
+ module.exports = {
25
+ run
26
+ };
@@ -0,0 +1,94 @@
1
+ // space_users_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('space_users');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 space_users');
12
+ return;
13
+ }
14
+
15
+ // 创建 user_accepted 单字段索引
16
+ await createIndexIfNotExists(collection, 'user_accepted', {
17
+ "user_accepted": 1
18
+ }, {
19
+ background: true
20
+ });
21
+
22
+ // 创建 user 和 user_accepted 复合索引
23
+ await createIndexIfNotExists(collection, 'user_user_accepted', {
24
+ "user": 1,
25
+ "user_accepted": 1
26
+ }, {
27
+ background: true
28
+ });
29
+
30
+ // 创建 user 和 space 复合索引
31
+ await createIndexIfNotExists(collection, 'user_space', {
32
+ "user": 1,
33
+ "space": 1
34
+ }, {
35
+ background: true
36
+ });
37
+
38
+ // 创建 space 和 user_accepted 复合索引
39
+ await createIndexIfNotExists(collection, 'space_user_accepted', {
40
+ "space": 1,
41
+ "user_accepted": 1
42
+ }, {
43
+ background: true
44
+ });
45
+
46
+ // 创建 space、user 和 user_accepted 复合索引
47
+ await createIndexIfNotExists(collection, 'space_user_user_accepted', {
48
+ "space": 1,
49
+ "user": 1,
50
+ "user_accepted": 1
51
+ }, {
52
+ background: true
53
+ });
54
+
55
+ // 创建 space 和 manager 复合索引
56
+ await createIndexIfNotExists(collection, 'space_manager', {
57
+ "space": 1,
58
+ "manager": 1
59
+ }, {
60
+ background: true
61
+ });
62
+
63
+ // 创建 manager 单字段索引(使用 try-catch 处理可能的错误)
64
+ try {
65
+ await createIndexIfNotExists(collection, 'manager', {
66
+ "manager": 1
67
+ }, {
68
+ background: true
69
+ });
70
+ } catch (error) {
71
+ console.warn('创建 manager 索引时出错:', error.message);
72
+ }
73
+
74
+ // 创建 space 和 created 复合索引
75
+ await createIndexIfNotExists(collection, 'space_created', {
76
+ "space": 1,
77
+ "created": 1
78
+ }, {
79
+ background: true
80
+ });
81
+
82
+ // 创建 space、created 和 modified 复合索引
83
+ await createIndexIfNotExists(collection, 'space_created_modified', {
84
+ "space": 1,
85
+ "created": 1,
86
+ "modified": 1
87
+ }, {
88
+ background: true
89
+ });
90
+ }
91
+
92
+ module.exports = {
93
+ run
94
+ };
@@ -0,0 +1,50 @@
1
+ // spaces_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('spaces');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 spaces');
12
+ return;
13
+ }
14
+
15
+ // 创建 is_paid 单字段索引
16
+ await createIndexIfNotExists(collection, 'is_paid', {
17
+ "is_paid": 1
18
+ }, {
19
+ background: true
20
+ });
21
+
22
+ // 创建 name 和 is_paid 复合索引
23
+ await createIndexIfNotExists(collection, 'name_is_paid', {
24
+ "name": 1,
25
+ "is_paid": 1
26
+ }, {
27
+ background: true
28
+ });
29
+
30
+ // 创建 _id 和 created 复合索引
31
+ await createIndexIfNotExists(collection, 'id_created', {
32
+ "_id": 1,
33
+ "created": 1
34
+ }, {
35
+ background: true
36
+ });
37
+
38
+ // 创建 _id、created 和 modified 复合索引
39
+ await createIndexIfNotExists(collection, 'id_created_modified', {
40
+ "_id": 1,
41
+ "created": 1,
42
+ "modified": 1
43
+ }, {
44
+ background: true
45
+ });
46
+ }
47
+
48
+ module.exports = {
49
+ run
50
+ };
@@ -0,0 +1,60 @@
1
+ // steedos_keyvalues_indexes.js
2
+ const {
3
+ createIndexIfNotExists,
4
+ getCollection
5
+ } = require('./default_db');
6
+
7
+ async function run() {
8
+ const collection = await getCollection('steedos_keyvalues');
9
+
10
+ if (!collection) {
11
+ console.error('无法获取集合 steedos_keyvalues');
12
+ return;
13
+ }
14
+
15
+ // 创建 space 单字段索引(使用 try-catch 处理可能的错误)
16
+ try {
17
+ await createIndexIfNotExists(collection, 'space', {
18
+ "space": 1
19
+ }, {
20
+ background: true
21
+ });
22
+ } catch (error) {
23
+ console.warn('创建 space 索引时出错:', error.message);
24
+ }
25
+
26
+ // 创建 user 单字段索引(使用 try-catch 处理可能的错误)
27
+ try {
28
+ await createIndexIfNotExists(collection, 'user', {
29
+ "user": 1
30
+ }, {
31
+ background: true
32
+ });
33
+ } catch (error) {
34
+ console.warn('创建 user 索引时出错:', error.message);
35
+ }
36
+
37
+ // 创建 key 单字段索引(使用 try-catch 处理可能的错误)
38
+ try {
39
+ await createIndexIfNotExists(collection, 'key', {
40
+ "key": 1
41
+ }, {
42
+ background: true
43
+ });
44
+ } catch (error) {
45
+ console.warn('创建 key 索引时出错:', error.message);
46
+ }
47
+
48
+ // 创建 user、space 和 key 复合索引
49
+ await createIndexIfNotExists(collection, 'user_space_key', {
50
+ "user": 1,
51
+ "space": 1,
52
+ "key": 1
53
+ }, {
54
+ background: true
55
+ });
56
+ }
57
+
58
+ module.exports = {
59
+ run
60
+ };