@steedos/standard-object-database 2.2.55-beta.16

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 (90) hide show
  1. package/main/default/applications/.gitkeep +0 -0
  2. package/main/default/client/datasources.client.js +7 -0
  3. package/main/default/client/object_fields.client.js +212 -0
  4. package/main/default/client/object_layouts.client.js +86 -0
  5. package/main/default/objectTranslations/_object_reload_logs.en/_object_reload_logs.en.objectTranslation.yml +16 -0
  6. package/main/default/objectTranslations/_object_reload_logs.zh-CN/_object_reload_logs.zh-CN.objectTranslation.yml +16 -0
  7. package/main/default/objectTranslations/datasources.en/datasources.en.objectTranslation.yml +121 -0
  8. package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +105 -0
  9. package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml +55 -0
  10. package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +50 -0
  11. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +335 -0
  12. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +312 -0
  13. package/main/default/objectTranslations/object_layouts.en/object_layouts.en.objectTranslation.yml +72 -0
  14. package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +116 -0
  15. package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +153 -0
  16. package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +146 -0
  17. package/main/default/objectTranslations/object_related_list.en/object_related_list.en.objectTranslation.yml +82 -0
  18. package/main/default/objectTranslations/object_related_list.zh-CN/object_related_list.zh-CN.objectTranslation.yml +82 -0
  19. package/main/default/objectTranslations/object_triggers.en/object_triggers.en.objectTranslation.yml +30 -0
  20. package/main/default/objectTranslations/object_triggers.zh-CN/object_triggers.zh-CN.objectTranslation.yml +29 -0
  21. package/main/default/objectTranslations/object_validation_rules.en/object_validation_rules.en.objectTranslation.yml +40 -0
  22. package/main/default/objectTranslations/object_validation_rules.zh-CN/object_validation_rules.zh-CN.objectTranslation.yml +38 -0
  23. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +219 -0
  24. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +218 -0
  25. package/main/default/objects/0.datasources.observe.object.js +83 -0
  26. package/main/default/objects/0.objects_reload.object.js +26 -0
  27. package/main/default/objects/1.objects.observe.object.js +61 -0
  28. package/main/default/objects/10.tabs.observe.object.js +36 -0
  29. package/main/default/objects/11.restriction_rules.observe.object.js +37 -0
  30. package/main/default/objects/12.share_rules.observe.object.js +37 -0
  31. package/main/default/objects/13.permission_fields.observe.object.js +37 -0
  32. package/main/default/objects/14.object_fields.observe.object.js +44 -0
  33. package/main/default/objects/15.permission_objects.observe.object.js +44 -0
  34. package/main/default/objects/2.object_triggers.observe.object.js +35 -0
  35. package/main/default/objects/3.permission_objects.observe.object.js +29 -0
  36. package/main/default/objects/4.permission_set.observe.object.js +39 -0
  37. package/main/default/objects/5.holidays.observe.object.js +30 -0
  38. package/main/default/objects/6.business_hours.observe.object.js +33 -0
  39. package/main/default/objects/7.object_actions.observe.object.js +43 -0
  40. package/main/default/objects/7.object_layouts.observe.object.js +33 -0
  41. package/main/default/objects/9.apps.observe.object.js +33 -0
  42. package/main/default/objects/_object_reload_logs.object.yml +10 -0
  43. package/main/default/objects/datasources.action.js +51 -0
  44. package/main/default/objects/datasources.core.js +34 -0
  45. package/main/default/objects/datasources.object.js +168 -0
  46. package/main/default/objects/datasources.object.yml +113 -0
  47. package/main/default/objects/object_actions.object.js +152 -0
  48. package/main/default/objects/object_actions.object.yml +142 -0
  49. package/main/default/objects/object_fields.action.js +128 -0
  50. package/main/default/objects/object_fields.function.js +104 -0
  51. package/main/default/objects/object_fields.object.js +501 -0
  52. package/main/default/objects/object_fields.object.yml +690 -0
  53. package/main/default/objects/object_layouts.action.js +31 -0
  54. package/main/default/objects/object_layouts.layouts.action.js +19 -0
  55. package/main/default/objects/object_layouts.object.yml +356 -0
  56. package/main/default/objects/object_listviews.action.js +93 -0
  57. package/main/default/objects/object_listviews.object.js +100 -0
  58. package/main/default/objects/object_listviews.object.yml +309 -0
  59. package/main/default/objects/object_manager.app.todo.yml +11 -0
  60. package/main/default/objects/object_related_list.object.js +110 -0
  61. package/main/default/objects/object_related_list.object.yml +208 -0
  62. package/main/default/objects/object_triggers.core.js +58 -0
  63. package/main/default/objects/object_triggers.object.js +65 -0
  64. package/main/default/objects/object_triggers.object.yml +124 -0
  65. package/main/default/objects/object_validation_rules.action.js +33 -0
  66. package/main/default/objects/object_validation_rules.object.yml +100 -0
  67. package/main/default/objects/objects.action.js +157 -0
  68. package/main/default/objects/objects.core.js +398 -0
  69. package/main/default/objects/objects.erd.data.function.js +85 -0
  70. package/main/default/objects/objects.lib.js +42 -0
  71. package/main/default/objects/objects.object.js +543 -0
  72. package/main/default/objects/objects.object.yml +512 -0
  73. package/main/default/objects/objects.tree.js +58 -0
  74. package/main/default/objects/permission_objects.core.js +75 -0
  75. package/main/default/permissionsets/.gitkeep +0 -0
  76. package/main/default/profiles/.gitkeep +0 -0
  77. package/main/default/tabs/.gitkeep +0 -0
  78. package/main/default/triggers/datasources.trigger.js +93 -0
  79. package/main/default/triggers/object_actions.trigger.js +98 -0
  80. package/main/default/triggers/object_fields.trigger.js +376 -0
  81. package/main/default/triggers/object_layouts.trigger.js +153 -0
  82. package/main/default/triggers/object_listviews.trigger.js +139 -0
  83. package/main/default/triggers/object_triggers.trigger.js +50 -0
  84. package/main/default/triggers/object_validation_rules.trigger.js +80 -0
  85. package/main/default/triggers/objects.trigger.js +136 -0
  86. package/package.json +16 -0
  87. package/package.service.js +75 -0
  88. package/public/.md +3 -0
  89. package/src/.md +3 -0
  90. package/webapp/.md +1 -0
@@ -0,0 +1,219 @@
1
+ name: objects
2
+ label: Object
3
+ description:
4
+ fields:
5
+ datasource:
6
+ label: Datasource
7
+ help:
8
+ description:
9
+ label:
10
+ label: Label
11
+ help:
12
+ description:
13
+ name:
14
+ label: API Name
15
+ help: >-
16
+ Can only contain lowercase letters and numbers, must start with a letter,
17
+ cannot end with an underscore character or contain two consecutive
18
+ underscore characters
19
+ description:
20
+ table_name:
21
+ label: Table Name
22
+ help: The default data source does not support this property
23
+ description:
24
+ icon:
25
+ label: Icon
26
+ help:
27
+ description:
28
+ is_enable:
29
+ label: Enable
30
+ help:
31
+ description:
32
+ in_development:
33
+ label: Development State
34
+ help:
35
+ options:
36
+ - label: Developing ( Only administrators can access. )
37
+ value: '1'
38
+ - label: Deployed
39
+ value: '0'
40
+ description:
41
+ enable_search:
42
+ label: Enable Search
43
+ help:
44
+ description:
45
+ enable_files:
46
+ label: Enable Files
47
+ help:
48
+ description:
49
+ enable_tasks:
50
+ label: Enable Tasks
51
+ help:
52
+ description:
53
+ enable_notes:
54
+ label: Enable Notes
55
+ help:
56
+ description:
57
+ enable_events:
58
+ label: Enable Events
59
+ help:
60
+ description:
61
+ enable_api:
62
+ label: Enable API
63
+ help:
64
+ description:
65
+ enable_share:
66
+ label: Enable Share
67
+ help:
68
+ description:
69
+ enable_workflow:
70
+ label: Enable Workflow
71
+ help:
72
+ description:
73
+ enable_instances:
74
+ label: Enable Instances
75
+ help:
76
+ description:
77
+ enable_chatter:
78
+ label: Enable Chatter
79
+ help:
80
+ description:
81
+ enable_inline_edit:
82
+ label: Enable Single Field Edit
83
+ help:
84
+ description:
85
+ enable_tree:
86
+ label: Enable Tree
87
+ help: Enable a tree structure to display records
88
+ description:
89
+ enable_enhanced_lookup:
90
+ label: Enable Enhanced Lookup
91
+ help: When enabled, the lookup field associated with this object displays its options as a pop-up window.
92
+ description:
93
+ description:
94
+ label: Description
95
+ help:
96
+ description:
97
+ sidebar:
98
+ label: Sidebar
99
+ help:
100
+ description:
101
+ fields:
102
+ label: Fields
103
+ help:
104
+ description:
105
+ list_views:
106
+ label: ListViews
107
+ help:
108
+ description:
109
+ actions:
110
+ label: Actions
111
+ help:
112
+ description:
113
+ relatedList:
114
+ label: Related List
115
+ help:
116
+ description:
117
+ permission_set:
118
+ label: Permission Set
119
+ help:
120
+ description:
121
+ triggers:
122
+ label: Triggers
123
+ help:
124
+ description:
125
+ custom:
126
+ label: Custom
127
+ help:
128
+ description:
129
+ owner:
130
+ label:
131
+ help:
132
+ description:
133
+ app_unique_id:
134
+ label: App Unique ID
135
+ help:
136
+ description:
137
+ app_version:
138
+ label: App Version
139
+ help:
140
+ description:
141
+ is_system:
142
+ label: System
143
+ help:
144
+ description:
145
+ fields_serial_number:
146
+ label:
147
+ help:
148
+ description:
149
+ is_deleted:
150
+ label:
151
+ help:
152
+ description:
153
+ reload_time:
154
+ label:
155
+ help:
156
+ description:
157
+ form:
158
+ label: Form Events
159
+ form.initialValues:
160
+ label: Initial Values
161
+ form.validate:
162
+ label: Validate
163
+ form.beforeInsert:
164
+ label: Before Insert
165
+ form.onRendered:
166
+ label: On Rendered
167
+ form.onDestroy:
168
+ label: On Destroy
169
+ form.onValuesChange:
170
+ label: On Change
171
+ form.beforeUpdate:
172
+ label: Before Update
173
+ form.beforeDelete:
174
+ label: Before Delete
175
+ form.afterInsert:
176
+ label: After Insert
177
+ form.afterUpdate:
178
+ label: After Update
179
+ form.afterDelete:
180
+ label: After Delete
181
+ form.errorInsert:
182
+ label: Insert Error
183
+ form.errorUpdate:
184
+ label: Update Error
185
+ form.errorDelete:
186
+ label: Delete Error
187
+ form.beforeView:
188
+ label: Before View
189
+ form.afterView:
190
+ label: After View
191
+ form.beforeEdit:
192
+ label: Before Edit
193
+ form.afterEdit:
194
+ label: After Edit
195
+ groups:
196
+ external_data_source: External data source
197
+ switch: Switch
198
+ script: Script
199
+ listviews:
200
+ all:
201
+ label: All
202
+ customize:
203
+ label: Customize
204
+ system:
205
+ label: System
206
+ deleted:
207
+ label: Deleted
208
+ actions:
209
+ show_object:
210
+ label: Preview
211
+ copy_odata:
212
+ label: Copy OData URL
213
+ CustomLabels:
214
+ objects_field_datasource_defaultValue: Default data source
215
+ objects_field_datasource_meteor: Meteor
216
+ objects_field_enable_approvals:
217
+ objects_field_enable_space_global:
218
+ objects_field_enable_web_forms:
219
+ object_object__error_name_invalid_format:
@@ -0,0 +1,218 @@
1
+ name: objects
2
+ label: 对象
3
+ description:
4
+ fields:
5
+ datasource:
6
+ label: 数据源
7
+ help:
8
+ description:
9
+ label:
10
+ label: 显示名
11
+ help:
12
+ description:
13
+ name:
14
+ label: API 名称
15
+ help: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
16
+ description:
17
+ table_name:
18
+ label: 数据库表名称
19
+ help: 默认数据源不支持此属性
20
+ description:
21
+ icon:
22
+ label: 图标
23
+ help:
24
+ description:
25
+ is_enable:
26
+ label: 启用
27
+ help:
28
+ description:
29
+ in_development:
30
+ label: 开发状态
31
+ help: 开发中(仅管理员才可以访问对象)
32
+ options:
33
+ - label: 开发中(仅管理员才可以访问对象)
34
+ value: '1'
35
+ - label: 已部署
36
+ value: '0'
37
+ description:
38
+ enable_search:
39
+ label: 允许搜索
40
+ help:
41
+ description:
42
+ enable_files:
43
+ label: 允许上传附件
44
+ help:
45
+ description:
46
+ enable_tasks:
47
+ label: 允许添加任务
48
+ help:
49
+ description:
50
+ enable_notes:
51
+ label: 允许添加备注
52
+ help:
53
+ description:
54
+ enable_events:
55
+ label: 允许添加事件
56
+ help:
57
+ description:
58
+ enable_api:
59
+ label: 允许 API 访问
60
+ help:
61
+ description:
62
+ enable_share:
63
+ label: 允许共享记录
64
+ help:
65
+ description:
66
+ enable_workflow:
67
+ label: 允许配置对象流程
68
+ help:
69
+ description:
70
+ enable_instances:
71
+ label: 允许查看申请单
72
+ help:
73
+ description:
74
+ enable_chatter:
75
+ label: 允许添加留言
76
+ help:
77
+ description:
78
+ enable_inline_edit:
79
+ label: 允许编辑单个字段
80
+ help:
81
+ description:
82
+ enable_tree:
83
+ label: 启用树状结构显示记录
84
+ help: 当启用时,与此对象关联的查找字段将以树状结构的形式显示其选项。
85
+ description:
86
+ enable_enhanced_lookup:
87
+ label: 启用弹出窗口查找模式
88
+ help: 当启用时,与此对象关联的查找字段将以弹出窗口的形式显示其选项。
89
+ description:
90
+ description:
91
+ label: 备注
92
+ help:
93
+ description:
94
+ version:
95
+ label: 版本
96
+ sidebar:
97
+ label: 左侧列表
98
+ help:
99
+ description:
100
+ fields:
101
+ label: 字段
102
+ help:
103
+ description:
104
+ list_views:
105
+ label: 列表视图
106
+ help:
107
+ description:
108
+ actions:
109
+ label: 操作按钮
110
+ help:
111
+ description:
112
+ relatedList:
113
+ label: Related List
114
+ help:
115
+ description:
116
+ permission_set:
117
+ label: 权限设置
118
+ help:
119
+ description:
120
+ triggers:
121
+ label: 触发器
122
+ help:
123
+ description:
124
+ custom:
125
+ label: 自定义
126
+ help:
127
+ description:
128
+ owner:
129
+ label: 拥有者
130
+ help:
131
+ description:
132
+ app_unique_id:
133
+ label: App Unique ID
134
+ help:
135
+ description:
136
+ app_version:
137
+ label: App Version
138
+ help:
139
+ description:
140
+ is_system:
141
+ label: 系统
142
+ help:
143
+ description:
144
+ fields_serial_number:
145
+ label:
146
+ help:
147
+ description:
148
+ is_deleted:
149
+ label: 已删除
150
+ help:
151
+ description:
152
+ reload_time:
153
+ label:
154
+ help:
155
+ description:
156
+ form:
157
+ label: 表单事件
158
+ form.initialValues:
159
+ label: 初始化数据
160
+ form.validate:
161
+ label: 验证数据
162
+ form.beforeInsert:
163
+ label: 新增数据之前
164
+ form.onRendered:
165
+ label: 表单加载后
166
+ form.onDestroy:
167
+ label: 表单销毁时
168
+ form.onValuesChange:
169
+ label: 数据变化时
170
+ form.beforeUpdate:
171
+ label: 修改数据之前
172
+ form.beforeDelete:
173
+ label: 删除数据之前
174
+ form.afterInsert:
175
+ label: 新增数据之后
176
+ form.afterUpdate:
177
+ label: 修改数据之后
178
+ form.afterDelete:
179
+ label: 删除数据之后
180
+ form.errorInsert:
181
+ label: 新增数据报错之后
182
+ form.errorUpdate:
183
+ label: 修改数据报错之后
184
+ form.errorDelete:
185
+ label: 删除数据报错之后
186
+ form.beforeView:
187
+ label: 记录显示之前
188
+ form.afterView:
189
+ label: 记录显示之后
190
+ form.beforeEdit:
191
+ label: 编辑页面显示之前
192
+ form.afterEdit:
193
+ label: 编辑页面显示之后
194
+ groups:
195
+ external_data_source: 外部数据源
196
+ switch: 功能开关
197
+ script: 脚本
198
+ listviews:
199
+ all:
200
+ label: 全部
201
+ customize:
202
+ label: 自定义
203
+ system:
204
+ label: 系统
205
+ deleted:
206
+ label: 已删除
207
+ actions:
208
+ show_object:
209
+ label: 预览
210
+ copy_odata:
211
+ label: 复制OData网址
212
+ CustomLabels:
213
+ objects_field_datasource_defaultValue: 默认数据源
214
+ objects_field_datasource_meteor: Meteor
215
+ objects_field_enable_approvals: 显示申请单历史步骤
216
+ objects_field_enable_space_global: 跨工作区访问数据
217
+ objects_field_enable_web_forms: 允许在线表单
218
+ object_object__error_name_invalid_format: API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符
@@ -0,0 +1,83 @@
1
+ var objectql = require('@steedos/objectql');
2
+ var schema = objectql.getSteedosSchema();
3
+ var objectCore = require('./objects.core.js');
4
+ const datasourceCore = require('./datasources.core');
5
+
6
+ function loadDataSourceObjects(doc){
7
+ Creator.getCollection('objects').find({space: doc.space, datasource: doc._id, is_enable: {$ne: false}}).forEach(function(object){
8
+ objectCore.loadObject(object, null);
9
+ })
10
+ }
11
+
12
+ function loadDataSource(doc, oldDoc, server_datasources_init) {
13
+ try {
14
+ datasourceCore.checkDriver(doc.driver);
15
+ try {
16
+ if (doc.mssql_options) {
17
+ doc.options = JSON.parse(doc.mssql_options)
18
+ delete doc.mssql_options
19
+ }
20
+
21
+ if(oldDoc && doc.name != oldDoc.name){
22
+ removeDataSource(oldDoc);
23
+ }
24
+
25
+ var datasource = schema.addDataSource(doc.name, doc, true);
26
+ datasource.init();
27
+ if (server_datasources_init && oldDoc && oldDoc.is_enable === false && doc.is_enable) {
28
+ loadDataSourceObjects(doc);
29
+ }
30
+ } catch (error) {
31
+ console.error(`Load dataSource [${doc.name}] error: `, error.message)
32
+ }
33
+ } catch (error1) {
34
+ console.error(`Load dataSource [${doc.name}] error: `, t(error1.message))
35
+ }
36
+ }
37
+
38
+ function removeDataSource(doc){
39
+ schema.removeDataSource(doc.name).catch(result => {
40
+ console.error(result)
41
+ })
42
+ }
43
+
44
+
45
+ Meteor.startup(function () {
46
+ var _change = function (document, oldDocument, server_datasources_init) {
47
+ loadDataSource(document, oldDocument, server_datasources_init)
48
+ };
49
+ var _remove = function (document) {
50
+ removeDataSource(document);
51
+ };
52
+ var config = objectql.getSteedosConfig();
53
+ if(config.tenant && config.tenant.saas){
54
+ return ;
55
+ }else{
56
+ server_datasources_init = false;
57
+ Creator.getCollection("datasources").find({}, {
58
+ fields: {
59
+ created: 0,
60
+ created_by: 0,
61
+ modified: 0,
62
+ modified_by: 0
63
+ }
64
+ }).observe({
65
+ added: function (newDocument) {
66
+ if(newDocument.is_enable){
67
+ return _change(newDocument, null, server_datasources_init);
68
+ }
69
+ },
70
+ changed: function (newDocument, oldDocument) {
71
+ if(newDocument.is_enable){
72
+ return _change(newDocument, oldDocument, server_datasources_init);
73
+ }else{
74
+ return _remove(oldDocument);
75
+ }
76
+ },
77
+ removed: function (oldDocument) {
78
+ return _remove(oldDocument);
79
+ }
80
+ });
81
+ server_datasources_init = true;
82
+ }
83
+ });
@@ -0,0 +1,26 @@
1
+ var objectql = require('@steedos/objectql');
2
+ var objectCore = require('./objects.core.js');
3
+
4
+ Meteor.startup(function () {
5
+ var config = objectql.getSteedosConfig();
6
+ if(config.tenant && config.tenant.saas){
7
+ return ;
8
+ }else{
9
+ var _init = false;
10
+ Creator.getCollection("_object_reload_logs").find({change_time: {$gte:new Date()}}, {
11
+ fields: {
12
+ created: 0,
13
+ created_by: 0,
14
+ modified: 0,
15
+ modified_by: 0
16
+ }
17
+ }).observe({
18
+ added: function (newDocument) {
19
+ if (_init) {
20
+ objectCore.reloadObject(newDocument)
21
+ }
22
+ }
23
+ });
24
+ _init = true;
25
+ }
26
+ });
@@ -0,0 +1,61 @@
1
+ /*
2
+ * @Author: baozhoutao@steedos.com
3
+ * @Date: 2022-06-23 17:58:55
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2022-07-05 11:26:24
6
+ * @Description:
7
+ */
8
+ var objectql = require('@steedos/objectql');
9
+ var objectCore = require('./objects.core.js');
10
+
11
+ Meteor.startup(function () {
12
+ var server_objects_init;
13
+ var _changeServerObjects = function (document, oldDocument) {
14
+ try {
15
+ objectCore.loadObject(document, oldDocument)
16
+ } catch (error) {
17
+ throw error
18
+ }
19
+ };
20
+ var _removeServerObjects = function (document) {
21
+ try {
22
+ objectCore.removeObject(document, false, true);
23
+ } catch (error) {
24
+ throw error
25
+ }
26
+ };
27
+
28
+ var config = objectql.getSteedosConfig();
29
+ if(config.tenant && config.tenant.saas){
30
+ return ;
31
+ }else{
32
+ server_objects_init = false;
33
+ Creator.getCollection("objects").find({is_deleted: {$ne: true}}, {
34
+ fields: {
35
+ created: 0,
36
+ created_by: 0,
37
+ modified: 0,
38
+ modified_by: 0
39
+ }
40
+ }).observe({
41
+ added: function (newDocument) {
42
+ // if (!server_objects_init || _.has(newDocument, "fields")) {
43
+ if(newDocument.is_enable != false){
44
+ return _changeServerObjects(newDocument, null);
45
+ }
46
+ // }
47
+ },
48
+ changed: function (newDocument, oldDocument) {
49
+ if(newDocument.is_enable === false){
50
+ _removeServerObjects(oldDocument);
51
+ }else{
52
+ return _changeServerObjects(newDocument, oldDocument);
53
+ }
54
+ },
55
+ removed: function (oldDocument) {
56
+ return _removeServerObjects(oldDocument);
57
+ }
58
+ });
59
+ server_objects_init = true;
60
+ }
61
+ });
@@ -0,0 +1,36 @@
1
+ const objectql = require("@steedos/objectql");
2
+ const objectName = "tabs";
3
+ const SERVICE_NAME = `~database-${objectName}`;
4
+ Meteor.startup(function () {
5
+ var _change, _remove, inited = false;
6
+ _change = function (document) {
7
+ objectql.addTabConfig(document, SERVICE_NAME)
8
+ };
9
+ _remove = function (document) {
10
+ objectql.removeTab(document.name)
11
+ };
12
+ Creator.getCollection(objectName).find({}, {
13
+ fields: {
14
+ created: 0,
15
+ created_by: 0,
16
+ modified: 0,
17
+ modified_by: 0
18
+ }
19
+ }).observe({
20
+ added: function (newDocument) {
21
+ if (inited) {
22
+ return _change(newDocument);
23
+ }
24
+ },
25
+ changed: function (newDocument, oldDocument) {
26
+ if(newDocument.name != oldDocument.name){
27
+ _remove(oldDocument)
28
+ }
29
+ return _change(newDocument);
30
+ },
31
+ removed: function (oldDocument) {
32
+ return _remove(oldDocument);
33
+ }
34
+ });
35
+ inited = true;
36
+ });
@@ -0,0 +1,37 @@
1
+ const objectql = require("@steedos/objectql");
2
+ const schema = objectql.getSteedosSchema();
3
+ const objectName = "restriction_rules";
4
+ const SERVICE_NAME = `~database-${objectName}`;
5
+ Meteor.startup(function () {
6
+ var _change, _remove, inited = false;
7
+ _change = function (document) {
8
+ objectql.registerRestrictionRules.register(schema.broker, SERVICE_NAME, document)
9
+ };
10
+ _remove = function (document) {
11
+ objectql.registerRestrictionRules.remove(schema.broker, SERVICE_NAME, document)
12
+ };
13
+ Creator.getCollection(objectName).find({}, {
14
+ fields: {
15
+ created: 0,
16
+ created_by: 0,
17
+ modified: 0,
18
+ modified_by: 0
19
+ }
20
+ }).observe({
21
+ added: function (newDocument) {
22
+ if (inited) {
23
+ return _change(newDocument);
24
+ }
25
+ },
26
+ changed: function (newDocument, oldDocument) {
27
+ if (newDocument.name != oldDocument.name) {
28
+ _remove(oldDocument)
29
+ }
30
+ return _change(newDocument);
31
+ },
32
+ removed: function (oldDocument) {
33
+ return _remove(oldDocument);
34
+ }
35
+ });
36
+ inited = true;
37
+ });
@@ -0,0 +1,37 @@
1
+ const objectql = require("@steedos/objectql");
2
+ const schema = objectql.getSteedosSchema();
3
+ const objectName = "share_rules";
4
+ const SERVICE_NAME = `~database-${objectName}`;
5
+ Meteor.startup(function () {
6
+ var _change, _remove, inited = false;
7
+ _change = function (document) {
8
+ objectql.registerShareRules.register(schema.broker, SERVICE_NAME, document)
9
+ };
10
+ _remove = function (document) {
11
+ objectql.registerShareRules.remove(schema.broker, SERVICE_NAME, document)
12
+ };
13
+ Creator.getCollection(objectName).find({}, {
14
+ fields: {
15
+ created: 0,
16
+ created_by: 0,
17
+ modified: 0,
18
+ modified_by: 0
19
+ }
20
+ }).observe({
21
+ added: function (newDocument) {
22
+ if (inited) {
23
+ return _change(newDocument);
24
+ }
25
+ },
26
+ changed: function (newDocument, oldDocument) {
27
+ if (newDocument.name != oldDocument.name) {
28
+ _remove(oldDocument)
29
+ }
30
+ return _change(newDocument);
31
+ },
32
+ removed: function (oldDocument) {
33
+ return _remove(oldDocument);
34
+ }
35
+ });
36
+ inited = true;
37
+ });