@steedos/objectql 2.2.51-beta.1 → 2.2.51-beta.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.
Files changed (134) hide show
  1. package/package.json +10 -10
  2. package/src/actions/field_updates.ts +0 -118
  3. package/src/actions/index.ts +0 -3
  4. package/src/actions/types/field_update_target.ts +0 -7
  5. package/src/actions/types/workflow_notification.ts +0 -9
  6. package/src/actions/types/workflow_rule.ts +0 -11
  7. package/src/actions/workflow_notifications.ts +0 -81
  8. package/src/actions/workflow_rule.ts +0 -136
  9. package/src/driver/driver.ts +0 -102
  10. package/src/driver/field-encrytion/index.ts +0 -8
  11. package/src/driver/field-encrytion/sharedconst.ts +0 -34
  12. package/src/driver/fieldDBType.ts +0 -14
  13. package/src/driver/format.ts +0 -36
  14. package/src/driver/index.ts +0 -20
  15. package/src/driver/metadata.ts +0 -226
  16. package/src/driver/meteorMongo.ts +0 -639
  17. package/src/driver/mongo.ts +0 -416
  18. package/src/driver/mysql.ts +0 -47
  19. package/src/driver/oracle.ts +0 -60
  20. package/src/driver/postgres.ts +0 -46
  21. package/src/driver/sqlite3.ts +0 -40
  22. package/src/driver/sqlserver.ts +0 -52
  23. package/src/dynamic-load/actions.ts +0 -146
  24. package/src/dynamic-load/approval_process.ts +0 -73
  25. package/src/dynamic-load/button.ts +0 -75
  26. package/src/dynamic-load/chart.ts +0 -22
  27. package/src/dynamic-load/client_script.ts +0 -65
  28. package/src/dynamic-load/field.ts +0 -77
  29. package/src/dynamic-load/flow_role.ts +0 -46
  30. package/src/dynamic-load/index.ts +0 -21
  31. package/src/dynamic-load/layout.ts +0 -53
  32. package/src/dynamic-load/listview.ts +0 -57
  33. package/src/dynamic-load/method.ts +0 -63
  34. package/src/dynamic-load/object_translations.ts +0 -61
  35. package/src/dynamic-load/originalObject.ts +0 -8
  36. package/src/dynamic-load/package.ts +0 -312
  37. package/src/dynamic-load/page.ts +0 -23
  38. package/src/dynamic-load/permission.ts +0 -71
  39. package/src/dynamic-load/permissionset.ts +0 -78
  40. package/src/dynamic-load/preload_data.ts +0 -104
  41. package/src/dynamic-load/profile.ts +0 -90
  42. package/src/dynamic-load/query.ts +0 -22
  43. package/src/dynamic-load/restrictionRules.ts +0 -23
  44. package/src/dynamic-load/role.ts +0 -46
  45. package/src/dynamic-load/shareRules.ts +0 -23
  46. package/src/dynamic-load/tab.ts +0 -17
  47. package/src/dynamic-load/tabs.ts +0 -13
  48. package/src/dynamic-load/translations.ts +0 -54
  49. package/src/dynamic-load/trigger.ts +0 -236
  50. package/src/dynamic-load/validation_rule.ts +0 -77
  51. package/src/dynamic-load/workflow.ts +0 -114
  52. package/src/errors/index.ts +0 -111
  53. package/src/formula/core.ts +0 -490
  54. package/src/formula/field_formula.ts +0 -107
  55. package/src/formula/index.ts +0 -81
  56. package/src/formula/params.ts +0 -197
  57. package/src/formula/recompute.ts +0 -65
  58. package/src/formula/simple_params.ts +0 -92
  59. package/src/formula/type.ts +0 -107
  60. package/src/formula/util.ts +0 -207
  61. package/src/index.ts +0 -24
  62. package/src/metadata-register/_base.ts +0 -85
  63. package/src/metadata-register/app.ts +0 -30
  64. package/src/metadata-register/chart.ts +0 -9
  65. package/src/metadata-register/index.ts +0 -123
  66. package/src/metadata-register/layout.ts +0 -38
  67. package/src/metadata-register/object.ts +0 -68
  68. package/src/metadata-register/page.ts +0 -9
  69. package/src/metadata-register/permissionFields.ts +0 -13
  70. package/src/metadata-register/permissionset.ts +0 -25
  71. package/src/metadata-register/process.ts +0 -16
  72. package/src/metadata-register/processTrigger.ts +0 -24
  73. package/src/metadata-register/profile.ts +0 -25
  74. package/src/metadata-register/query.ts +0 -9
  75. package/src/metadata-register/restrictionRules.ts +0 -12
  76. package/src/metadata-register/shareRules.ts +0 -13
  77. package/src/metadata-register/tab.ts +0 -9
  78. package/src/metadata-register/tabs.ts +0 -43
  79. package/src/services/datasourceServiceFactory.ts +0 -55
  80. package/src/services/helpers/graphql/consts.ts +0 -25
  81. package/src/services/helpers/graphql/getPrimaryFieldType.ts +0 -48
  82. package/src/services/helpers/graphql/getQueryFields.ts +0 -51
  83. package/src/services/helpers/graphql/index.ts +0 -666
  84. package/src/services/helpers/rest.ts +0 -57
  85. package/src/services/index.ts +0 -13
  86. package/src/services/objectService.ts +0 -846
  87. package/src/services/objectServiceDispatcher.ts +0 -209
  88. package/src/services/objectServiceFactory.ts +0 -29
  89. package/src/summary/core.ts +0 -263
  90. package/src/summary/field_summary.ts +0 -71
  91. package/src/summary/index.ts +0 -96
  92. package/src/summary/recompute.ts +0 -31
  93. package/src/summary/type.ts +0 -60
  94. package/src/ts-types/index.ts +0 -3
  95. package/src/ts-types/permissionset.ts +0 -8
  96. package/src/ts-types/profile.ts +0 -11
  97. package/src/ts-types/triggerActionParams.ts +0 -22
  98. package/src/typeorm/driver.ts +0 -379
  99. package/src/typeorm/index.ts +0 -3
  100. package/src/typeorm/util.ts +0 -147
  101. package/src/types/action.ts +0 -52
  102. package/src/types/app.ts +0 -280
  103. package/src/types/config.ts +0 -152
  104. package/src/types/connection.ts +0 -87
  105. package/src/types/dashboard.ts +0 -91
  106. package/src/types/datasource.ts +0 -570
  107. package/src/types/field.ts +0 -370
  108. package/src/types/field_permission.ts +0 -42
  109. package/src/types/field_types.ts +0 -1
  110. package/src/types/index.ts +0 -21
  111. package/src/types/list_view.ts +0 -56
  112. package/src/types/listeners.ts +0 -18
  113. package/src/types/object.ts +0 -2076
  114. package/src/types/object_dynamic_load.ts +0 -426
  115. package/src/types/object_events.ts +0 -43
  116. package/src/types/object_layouts.ts +0 -20
  117. package/src/types/object_permission.ts +0 -134
  118. package/src/types/query.ts +0 -28
  119. package/src/types/report.ts +0 -128
  120. package/src/types/restrictionRule.ts +0 -57
  121. package/src/types/schema.ts +0 -273
  122. package/src/types/shareRule.ts +0 -57
  123. package/src/types/trigger.ts +0 -88
  124. package/src/types/userSession.ts +0 -45
  125. package/src/types/validation_rules.ts +0 -29
  126. package/src/util/convert.ts +0 -131
  127. package/src/util/field.ts +0 -93
  128. package/src/util/function_expression.ts +0 -63
  129. package/src/util/index.ts +0 -1066
  130. package/src/util/locale.ts +0 -24
  131. package/src/util/permission_shares.ts +0 -25
  132. package/src/util/suffix.ts +0 -78
  133. package/src/util/transform.ts +0 -239
  134. package/src/validators/index.ts +0 -36
@@ -1,63 +0,0 @@
1
- import { SteedosActionTypeConfig } from '../types'
2
- import { Dictionary, JsonMap } from '@salesforce/ts-types';
3
- import { getObjectConfig } from '../types'
4
- import _ = require('lodash');
5
- var util = require('../util');
6
- var clone = require('clone');
7
-
8
- const _lazyLoadMethods: Dictionary<any> = {};
9
-
10
- const addLazyLoadMethods = function(objectName: string, json: SteedosActionTypeConfig){
11
- if(!_lazyLoadMethods[objectName]){
12
- _lazyLoadMethods[objectName] = []
13
- }
14
- _lazyLoadMethods[objectName].push(json)
15
- }
16
-
17
- const getLazyLoadMethods = function(objectName: string){
18
- return _lazyLoadMethods[objectName]
19
- }
20
-
21
- export const loadObjectLazyMethods = function(objectName: string){
22
- let methods = getLazyLoadMethods(objectName);
23
- _.each(methods, function(methods){
24
- addObjectMethodConfig(clone(methods));
25
- })
26
- }
27
-
28
- export const addObjectMethodConfig = (json: JsonMap)=>{
29
- if (!json.listenTo) {
30
- throw new Error('missing attribute listenTo')
31
- }
32
-
33
- if (!_.isString(json.listenTo) && !_.isFunction(json.listenTo)) {
34
- throw new Error('listenTo must be a function or string')
35
- }
36
-
37
- let object_name = '';
38
-
39
- if (_.isString(json.listenTo)) {
40
- object_name = json.listenTo
41
- } else if (_.isFunction(json.listenTo)) {
42
- object_name = json.listenTo()
43
- }
44
-
45
- let object = getObjectConfig(object_name);
46
- if (object) {
47
- if(!object.methods){
48
- object.methods = {}
49
- }
50
- delete json.listenTo
51
-
52
- Object.assign(object.methods, json);
53
-
54
- }
55
- addLazyLoadMethods(object_name, Object.assign({}, json, {listenTo: object_name}));
56
- }
57
-
58
- export const loadObjectMethods = function (filePath: string){
59
- let methods = util.loadMethods(filePath)
60
- _.each(methods, (json: JsonMap) => {
61
- addObjectMethodConfig(json);
62
- })
63
- }
@@ -1,61 +0,0 @@
1
- /*
2
- * @Author: baozhoutao@steedos.com
3
- * @Date: 2022-03-28 09:35:34
4
- * @LastEditors: baozhoutao@steedos.com
5
- * @LastEditTime: 2022-06-18 10:36:17
6
- * @Description:
7
- */
8
- import { getSteedosSchema } from '../types/schema';
9
- import path = require('path');
10
- import * as _ from 'underscore';
11
- import { map, defaultsDeep, each, filter, reverse } from 'lodash';
12
- var util = require('../util');
13
-
14
- // const addObjectsTranslation = async (objectApiName, data)=>{
15
- // return await getSteedosSchema().metadataBroker?.call('translations.addObjectTranslation', {
16
- // objectApiName, data
17
- // })
18
- // }
19
-
20
- const addObjectTranslations = async (data) => {
21
- return await getSteedosSchema().metadataBroker?.call('translations.addObjectTranslations', {
22
- data
23
- })
24
- }
25
-
26
- export const addObjectTranslationsFiles = async (filePath: string)=>{
27
- if(!path.isAbsolute(filePath)){
28
- throw new Error(`${filePath} must be an absolute path`);
29
- }
30
-
31
- let objectTranslations = util.loadObjectTranslations(filePath)
32
- // for (const element of objectTranslations) {
33
- // try {
34
- // await addObjectsTranslation(element.objectApiName, element)
35
- // } catch (error) {
36
- // console.error(`addObjectsTranslation error`, error.message)
37
- // }
38
- // }
39
- if (objectTranslations && objectTranslations.length > 0) {
40
- await addObjectTranslations(objectTranslations);
41
- }
42
- }
43
-
44
- export const getObjectTranslations = async ()=>{
45
- const objectsTranslations = await getSteedosSchema().metadataBroker.call('translations.getObjectTranslations');
46
- const objectTranslationsTemplates = await getSteedosSchema().metadataBroker.call('translations.getObjectTranslationTemplates');
47
-
48
- const results = [];
49
-
50
- map(objectTranslationsTemplates, ({metadata: defaultTranslation})=>{
51
- each(['zh-CN', 'en'], (lng)=>{
52
- let objectTranslation = {};
53
- const objectTranslations: Array<any> = filter(objectsTranslations, {lng: lng, objectApiName: defaultTranslation.objectApiName});
54
- if(objectTranslations.length > 0){
55
- objectTranslation = defaultsDeep(objectTranslation, ...(reverse(objectTranslations)))
56
- }
57
- results.push(defaultsDeep({ lng: lng }, objectTranslation, defaultTranslation));
58
- })
59
- });
60
- return results;
61
- }
@@ -1,8 +0,0 @@
1
- import { getOriginalObjectConfig } from '../types';
2
-
3
- var util = require('../util');
4
-
5
- export function overrideOriginalObject(objectName, data){
6
- const originalObjectConfig = getOriginalObjectConfig(objectName);
7
- util.extend(originalObjectConfig, data);
8
- }
@@ -1,312 +0,0 @@
1
- import _ = require('lodash');
2
- import { getLazyLoadFields } from './field';
3
- import { getLazyLoadButtons } from './button';
4
- import { addObjectConfig } from '../types/object_dynamic_load';
5
- import { addPermissionConfig, getLazyLoadPermissions, loadObjectMethods, loadObjectTriggers } from '../dynamic-load'
6
- import { getSteedosSchema } from '../types'
7
- import { objectToJson } from '../util/convert';
8
- import { registerPermissionFields } from '..';
9
- var util = require('../util');
10
- var clone = require('clone');
11
- // let Fiber = require('fibers');
12
- declare var Creator: any;
13
-
14
- /***
15
- * 此文件应该迁移到metadata/core中:系统的结构为所有元数据加载都有metadata/core处理,这样metadata的处理就集中了,规则也就一致了,目前metadata core、objectql各自维护一套。
16
- */
17
- const getListenTo = function (json) {
18
- if (!json.listenTo) {
19
- console.log('json', json);
20
- throw new Error('missing attribute listenTo');
21
- }
22
-
23
- if (!_.isString(json.listenTo) && !_.isFunction(json.listenTo)) {
24
- throw new Error('listenTo must be a function or string')
25
- }
26
-
27
- let listenTo: string = '';
28
-
29
- if (_.isString(json.listenTo)) {
30
- listenTo = json.listenTo
31
- } else if (_.isFunction(json.listenTo)) {
32
- listenTo = json.listenTo()
33
- }
34
- return listenTo;
35
- }
36
-
37
- const loadPackageObjects = function (filePath: string) {
38
- const objectJsons = util.loadObjects(filePath);
39
- return objectJsons;
40
- }
41
-
42
- const loadPackageFields = function (filePath: string) {
43
- const fieldJsons = util.loadFields(filePath);
44
- return fieldJsons;
45
- }
46
-
47
- const loadPackageListViews = function (filePath: string) {
48
- let listViewJsons = util.loadListViews(filePath);
49
- return listViewJsons;
50
- }
51
-
52
- const loadPackageButtons = function (filePath: string) {
53
- let buttonJsons = util.loadButtons(filePath);
54
- return buttonJsons;
55
- }
56
-
57
- const loadPackageActions = function (filePath: string) {
58
- let actions = util.loadActions(filePath);
59
- return _.map(actions, actionToMetadata);
60
- }
61
-
62
- const loadPackageActionScripts = function (filePath: string) {
63
- let buttonScripts = util.loadButtonScripts(filePath);
64
- return _.map(buttonScripts, actionToMetadata);
65
- }
66
-
67
- const actionToMetadata = (config) => {
68
- const actions = {};
69
- let object_name = getListenTo(config);
70
- const keys = _.keys(config);
71
- _.each(keys, (key) => {
72
- if (key.endsWith('Visible')) {
73
- if (_.isFunction(config[key])) {
74
- const _key = key.replace(/(.*)Visible/, '$1');
75
- if (!actions[_key]) {
76
- actions[_key] = {};
77
- }
78
- actions[_key]._visible = config[key].toString();
79
- }
80
- } else {
81
- if (_.isFunction(config[key])) {
82
- if (!actions[key]) {
83
- actions[key] = {};
84
- }
85
- actions[key].todo = config[key].toString();
86
- actions[key]._todo = config[key].toString();
87
- }
88
- }
89
- })
90
- return { object_name, actions };
91
- }
92
-
93
- const loadPackagePermissions = function (filePath: string) {
94
- let permissions = util.loadPermissions(filePath);
95
- return _.map(permissions, (permission) => {
96
- delete permission.field_permissions;
97
- return permission;
98
- });
99
- }
100
-
101
- const registerPackageFieldPermissions = async function (filePath: string, broker, serviceName: string) {
102
- let permissions = util.loadPermissions(filePath);
103
- permissions.forEach(permission => {
104
- addPermissionConfig(permission.object_name, permission);
105
- });
106
-
107
- const data = [];
108
-
109
- for (const permission of permissions) {
110
- const { field_permissions } = permission;
111
- if (field_permissions && _.isArray(field_permissions) && field_permissions.length > 0) {
112
- for (const field_permission of field_permissions) {
113
- data.push({
114
- "name": `${permission.name}.${permission.object_name}.${field_permission.field}`,
115
- "permission_set_id": permission.name,
116
- "permission_object": `${permission.name}_${permission.object_name}`,
117
- "object_name": permission.object_name,
118
- "field": field_permission.field,
119
- "readable": field_permission.readable,
120
- "editable": field_permission.editable,
121
- "is_system": true,
122
- })
123
- }
124
- }
125
- }
126
- if (data.length > 0) {
127
- return await registerPermissionFields.mregister(broker, serviceName, data);
128
- }
129
- }
130
-
131
- async function addObjectConfigs(broker, serviceName, objectConfigs) {
132
- let metadatas = clone(objectConfigs);
133
- _.map(metadatas, (metadata) => {
134
- delete metadata.triggers;
135
- delete metadata.listeners;
136
- delete metadata.methods;
137
- objectToJson(metadata);
138
- })
139
- const res = await broker.call("objects.addConfigs", { data: metadatas }, {
140
- meta: {
141
- metadataServiceName: serviceName,
142
- caller: {
143
- nodeID: broker.nodeID
144
- }
145
- }
146
- });
147
- return res;
148
- }
149
-
150
- /**
151
- * 加载软件包下的所有元数据
152
- * 1 在内存中合并所有对象元数据并发送: object.yml 、field.yml、.listview.yml、.button.yml、TODO .action.yml
153
- * 2 TODO 其他元数据发送
154
- * @param packagePath 软件包路径
155
- * @param datasource 软件数据源
156
- * @param serviceName 软件包服务名称
157
- */
158
- export const loadPackageMetadatas = async function (packagePath: string, datasource: string, serviceName?: string) {
159
- let packageObjects = loadPackageObjects(packagePath);
160
- const packageFields = loadPackageFields(packagePath);
161
- const packageListviews = loadPackageListViews(packagePath);
162
- const packageButtons = loadPackageButtons(packagePath);
163
- const packageActions = loadPackageActions(packagePath);
164
- const packageActionScripts = loadPackageActionScripts(packagePath);
165
- const packagePermissions = loadPackagePermissions(packagePath);
166
-
167
- const packageObjectApiNames = _.map(packageObjects, 'name');
168
-
169
- packageObjects = _.map(packageObjects, (packageObject) => {
170
- _.map(packageFields, (field) => {
171
- if (field && field.object_name == packageObject.name) {
172
- packageObject = _.defaultsDeep(packageObject, { fields: { [field.name]: field } }, packageObject);
173
- }
174
- })
175
- _.map(packageListviews, (listview) => {
176
- if (listview && listview.object_name == packageObject.name) {
177
- packageObject = _.defaultsDeep(packageObject, { list_views: { [listview.name]: listview } }, packageObject);
178
- }
179
- })
180
-
181
- _.map(packageButtons, (button) => {
182
- if (button && button.object_name == packageObject.name) {
183
- packageObject = _.defaultsDeep(packageObject, { actions: { [button.name]: button } }, packageObject);
184
- }
185
- })
186
-
187
- _.map(packageActions, (action) => {
188
- if (action && action.object_name == packageObject.name) {
189
- packageObject = _.defaultsDeep(packageObject, { actions: action.actions }, packageObject);
190
- }
191
- })
192
-
193
- _.map(packageActionScripts, (actionScript) => {
194
- if (actionScript && actionScript.object_name == packageObject.name) {
195
- packageObject = _.defaultsDeep(packageObject, { actions: actionScript.actions }, packageObject);
196
- }
197
- })
198
-
199
- _.map(packagePermissions, (permission) => {
200
- if (permission && permission.object_name == packageObject.name) {
201
- packageObject = _.defaultsDeep(packageObject, { permission_set: { [permission.name]: permission } }, packageObject);
202
- }
203
- })
204
- return packageObject;
205
- })
206
- for (const element of packageObjects) {
207
- if (datasource) {
208
- element.datasource = datasource
209
- }
210
- if (!element.extend) {
211
- element.isMain = true;
212
- }
213
- let startNo = 10;
214
- _.each(element.fields, function (field) {
215
- if (!_.has(field, 'sort_no')) {
216
- field.sort_no = startNo;
217
- startNo = startNo + 10;
218
- }
219
- })
220
- if (!element.fields) {
221
- element.fields = {}
222
- }
223
- _.each(getLazyLoadFields(element.name), function (field) {
224
- util.extend(element.fields, { [field.name]: field })
225
- })
226
- if (!element.actions) {
227
- element.actions = {}
228
- }
229
- _.each(getLazyLoadButtons(element.name), function (action) {
230
- util.extend(element.actions, { [action.name]: action })
231
- })
232
- let _mf = _.maxBy(_.values(element.fields), function (field) { return field.sort_no; });
233
- if (_mf && element.name) {
234
- element.fields_serial_number = _mf.sort_no + 10;
235
- }
236
-
237
- if (!element.permission_set) {
238
- element.permission_set = {}
239
- }
240
- _.each(getLazyLoadPermissions(element.name), function (permission) {
241
- util.extend(element.permission_set, {[permission.name]: permission})
242
- })
243
-
244
- addObjectConfig(element, datasource, null);
245
- }
246
-
247
- loadObjectTriggers(packagePath, serviceName);
248
- //此功能不支持微服务模式
249
- loadObjectMethods(packagePath);
250
-
251
- await addObjectConfigs(getSteedosSchema().metadataBroker, serviceName, packageObjects);
252
- if (serviceName) {
253
- for await (const packageField of packageFields) {
254
- if (packageField && !_.includes(packageObjectApiNames, packageField.object_name)) {
255
-
256
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: packageField.object_name }, {
257
- fields: {
258
- [packageField.name]: packageField
259
- }
260
- }));
261
- }
262
- }
263
-
264
- for await (const packageListview of packageListviews) {
265
- if (packageListview && !_.includes(packageObjectApiNames, packageListview.object_name)) {
266
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: packageListview.object_name }, {
267
- list_views: {
268
- [packageListview.name]: packageListview
269
- }
270
- }));
271
- }
272
- }
273
-
274
- for await (const packageButton of packageButtons) {
275
- if (packageButton && !_.includes(packageObjectApiNames, packageButton.object_name)) {
276
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: packageButton.object_name }, {
277
- actions: {
278
- [packageButton.name]: packageButton
279
- }
280
- }));
281
- }
282
- }
283
-
284
- for await (const packageAction of packageActions) {
285
- if (packageAction && !_.includes(packageObjectApiNames, packageAction.object_name)) {
286
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: packageAction.object_name }, {
287
- actions: packageAction.actions
288
- }));
289
- }
290
- }
291
-
292
- for await (const packageActionScript of packageActionScripts) {
293
- if (packageActionScript && !_.includes(packageObjectApiNames, packageActionScript.object_name)) {
294
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: packageActionScript.object_name }, {
295
- actions: packageActionScript.actions
296
- }));
297
- }
298
- }
299
-
300
- for await (const permission of packagePermissions) {
301
- if (permission && !_.includes(packageObjectApiNames, permission.object_name)) {
302
- await getSteedosSchema().metadataRegister.addObjectConfig(serviceName, Object.assign({ extend: permission.object_name }, {
303
- permission_set: {
304
- [permission.name]: permission
305
- }
306
- }));
307
- }
308
- }
309
- }
310
-
311
- await registerPackageFieldPermissions(packagePath, getSteedosSchema().metadataBroker, packagePath)
312
- }
@@ -1,23 +0,0 @@
1
- import { LoadPageFile } from '@steedos/metadata-core';
2
- import { registerPage } from '../metadata-register/page';
3
- import { getSteedosSchema } from '../types'
4
- const loadPageFile = new LoadPageFile();
5
-
6
- export const registerPackagePages = async (packagePath: string, packageServiceName: string)=>{
7
- const pages = loadPageFile.load(packagePath);
8
- const schema = getSteedosSchema();
9
- const data = [];
10
- for (const apiName in pages) {
11
- const page = pages[apiName];
12
- data.push(Object.assign(page, {
13
- is_system: true, record_permissions: {
14
- allowEdit: false,
15
- allowDelete: false,
16
- allowRead: true,
17
- }}))
18
-
19
- }
20
- if (data.length > 0) {
21
- await registerPage.mregister(schema.broker, packageServiceName, data)
22
- }
23
- }
@@ -1,71 +0,0 @@
1
- import { Dictionary } from '@salesforce/ts-types';
2
- import { getObjectConfig, getSteedosSchema, SteedosObjectPermissionTypeConfig } from '../types'
3
- import { registerPermissionFields } from '../metadata-register/permissionFields'
4
- import _ = require('lodash');
5
- var util = require('../util');
6
- var clone = require('clone');
7
-
8
- const _lazyLoads: Dictionary<any> = {};
9
-
10
- const addLazyLoad = function(objectName: string, json: SteedosObjectPermissionTypeConfig){
11
- if(!_lazyLoads[objectName]){
12
- _lazyLoads[objectName] = []
13
- }
14
- _lazyLoads[objectName].push(json)
15
- }
16
-
17
- const getLazyLoads = function(objectName: string){
18
- return _lazyLoads[objectName]
19
- }
20
-
21
- export const getLazyLoadPermissions = function(objectName: string){
22
- return getLazyLoads(objectName);
23
- }
24
-
25
- export const lazyloadPermissions = function(objectName: string){
26
- let permissions = getLazyLoads(objectName);
27
- _.each(permissions, function(permission){
28
- addPermissionConfig(permission.object_name, clone(permission));
29
- })
30
- }
31
-
32
- export const addPermissionConfig = (objectName: string, json: SteedosObjectPermissionTypeConfig)=>{
33
- if (!json.object_name) {
34
- throw new Error('missing attribute object_name')
35
- }
36
- let object = getObjectConfig(json.object_name);
37
- if (object) {
38
- if(!object.permission_set){
39
- object.permission_set = {}
40
- }
41
- util.extend(object.permission_set, {[json.name]: json})
42
- // getDataSource(object.datasource).setObjectPermission(objectName, json);
43
- } else {
44
- addLazyLoad(objectName, json);
45
- }
46
- }
47
-
48
- export const loadObjectPermissions = async function (filePath: string, serviceName: string){
49
- let permissions = util.loadPermissions(filePath);
50
- permissions.forEach(permission => {
51
- addPermissionConfig(permission.object_name, permission);
52
- });
53
- if(serviceName)
54
- for await (const permission of permissions) {
55
- const { field_permissions } = permission;
56
- if (field_permissions && _.isArray(field_permissions) && field_permissions.length > 0) {
57
- for await (const field_permission of field_permissions) {
58
- await registerPermissionFields.register(getSteedosSchema().broker, serviceName, {
59
- "name": `${permission.name}.${permission.object_name}.${field_permission.field}`,
60
- "permission_set_id": permission.name,
61
- "permission_object": `${permission.name}_${permission.object_name}`,
62
- "object_name": permission.object_name,
63
- "field": field_permission.field,
64
- "readable": field_permission.readable,
65
- "editable": field_permission.editable,
66
- "is_system": true,
67
- })
68
- }
69
- }
70
- }
71
- }
@@ -1,78 +0,0 @@
1
- import { SteedosPermissionsetTypeConfig } from '../ts-types';
2
- import { getSteedosSchema } from '../types/schema';
3
- var util = require('../util');
4
- var clone = require('clone');
5
- var _ = require('underscore');
6
- const PERMISSIONS = {
7
- allowEdit: false,
8
- allowDelete: false,
9
- allowRead: true,
10
- };
11
-
12
- const BASERECORD = {
13
- is_system: true,
14
- type: "permission_set",
15
- record_permissions: PERMISSIONS
16
- };
17
-
18
- const STANDARD_PERMISSIONSETS = {
19
- none: {_id: 'none', name: 'none', label: 'none', license: '', ...BASERECORD}
20
- }
21
-
22
- const getStandardpPermissionset = function(name){
23
- return getStandardpPermissionsets()[name];
24
- }
25
-
26
- const getStandardpPermissionsets = function(){
27
- return clone(STANDARD_PERMISSIONSETS);
28
- }
29
-
30
- // const PERMISSION_SET_KEY = 'STANDARD_PERMISSION_SETS';
31
-
32
- const addPermissionset = async function(json: SteedosPermissionsetTypeConfig, serviceName: string){
33
- if(!json.name){
34
- throw new Error('missing attribute name: ' + (json as any)?.__filename)
35
- }
36
- let permissionsetConfig = null;
37
-
38
- if(_.include(_.keys(STANDARD_PERMISSIONSETS), json.name)){
39
- permissionsetConfig = Object.assign({}, getStandardpPermissionset(json.name), json, clone(BASERECORD))
40
- }else{
41
- permissionsetConfig = Object.assign({}, json, clone(BASERECORD))
42
- }
43
- const schema = getSteedosSchema();
44
- await schema.metadataRegister?.addPermissionset(serviceName, permissionsetConfig);
45
- }
46
-
47
- export const loadStandardPermissionsets = async function(serviceName: string){
48
- const schema = getSteedosSchema();
49
- const keys = _.keys(STANDARD_PERMISSIONSETS);
50
- for (const key of keys) {
51
- const standardPermissionset = STANDARD_PERMISSIONSETS[key];
52
- await schema.metadataRegister.addPermissionset(serviceName, standardPermissionset);
53
- }
54
- }
55
-
56
- export const loadSourcePermissionset = async function (filePath: string, serviceName: string){
57
- let permissionsets = util.loadPermissionsets(filePath)
58
- for (const permissionset of permissionsets) {
59
- await addPermissionset(permissionset, serviceName);
60
- }
61
- }
62
-
63
- export const getSourcePermissionset = async function(name){
64
- const schema = getSteedosSchema();
65
- const permissionset = await schema.metadataRegister.getPermissionset(name);
66
- return permissionset?.metadata
67
- }
68
-
69
- export const getSourcePermissionsetKeys = async function(){
70
- const permissionsets = await getSourcePermissionsets();
71
- return _.pluck(permissionsets, 'name');
72
- }
73
-
74
- export const getSourcePermissionsets = async function(){
75
- const schema = getSteedosSchema();
76
- const permissionsets = await schema.metadataRegister.getPermissionsets();
77
- return permissionsets ? _.pluck(permissionsets, 'metadata') : [];
78
- }