@steedos/metadata-registrar 2.5.2 → 2.5.3-beta.10

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 (160) hide show
  1. package/lib/config-register/actions.d.ts +4 -0
  2. package/lib/config-register/actions.js +165 -0
  3. package/lib/config-register/actions.js.map +1 -0
  4. package/lib/config-register/app.d.ts +1 -0
  5. package/lib/config-register/app.js +21 -0
  6. package/lib/config-register/app.js.map +1 -0
  7. package/lib/config-register/approval_process.d.ts +5 -0
  8. package/lib/config-register/approval_process.js +85 -0
  9. package/lib/config-register/approval_process.js.map +1 -0
  10. package/lib/config-register/button.d.ts +7 -0
  11. package/lib/config-register/button.js +89 -0
  12. package/lib/config-register/button.js.map +1 -0
  13. package/lib/config-register/chart.d.ts +1 -0
  14. package/lib/config-register/chart.js +26 -0
  15. package/lib/config-register/chart.js.map +1 -0
  16. package/lib/config-register/client_script.d.ts +3 -0
  17. package/lib/config-register/client_script.js +49 -0
  18. package/lib/config-register/client_script.js.map +1 -0
  19. package/lib/config-register/core.d.ts +32 -0
  20. package/lib/config-register/core.js +414 -0
  21. package/lib/config-register/core.js.map +1 -0
  22. package/lib/config-register/field.d.ts +5 -0
  23. package/lib/config-register/field.js +90 -0
  24. package/lib/config-register/field.js.map +1 -0
  25. package/lib/config-register/flow_role.d.ts +4 -0
  26. package/lib/config-register/flow_role.js +65 -0
  27. package/lib/config-register/flow_role.js.map +1 -0
  28. package/lib/config-register/index.d.ts +2 -0
  29. package/lib/config-register/index.js +40 -0
  30. package/lib/config-register/index.js.map +1 -0
  31. package/lib/config-register/layout.d.ts +5 -0
  32. package/lib/config-register/layout.js +68 -0
  33. package/lib/config-register/layout.js.map +1 -0
  34. package/lib/config-register/listview.d.ts +3 -0
  35. package/lib/config-register/listview.js +71 -0
  36. package/lib/config-register/listview.js.map +1 -0
  37. package/lib/config-register/method.d.ts +3 -0
  38. package/lib/config-register/method.js +83 -0
  39. package/lib/config-register/method.js.map +1 -0
  40. package/lib/config-register/object_translations.d.ts +2 -0
  41. package/lib/config-register/object_translations.js +41 -0
  42. package/lib/config-register/object_translations.js.map +1 -0
  43. package/lib/config-register/originalObject.d.ts +1 -0
  44. package/lib/config-register/originalObject.js +11 -0
  45. package/lib/config-register/originalObject.js.map +1 -0
  46. package/lib/config-register/package.d.ts +1 -0
  47. package/lib/config-register/package.js +357 -0
  48. package/lib/config-register/package.js.map +1 -0
  49. package/lib/config-register/page.d.ts +1 -0
  50. package/lib/config-register/page.js +26 -0
  51. package/lib/config-register/page.js.map +1 -0
  52. package/lib/config-register/permission.d.ts +4 -0
  53. package/lib/config-register/permission.js +102 -0
  54. package/lib/config-register/permission.js.map +1 -0
  55. package/lib/config-register/permissionset.d.ts +5 -0
  56. package/lib/config-register/permissionset.js +100 -0
  57. package/lib/config-register/permissionset.js.map +1 -0
  58. package/lib/config-register/preload_data.d.ts +8 -0
  59. package/lib/config-register/preload_data.js +172 -0
  60. package/lib/config-register/preload_data.js.map +1 -0
  61. package/lib/config-register/profile.d.ts +5 -0
  62. package/lib/config-register/profile.js +108 -0
  63. package/lib/config-register/profile.js.map +1 -0
  64. package/lib/config-register/query.d.ts +1 -0
  65. package/lib/config-register/query.js +26 -0
  66. package/lib/config-register/query.js.map +1 -0
  67. package/lib/config-register/restrictionRules.d.ts +1 -0
  68. package/lib/config-register/restrictionRules.js +26 -0
  69. package/lib/config-register/restrictionRules.js.map +1 -0
  70. package/lib/config-register/role.d.ts +4 -0
  71. package/lib/config-register/role.js +65 -0
  72. package/lib/config-register/role.js.map +1 -0
  73. package/lib/config-register/shareRules.d.ts +1 -0
  74. package/lib/config-register/shareRules.js +26 -0
  75. package/lib/config-register/shareRules.js.map +1 -0
  76. package/lib/config-register/tab.d.ts +1 -0
  77. package/lib/config-register/tab.js +20 -0
  78. package/lib/config-register/tab.js.map +1 -0
  79. package/lib/config-register/tabs.d.ts +2 -0
  80. package/lib/config-register/tabs.js +14 -0
  81. package/lib/config-register/tabs.js.map +1 -0
  82. package/lib/config-register/translations.d.ts +2 -0
  83. package/lib/config-register/translations.js +42 -0
  84. package/lib/config-register/translations.js.map +1 -0
  85. package/lib/config-register/trigger.d.ts +6 -0
  86. package/lib/config-register/trigger.js +231 -0
  87. package/lib/config-register/trigger.js.map +1 -0
  88. package/lib/config-register/validation_rule.d.ts +6 -0
  89. package/lib/config-register/validation_rule.js +88 -0
  90. package/lib/config-register/validation_rule.js.map +1 -0
  91. package/lib/config-register/workflow.d.ts +17 -0
  92. package/lib/config-register/workflow.js +158 -0
  93. package/lib/config-register/workflow.js.map +1 -0
  94. package/lib/config.d.ts +10 -0
  95. package/lib/config.js +124 -0
  96. package/lib/config.js.map +1 -0
  97. package/lib/index.d.ts +31 -1
  98. package/lib/index.js +31 -0
  99. package/lib/index.js.map +1 -1
  100. package/lib/metadata-register/_base.d.ts +12 -0
  101. package/lib/metadata-register/_base.js +92 -0
  102. package/lib/metadata-register/_base.js.map +1 -0
  103. package/lib/metadata-register/app.d.ts +4 -0
  104. package/lib/metadata-register/app.js +44 -0
  105. package/lib/metadata-register/app.js.map +1 -0
  106. package/lib/metadata-register/chart.d.ts +6 -0
  107. package/lib/metadata-register/chart.js +12 -0
  108. package/lib/metadata-register/chart.js.map +1 -0
  109. package/lib/metadata-register/index.d.ts +33 -0
  110. package/lib/metadata-register/index.js +142 -0
  111. package/lib/metadata-register/index.js.map +1 -0
  112. package/lib/metadata-register/layout.d.ts +5 -0
  113. package/lib/metadata-register/layout.js +54 -0
  114. package/lib/metadata-register/layout.js.map +1 -0
  115. package/lib/metadata-register/object.d.ts +5 -0
  116. package/lib/metadata-register/object.js +76 -0
  117. package/lib/metadata-register/object.js.map +1 -0
  118. package/lib/metadata-register/page.d.ts +6 -0
  119. package/lib/metadata-register/page.js +12 -0
  120. package/lib/metadata-register/page.js.map +1 -0
  121. package/lib/metadata-register/permissionFields.d.ts +7 -0
  122. package/lib/metadata-register/permissionFields.js +15 -0
  123. package/lib/metadata-register/permissionFields.js.map +1 -0
  124. package/lib/metadata-register/permissionset.d.ts +3 -0
  125. package/lib/metadata-register/permissionset.js +37 -0
  126. package/lib/metadata-register/permissionset.js.map +1 -0
  127. package/lib/metadata-register/process.d.ts +6 -0
  128. package/lib/metadata-register/process.js +12 -0
  129. package/lib/metadata-register/process.js.map +1 -0
  130. package/lib/metadata-register/processTrigger.d.ts +7 -0
  131. package/lib/metadata-register/processTrigger.js +15 -0
  132. package/lib/metadata-register/processTrigger.js.map +1 -0
  133. package/lib/metadata-register/profile.d.ts +3 -0
  134. package/lib/metadata-register/profile.js +37 -0
  135. package/lib/metadata-register/profile.js.map +1 -0
  136. package/lib/metadata-register/query.d.ts +6 -0
  137. package/lib/metadata-register/query.js +12 -0
  138. package/lib/metadata-register/query.js.map +1 -0
  139. package/lib/metadata-register/restrictionRules.d.ts +7 -0
  140. package/lib/metadata-register/restrictionRules.js +15 -0
  141. package/lib/metadata-register/restrictionRules.js.map +1 -0
  142. package/lib/metadata-register/shareRules.d.ts +7 -0
  143. package/lib/metadata-register/shareRules.js +15 -0
  144. package/lib/metadata-register/shareRules.js.map +1 -0
  145. package/lib/metadata-register/tab.d.ts +6 -0
  146. package/lib/metadata-register/tab.js +12 -0
  147. package/lib/metadata-register/tab.js.map +1 -0
  148. package/lib/metadata-register/tabs.d.ts +5 -0
  149. package/lib/metadata-register/tabs.js +54 -0
  150. package/lib/metadata-register/tabs.js.map +1 -0
  151. package/lib/utils/convert.d.ts +2 -0
  152. package/lib/utils/convert.js +130 -0
  153. package/lib/utils/convert.js.map +1 -0
  154. package/lib/utils/index.d.ts +19 -0
  155. package/lib/utils/index.js +409 -0
  156. package/lib/utils/index.js.map +1 -0
  157. package/lib/utils/transform.d.ts +2 -0
  158. package/lib/utils/transform.js +209 -0
  159. package/lib/utils/transform.js.map +1 -0
  160. package/package.json +7 -3
@@ -0,0 +1,414 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addObjectDataFiles = exports.setObjectData = exports.getObjectData = exports.getAllObjectData = exports.addObjectPermission = exports.addObjectAction = exports.addObjectMethod = exports.getRouterConfigs = exports.addRouterConfig = exports.loadStandardBaseObjects = exports.loadDbMetadatas = exports.loadStandardMetadata = exports.removeObjectListenerConfig = exports.removeObjectConfig = exports.addObjectConfig = exports.getClientScriptsFiles = exports.addClientScriptFiles = exports.getRouters = exports.addRouterFiles = exports.getObjectsI18n = exports.addObjectI18nFiles = exports.getServerScripts = exports.addServerScriptFiles = exports.addObjectConfigFiles = exports.getObjectConfig = exports.getObjectConfigs = exports.getOriginalObjectConfigs = exports.getOriginalObjectConfig = exports.addOriginalObjectConfigs = exports.SQL_BASE_OBJECT = exports.MONGO_BASE_OBJECT = exports.SYSTEM_DATASOURCE = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const _ = require("lodash");
6
+ const path = require("path");
7
+ const preload_data_1 = require("./preload_data");
8
+ const package_1 = require("./package");
9
+ const transform_1 = require("../utils/transform");
10
+ const metadata_core_1 = require("@steedos/metadata-core");
11
+ const metadata_register_1 = require("../metadata-register");
12
+ const layout_1 = require("./layout");
13
+ const profile_1 = require("./profile");
14
+ const permissionset_1 = require("./permissionset");
15
+ const approval_process_1 = require("./approval_process");
16
+ const validation_rule_1 = require("./validation_rule");
17
+ const role_1 = require("./role");
18
+ const workflow_1 = require("./workflow");
19
+ const flow_role_1 = require("./flow_role");
20
+ const trigger_1 = require("./trigger");
21
+ const utils_1 = require("../utils");
22
+ var clone = require('clone');
23
+ exports.SYSTEM_DATASOURCE = '__SYSTEM_DATASOURCE';
24
+ exports.MONGO_BASE_OBJECT = '__MONGO_BASE_OBJECT';
25
+ exports.SQL_BASE_OBJECT = '__SQL_BASE_OBJECT';
26
+ const _original_objectConfigs = [];
27
+ const _objectConfigs = [];
28
+ const _routerConfigs = [];
29
+ const _clientScripts = [];
30
+ const _serverScripts = [];
31
+ const _objectsI18n = [];
32
+ const _routers = [];
33
+ const _objectsData = {};
34
+ const delayLoadExtendObjectConfigQueue = {};
35
+ let standardObjectsLoaded = false;
36
+ let dbMetadataLoaing = false;
37
+ const addDelayLoadExtendObjectConfig = function (extend, config) {
38
+ if (!delayLoadExtendObjectConfigQueue[extend]) {
39
+ delayLoadExtendObjectConfigQueue[extend] = [];
40
+ }
41
+ delayLoadExtendObjectConfigQueue[extend].push(config);
42
+ };
43
+ const addOriginalObjectConfigs = function (objectName, datasource, config) {
44
+ if (objectName === exports.MONGO_BASE_OBJECT || objectName === exports.SQL_BASE_OBJECT) {
45
+ return;
46
+ }
47
+ config.datasource = datasource;
48
+ _.remove(_original_objectConfigs, { name: objectName, datasource: datasource });
49
+ _original_objectConfigs.push(config);
50
+ };
51
+ exports.addOriginalObjectConfigs = addOriginalObjectConfigs;
52
+ const extendOriginalObjectConfig = function (objectName, datasource, objectConfig) {
53
+ if (objectName === exports.MONGO_BASE_OBJECT || objectName === exports.SQL_BASE_OBJECT) {
54
+ return;
55
+ }
56
+ let parentOriginalObjectConfig = (0, exports.getOriginalObjectConfig)(objectName);
57
+ let originalObjectConfig = (0, utils_1.extend)({
58
+ name: objectName,
59
+ fields: {}
60
+ }, clone(parentOriginalObjectConfig), objectConfig);
61
+ (0, exports.addOriginalObjectConfigs)(objectName, datasource, clone(originalObjectConfig));
62
+ };
63
+ const perfectObjectConfig = (objectConfig) => {
64
+ _.each(objectConfig.fields, (field, key) => {
65
+ if (!field.name) {
66
+ field.name = key;
67
+ }
68
+ });
69
+ };
70
+ const getOriginalObjectConfig = (object_name) => {
71
+ return _.find(_original_objectConfigs, { name: object_name });
72
+ };
73
+ exports.getOriginalObjectConfig = getOriginalObjectConfig;
74
+ const getOriginalObjectConfigs = (datasource) => {
75
+ if (datasource) {
76
+ return _.filter(_original_objectConfigs, { datasource: datasource });
77
+ }
78
+ else {
79
+ return _original_objectConfigs;
80
+ }
81
+ };
82
+ exports.getOriginalObjectConfigs = getOriginalObjectConfigs;
83
+ const getObjectConfigs = (datasource) => {
84
+ if (datasource) {
85
+ return _.filter(_objectConfigs, { datasource: datasource });
86
+ }
87
+ else {
88
+ return _objectConfigs;
89
+ }
90
+ };
91
+ exports.getObjectConfigs = getObjectConfigs;
92
+ const getObjectConfig = (object_name) => {
93
+ return _.find(_objectConfigs, { name: object_name });
94
+ };
95
+ exports.getObjectConfig = getObjectConfig;
96
+ const addObjectConfigFiles = (filePath, datasource, serviceName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
97
+ if (!path.isAbsolute(filePath)) {
98
+ throw new Error(`${filePath} must be an absolute path`);
99
+ }
100
+ if (!datasource)
101
+ datasource = 'meteor';
102
+ yield (0, package_1.loadPackageMetadatas)(filePath, datasource, serviceName);
103
+ yield (0, layout_1.loadObjectLayouts)(filePath, serviceName);
104
+ yield (0, profile_1.loadSourceProfiles)(filePath, serviceName);
105
+ yield (0, permissionset_1.loadSourcePermissionset)(filePath, serviceName);
106
+ (0, validation_rule_1.loadObjectValidationRules)(filePath, serviceName);
107
+ (0, role_1.loadSourceRoles)(filePath);
108
+ (0, flow_role_1.loadSourceFlowRoles)(filePath);
109
+ (0, approval_process_1.loadSourceApprovalProcesses)(filePath);
110
+ (0, workflow_1.loadSourceWorkflows)(filePath);
111
+ });
112
+ exports.addObjectConfigFiles = addObjectConfigFiles;
113
+ const addServerScriptFiles = (filePath) => {
114
+ const filePatten = [
115
+ path.join(filePath, "*.object.js"),
116
+ "!" + path.join(filePath, "node_modules"),
117
+ ];
118
+ const matchedPaths = (0, metadata_core_1.syncMatchFiles)(filePatten);
119
+ _.each(matchedPaths, (matchedPath) => {
120
+ _serverScripts.push(matchedPath);
121
+ });
122
+ };
123
+ exports.addServerScriptFiles = addServerScriptFiles;
124
+ const getServerScripts = () => {
125
+ return _serverScripts;
126
+ };
127
+ exports.getServerScripts = getServerScripts;
128
+ const addObjectI18nFiles = (filePath) => {
129
+ if (!path.isAbsolute(filePath)) {
130
+ throw new Error(`${filePath} must be an absolute path`);
131
+ }
132
+ let i18nData = (0, utils_1.loadI18n)(filePath);
133
+ i18nData.forEach((element) => {
134
+ _objectsI18n.push(element);
135
+ });
136
+ };
137
+ exports.addObjectI18nFiles = addObjectI18nFiles;
138
+ const getObjectsI18n = () => {
139
+ return _objectsI18n;
140
+ };
141
+ exports.getObjectsI18n = getObjectsI18n;
142
+ const addRouterFiles = (filePath) => {
143
+ if (!path.isAbsolute(filePath)) {
144
+ throw new Error(`${filePath} must be an absolute path`);
145
+ }
146
+ let routersData = (0, utils_1.loadRouters)(filePath);
147
+ routersData.forEach((element) => {
148
+ _routers.push(element);
149
+ });
150
+ };
151
+ exports.addRouterFiles = addRouterFiles;
152
+ const getRouters = () => {
153
+ return _routers;
154
+ };
155
+ exports.getRouters = getRouters;
156
+ const addClientScriptFiles = (filePath) => {
157
+ const filePatten = [
158
+ path.join(filePath, "*.client.js"),
159
+ "!" + path.join(filePath, "node_modules"),
160
+ ];
161
+ let matchedPaths = (0, metadata_core_1.syncMatchFiles)(filePatten);
162
+ matchedPaths = _.sortBy(matchedPaths);
163
+ _.each(matchedPaths, (matchedPath) => {
164
+ _clientScripts.push(matchedPath);
165
+ });
166
+ };
167
+ exports.addClientScriptFiles = addClientScriptFiles;
168
+ const getClientScriptsFiles = () => {
169
+ return _.uniq(_clientScripts);
170
+ };
171
+ exports.getClientScriptsFiles = getClientScriptsFiles;
172
+ const addObjectConfig = (objectConfig, datasource, serviceName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
173
+ let object_name = objectConfig.name;
174
+ if (serviceName) {
175
+ if (datasource) {
176
+ objectConfig.datasource = datasource;
177
+ }
178
+ if (!objectConfig.extend) {
179
+ objectConfig.isMain = true;
180
+ }
181
+ yield metadata_register_1.MetadataRegister.addObjectConfig(serviceName, objectConfig);
182
+ }
183
+ let config = {
184
+ name: object_name,
185
+ fields: {}
186
+ };
187
+ if (object_name === exports.MONGO_BASE_OBJECT || object_name === exports.SQL_BASE_OBJECT) {
188
+ config = clone(objectConfig);
189
+ }
190
+ else if (objectConfig.extend) {
191
+ object_name = objectConfig.extend;
192
+ let parentObjectConfig = (0, exports.getObjectConfig)(object_name);
193
+ if (_.isEmpty(parentObjectConfig)) {
194
+ return addDelayLoadExtendObjectConfig(objectConfig.extend, objectConfig);
195
+ throw new Error(`Object extend failed, object not exist: ${objectConfig.extend}`);
196
+ }
197
+ config = (0, utils_1.extend)(config, clone(parentObjectConfig), clone(objectConfig));
198
+ config.name = object_name;
199
+ delete config.extend;
200
+ datasource = parentObjectConfig.datasource;
201
+ extendOriginalObjectConfig(object_name, datasource, clone(objectConfig));
202
+ }
203
+ else {
204
+ (0, exports.addOriginalObjectConfigs)(object_name, datasource, clone(objectConfig));
205
+ if (datasource === 'default' || datasource === 'meteor') {
206
+ let baseObjectConfig = (0, exports.getObjectConfig)(exports.MONGO_BASE_OBJECT);
207
+ if (baseObjectConfig) {
208
+ config.fields = _.clone(objectConfig.fields);
209
+ let _baseObjectConfig = clone(baseObjectConfig);
210
+ delete _baseObjectConfig.hidden;
211
+ if (datasource === 'meteor') {
212
+ _.each(_baseObjectConfig.listeners, function (license) {
213
+ const triggers = (0, transform_1.transformListenersToTriggers)(config, license);
214
+ (0, utils_1.extend)(config, { triggers, _baseTriggers: triggers });
215
+ });
216
+ }
217
+ config = (0, utils_1.extend)(config, _baseObjectConfig, clone(objectConfig));
218
+ }
219
+ }
220
+ else {
221
+ let coreObjectConfig = (0, exports.getObjectConfig)(exports.SQL_BASE_OBJECT);
222
+ if (coreObjectConfig) {
223
+ config.fields = _.clone(objectConfig.fields);
224
+ let _coreObjectConfig = clone(coreObjectConfig);
225
+ delete _coreObjectConfig.hidden;
226
+ config = (0, utils_1.extend)(config, _coreObjectConfig, clone(objectConfig));
227
+ }
228
+ }
229
+ }
230
+ config.datasource = datasource;
231
+ _.remove(_objectConfigs, { name: object_name, datasource: datasource });
232
+ delete config.__filename;
233
+ perfectObjectConfig(config);
234
+ _objectConfigs.push(config);
235
+ const delayLoadQueue = clone(delayLoadExtendObjectConfigQueue[object_name]);
236
+ if (delayLoadQueue && delayLoadQueue.length > 0) {
237
+ delayLoadExtendObjectConfigQueue[object_name] = [];
238
+ for (const index in delayLoadQueue) {
239
+ const delayLoadConfig = delayLoadQueue[index];
240
+ yield (0, exports.addObjectConfig)(delayLoadConfig, delayLoadConfig.datasource, null);
241
+ }
242
+ }
243
+ });
244
+ exports.addObjectConfig = addObjectConfig;
245
+ const removeObjectConfig = (object_name, datasource) => {
246
+ _.remove(_objectConfigs, { name: object_name, datasource: datasource });
247
+ _.remove(_original_objectConfigs, { name: object_name, datasource: datasource });
248
+ };
249
+ exports.removeObjectConfig = removeObjectConfig;
250
+ const removeObjectListenerConfig = (_id, listenTo, when) => {
251
+ if (!_id) {
252
+ throw new Error('[config._id] Can not be empty. can not remove object listener.');
253
+ }
254
+ if (!listenTo) {
255
+ throw new Error('missing attribute listenTo');
256
+ }
257
+ if (!_.isString(listenTo)) {
258
+ throw new Error('listenTo must be a string');
259
+ }
260
+ let object_name = '';
261
+ if (_.isString(listenTo)) {
262
+ object_name = listenTo;
263
+ }
264
+ let object = (0, exports.getObjectConfig)(object_name);
265
+ if (object) {
266
+ if (object.listeners) {
267
+ delete object.listeners[_id];
268
+ }
269
+ if (object.triggers) {
270
+ delete object.triggers[`${_id}_${when}`];
271
+ }
272
+ }
273
+ else {
274
+ throw new Error(`Error remove listener, object not found: ${object_name}`);
275
+ }
276
+ };
277
+ exports.removeObjectListenerConfig = removeObjectListenerConfig;
278
+ const loadStandardMetadata = (serviceName, datasourceApiName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
279
+ yield (0, exports.loadStandardBaseObjects)(serviceName);
280
+ if (dbMetadataLoaing != true) {
281
+ yield (0, profile_1.loadStandardProfiles)(serviceName);
282
+ yield (0, permissionset_1.loadStandardPermissionsets)(serviceName);
283
+ yield (0, exports.loadDbMetadatas)(datasourceApiName);
284
+ dbMetadataLoaing = true;
285
+ }
286
+ });
287
+ exports.loadStandardMetadata = loadStandardMetadata;
288
+ function getDataSource(datasourceApiName) {
289
+ try {
290
+ const objectql = require('@steedos/objectql');
291
+ return objectql.getDataSource(datasourceApiName);
292
+ }
293
+ catch (error) {
294
+ }
295
+ }
296
+ const loadDbMetadatas = (datasourceApiName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
297
+ if (datasourceApiName === 'default' || datasourceApiName === 'meteor') {
298
+ const datasource = getDataSource(datasourceApiName);
299
+ if (datasource && datasourceApiName === 'default') {
300
+ yield datasource.initTypeORM();
301
+ }
302
+ if (datasource) {
303
+ yield (0, preload_data_1.preloadDBApps)(datasource);
304
+ yield (0, preload_data_1.preloadDBTabs)(datasource);
305
+ yield (0, preload_data_1.preloadDBObjectLayouts)(datasource);
306
+ yield (0, preload_data_1.preloadDBObjectFields)(datasource);
307
+ yield (0, preload_data_1.preloadDBObjectButtons)(datasource);
308
+ yield (0, preload_data_1.preloadDBShareRules)(datasource);
309
+ yield (0, preload_data_1.preloadDBRestrictionRules)(datasource);
310
+ yield (0, preload_data_1.preloadDBPermissionFields)(datasource);
311
+ }
312
+ }
313
+ });
314
+ exports.loadDbMetadatas = loadDbMetadatas;
315
+ const loadStandardBaseObjects = (serviceName) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
316
+ if (standardObjectsLoaded)
317
+ return;
318
+ standardObjectsLoaded = true;
319
+ let standardObjectsDir = path.dirname(require.resolve("@steedos/standard-objects"));
320
+ let baseObject = (0, utils_1.loadFile)(path.join(standardObjectsDir, "base.object.yml"));
321
+ baseObject.name = exports.MONGO_BASE_OBJECT;
322
+ yield (0, exports.addObjectConfig)(baseObject, exports.SYSTEM_DATASOURCE, serviceName);
323
+ let baseObjectJs = (0, utils_1.loadFile)(path.join(standardObjectsDir, "base.object.js"));
324
+ baseObjectJs.extend = exports.MONGO_BASE_OBJECT;
325
+ yield (0, exports.addObjectConfig)(baseObjectJs, exports.SYSTEM_DATASOURCE, serviceName);
326
+ const baseTriggers = ['base.trigger.js', 'base.autonumber.trigger.js', 'base.masterDetail.trigger.js', 'base.objectwebhooks.trigger.js', 'base.recordFieldAudit.trigger.js', 'base.recordRecentView.trigger.js', 'base.tree.trigger.js', 'base.calendar.trigger.js', 'base.defaultValue.trigger.js'];
327
+ _.forEach(baseTriggers, function (triggerFileName) {
328
+ let baseObjectTrigger = (0, utils_1.loadFile)(path.join(standardObjectsDir, triggerFileName));
329
+ baseObjectTrigger.listenTo = exports.MONGO_BASE_OBJECT;
330
+ (0, trigger_1.addObjectListenerConfig)(baseObjectTrigger);
331
+ });
332
+ let coreObject = (0, utils_1.loadFile)(path.join(standardObjectsDir, "core.object.yml"));
333
+ coreObject.name = exports.SQL_BASE_OBJECT;
334
+ yield (0, exports.addObjectConfig)(coreObject, exports.SYSTEM_DATASOURCE, serviceName);
335
+ const coreTriggers = ['core.objectwebhooks.trigger.js', 'core.defaultValue.trigger.js', 'core.autonumber.trigger.js'];
336
+ _.forEach(coreTriggers, function (triggerFileName) {
337
+ let coreObjectTrigger = (0, utils_1.loadFile)(path.join(standardObjectsDir, triggerFileName));
338
+ coreObjectTrigger.listenTo = exports.SQL_BASE_OBJECT;
339
+ (0, trigger_1.addObjectListenerConfig)(coreObjectTrigger);
340
+ });
341
+ });
342
+ exports.loadStandardBaseObjects = loadStandardBaseObjects;
343
+ const addRouterConfig = (prefix, router) => {
344
+ if (!prefix)
345
+ throw new Error(`Error add router, prefix required`);
346
+ _.remove(_routerConfigs, { prefix: prefix });
347
+ _routerConfigs.push({ prefix: prefix, router: router });
348
+ };
349
+ exports.addRouterConfig = addRouterConfig;
350
+ const getRouterConfigs = () => {
351
+ return _routerConfigs;
352
+ };
353
+ exports.getRouterConfigs = getRouterConfigs;
354
+ function addObjectMethod(objectName, methodName, method) {
355
+ let object = (0, exports.getObjectConfig)(objectName);
356
+ if (!object)
357
+ throw new Error(`Error add method ${methodName}, object not found: ${objectName}`);
358
+ if (!object.methods) {
359
+ object.methods = {};
360
+ }
361
+ object.methods[methodName] = method;
362
+ }
363
+ exports.addObjectMethod = addObjectMethod;
364
+ function addObjectAction(objectName, actionConfig) {
365
+ if (!actionConfig.name)
366
+ throw new Error(`Error add action, name required`);
367
+ let object = (0, exports.getObjectConfig)(objectName);
368
+ if (!object)
369
+ throw new Error(`Error add action ${actionConfig.name}, object not found: ${objectName}`);
370
+ if (!object.actions) {
371
+ object.actions = {};
372
+ }
373
+ object.actions[actionConfig.name] = actionConfig;
374
+ }
375
+ exports.addObjectAction = addObjectAction;
376
+ function addObjectPermission(objectName, permissionConfig) {
377
+ if (!permissionConfig.name)
378
+ throw new Error(`Error add permission, name required`);
379
+ let object = (0, exports.getObjectConfig)(objectName);
380
+ if (!object)
381
+ throw new Error(`Error add permission ${permissionConfig.name}, object not found: ${objectName}`);
382
+ if (!object.permissions) {
383
+ object.permissions = {};
384
+ }
385
+ object.permissions[permissionConfig.name] = permissionConfig;
386
+ }
387
+ exports.addObjectPermission = addObjectPermission;
388
+ function getAllObjectData() {
389
+ return _objectsData;
390
+ }
391
+ exports.getAllObjectData = getAllObjectData;
392
+ function getObjectData(objectName) {
393
+ return _objectsData[objectName];
394
+ }
395
+ exports.getObjectData = getObjectData;
396
+ function setObjectData(objectName, records) {
397
+ if (_objectsData[objectName]) {
398
+ _objectsData[objectName].concat(records);
399
+ }
400
+ else {
401
+ _objectsData[objectName] = records;
402
+ }
403
+ }
404
+ exports.setObjectData = setObjectData;
405
+ function addObjectDataFiles(filePath) {
406
+ let result = (0, utils_1.loadObjectDataFiles)(filePath);
407
+ _.each(result, function (item) {
408
+ if (item.objectName) {
409
+ setObjectData(item.objectName, item.records);
410
+ }
411
+ });
412
+ }
413
+ exports.addObjectDataFiles = addObjectDataFiles;
414
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/config-register/core.ts"],"names":[],"mappings":";;;;AAAA,4BAA4B;AAC5B,6BAA6B;AAC7B,iDAA+M;AAC/M,uCAAgD;AAChD,kDAAkE;AAClE,0DAAwD;AACxD,4DAAwD;AACxD,qCAA6C;AAC7C,uCAAqE;AACrE,mDAAsF;AACtF,yDAAiE;AACjE,uDAA8D;AAC9D,iCAAyC;AACzC,yCAAiD;AACjD,2CAAkD;AAClD,uCAAoD;AACpD,oCAAwF;AACxF,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAEf,QAAA,iBAAiB,GAAG,qBAAqB,CAAC;AAC1C,QAAA,iBAAiB,GAAG,qBAAqB,CAAC;AAC1C,QAAA,eAAe,GAAG,mBAAmB,CAAC;AACnD,MAAM,uBAAuB,GAAe,EAAE,CAAC;AAC/C,MAAM,cAAc,GAAe,EAAE,CAAC;AACtC,MAAM,cAAc,GAAe,EAAE,CAAC;AACtC,MAAM,cAAc,GAAkB,EAAE,CAAC;AACzC,MAAM,cAAc,GAAkB,EAAE,CAAC;AACzC,MAAM,YAAY,GAAe,EAAE,CAAC;AACpC,MAAM,QAAQ,GAAe,EAAE,CAAC;AAChC,MAAM,YAAY,GAAQ,EAAE,CAAC;AAC7B,MAAM,gCAAgC,GAAQ,EAAE,CAAC;AACjD,IAAI,qBAAqB,GAAY,KAAK,CAAC;AAC3C,IAAI,gBAAgB,GAAY,KAAK,CAAC;AAEtC,MAAM,8BAA8B,GAAG,UAAU,MAAc,EAAE,MAAW;IACxE,IAAG,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAC;QACzC,gCAAgC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;KACjD;IACD,gCAAgC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC,CAAA;AAEM,MAAM,wBAAwB,GAAG,UAAS,UAAkB,EAAE,UAAkB,EAAE,MAAW;IAChG,IAAG,UAAU,KAAK,yBAAiB,IAAI,UAAU,KAAK,uBAAe,EAAC;QAClE,OAAQ;KACX;IACD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC,CAAC;IAC9E,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC,CAAA;AAPY,QAAA,wBAAwB,4BAOpC;AAED,MAAM,0BAA0B,GAAG,UAAS,UAAkB,EAAE,UAAkB,EAAE,YAAiB;IACjG,IAAG,UAAU,KAAK,yBAAiB,IAAI,UAAU,KAAK,uBAAe,EAAC;QAClE,OAAQ;KACX;IACD,IAAI,0BAA0B,GAAG,IAAA,+BAAuB,EAAC,UAAU,CAAC,CAAC;IACrE,IAAI,oBAAoB,GAAG,IAAA,cAAM,EAAC;QAC9B,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE;KACb,EAAE,KAAK,CAAC,0BAA0B,CAAC,EAAE,YAAY,CAAC,CAAC;IACpD,IAAA,gCAAwB,EAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAClF,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,YAAiB,EAAC,EAAE;IAC7C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAU,EAAE,GAAW,EAAC,EAAE;QACnD,IAAG,CAAC,KAAK,CAAC,IAAI,EAAC;YACX,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;SACpB;IACL,CAAC,CAAC,CAAA;AACN,CAAC,CAAA;AAEM,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAM,EAAE;IAC/D,OAAO,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAA;AAC/D,CAAC,CAAA;AAFY,QAAA,uBAAuB,2BAEnC;AAEM,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,EAAE;IAC3D,IAAI,UAAU,EAAE;QACZ,OAAO,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC,CAAA;KACrE;SAAM;QACH,OAAO,uBAAuB,CAAA;KACjC;AACL,CAAC,CAAA;AANY,QAAA,wBAAwB,4BAMpC;AAEM,MAAM,gBAAgB,GAAG,CAAC,UAAmB,EAAE,EAAE;IACpD,IAAI,UAAU,EAAE;QACZ,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC,CAAA;KAC5D;SAAM;QACH,OAAO,cAAc,CAAA;KACxB;AACL,CAAC,CAAA;AANY,QAAA,gBAAgB,oBAM5B;AAEM,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAM,EAAE;IACvD,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAA;AACtD,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAEM,MAAM,oBAAoB,GAAG,CAAO,QAAgB,EAAE,UAAkB,EAAE,WAAoB,EAAE,EAAE;IACrG,IAAG,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAC;KAC3D;IAED,IAAI,CAAC,UAAU;QACb,UAAU,GAAG,QAAQ,CAAA;IAEvB,MAAM,IAAA,8BAAoB,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAA;IAE7D,MAAM,IAAA,0BAAiB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE/C,MAAM,IAAA,4BAAkB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChD,MAAM,IAAA,uCAAuB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAErD,IAAA,2CAAyB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEjD,IAAA,sBAAe,EAAC,QAAQ,CAAC,CAAC;IAE1B,IAAA,+BAAmB,EAAC,QAAQ,CAAC,CAAC;IAE9B,IAAA,8CAA2B,EAAC,QAAQ,CAAC,CAAC;IAEtC,IAAA,8BAAmB,EAAC,QAAQ,CAAC,CAAC;AAClC,CAAC,CAAA,CAAA;AAxBY,QAAA,oBAAoB,wBAwBhC;AAEM,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QAClC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;KAC1C,CAAC;IACF,MAAM,YAAY,GAAa,IAAA,8BAAc,EAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAmB,EAAE,EAAE;QAC3C,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,oBAAoB,wBAS/B;AAEK,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAC;KACzD;IAED,IAAI,QAAQ,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B;AAEK,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE;IACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,2BAA2B,CAAC,CAAC;KACzD;IACD,IAAI,WAAW,GAAG,IAAA,mBAAW,EAAC,QAAQ,CAAC,CAAC;IACxC,WAAW,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB;AAEK,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEK,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QAClC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;KAC1C,CAAC;IACF,IAAI,YAAY,GAAkB,IAAA,8BAAc,EAAC,UAAU,CAAC,CAAC;IAC7D,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,EAAE;QACnC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACtC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAGM,MAAM,eAAe,GAAG,CAAO,YAAiB,EAAE,UAAkB,EAAE,WAAoB,EAAE,EAAE;IACjG,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IACpC,IAAG,WAAW,EAAC;QACX,IAAG,UAAU,EAAC;YACV,YAAY,CAAC,UAAU,GAAG,UAAU,CAAA;SACvC;QACD,IAAG,CAAC,YAAY,CAAC,MAAM,EAAC;YACpB,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;SAC9B;QACD,MAAM,oCAAgB,CAAC,eAAe,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;KACrE;IAED,IAAI,MAAM,GAAO;QACb,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,EAAE;KACb,CAAA;IACD,IAAI,WAAW,KAAK,yBAAiB,IAAI,WAAW,KAAK,uBAAe,EAAE;QACtE,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;KAChC;SACI,IAAI,YAAY,CAAC,MAAM,EAAC;QACzB,WAAW,GAAG,YAAY,CAAC,MAAM,CAAA;QACjC,IAAI,kBAAkB,GAAG,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAC;QACtD,IAAG,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAC;YAC7B,OAAO,8BAA8B,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,2CAA2C,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;SACrF;QACD,MAAM,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAC1B,OAAO,MAAM,CAAC,MAAM,CAAA;QACpB,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAA;QAC1C,0BAA0B,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;KAC5E;SAAM;QACH,IAAA,gCAAwB,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,QAAQ,EAAE;YACrD,IAAI,gBAAgB,GAAG,IAAA,uBAAe,EAAC,yBAAiB,CAAC,CAAC;YAC1D,IAAG,gBAAgB,EAAC;gBAEhB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBAChD,OAAO,iBAAiB,CAAC,MAAM,CAAC;gBAChC,IAAG,UAAU,KAAK,QAAQ,EAAC;oBACvB,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAS,OAAO;wBAChD,MAAM,QAAQ,GAAG,IAAA,wCAA4B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAA;wBAC9D,IAAA,cAAM,EAAC,MAAM,EAAE,EAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAC,CAAC,CAAA;oBACvD,CAAC,CAAC,CAAA;iBACL;gBACD,MAAM,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;aACnE;SACJ;aAAM;YACH,IAAI,gBAAgB,GAAG,IAAA,uBAAe,EAAC,uBAAe,CAAC,CAAC;YACxD,IAAG,gBAAgB,EAAC;gBAEhB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC/C,OAAO,iBAAiB,CAAC,MAAM,CAAC;gBAChC,MAAM,GAAG,IAAA,cAAM,EAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;aACnE;SACJ;KACJ;IACD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC,CAAC;IACtE,OAAO,MAAM,CAAC,UAAU,CAAA;IACxB,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAC3B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,gCAAgC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5E,IAAG,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC;QAC3C,gCAAgC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;YAChC,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;YAC7C,MAAM,IAAA,uBAAe,EAAC,eAAe,EAAE,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;SAC3E;KACJ;AAEL,CAAC,CAAA,CAAA;AAzEY,QAAA,eAAe,mBAyE3B;AAEM,MAAM,kBAAkB,GAAG,CAAC,WAAmB,EAAE,UAAkB,EAAC,EAAE;IACzE,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC,CAAC;IACtE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC,CAAC;AACnF,CAAC,CAAA;AAHY,QAAA,kBAAkB,sBAG9B;AAEM,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAC,EAAE;IAC7D,IAAG,CAAC,GAAG,EAAC;QACJ,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;KACrF;IACD,IAAI,CAAC,QAAQ,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;KAChD;IAED,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAG;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;KAC/C;IAED,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;QACtB,WAAW,GAAG,QAAQ,CAAA;KACzB;IAED,IAAI,MAAM,GAAO,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,MAAM,EAAE;QACR,IAAG,MAAM,CAAC,SAAS,EAAC;YAChB,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;SAC/B;QAED,IAAG,MAAM,CAAC,QAAQ,EAAC;YACf,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAA;SAC3C;KAEJ;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,4CAA4C,WAAW,EAAE,CAAC,CAAC;KAC9E;AACL,CAAC,CAAA;AA/BY,QAAA,0BAA0B,8BA+BtC;AAEM,MAAM,oBAAoB,GAAG,CAAO,WAAmB,EAAE,iBAAyB,EAAE,EAAE;IACzF,MAAM,IAAA,+BAAuB,EAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,gBAAgB,IAAI,IAAI,EAAE;QAC1B,MAAM,IAAA,8BAAoB,EAAC,WAAW,CAAC,CAAC;QACxC,MAAM,IAAA,0CAA0B,EAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,IAAA,uBAAe,EAAC,iBAAiB,CAAC,CAAC;QACzC,gBAAgB,GAAG,IAAI,CAAC;KAC3B;AACL,CAAC,CAAA,CAAA;AARY,QAAA,oBAAoB,wBAQhC;AAED,SAAS,aAAa,CAAC,iBAAiB;IACpC,IAAI;QACA,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACpD;IAAC,OAAO,KAAK,EAAE;KAEf;AACL,CAAC;AAEM,MAAM,eAAe,GAAG,CAAO,iBAAyB,EAAE,EAAE;IAC/D,IAAG,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,QAAQ,EAAC;QACjE,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAA;QACnD,IAAG,UAAU,IAAI,iBAAiB,KAAK,SAAS,EAAC;YAC7C,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;SAClC;QACD,IAAG,UAAU,EAAC;YACV,MAAM,IAAA,4BAAa,EAAC,UAAU,CAAC,CAAC;YAChC,MAAM,IAAA,4BAAa,EAAC,UAAU,CAAC,CAAC;YAChC,MAAM,IAAA,qCAAsB,EAAC,UAAU,CAAC,CAAC;YACzC,MAAM,IAAA,oCAAqB,EAAC,UAAU,CAAC,CAAC;YACxC,MAAM,IAAA,qCAAsB,EAAC,UAAU,CAAC,CAAC;YACzC,MAAM,IAAA,kCAAmB,EAAC,UAAU,CAAC,CAAC;YACtC,MAAM,IAAA,wCAAyB,EAAC,UAAU,CAAC,CAAC;YAC5C,MAAM,IAAA,wCAAyB,EAAC,UAAU,CAAC,CAAC;SAC/C;KACJ;AACL,CAAC,CAAA,CAAA;AAjBY,QAAA,eAAe,mBAiB3B;AAEM,MAAM,uBAAuB,GAAG,CAAO,WAAmB,EAAE,EAAE;IAEjE,IAAI,qBAAqB;QACrB,OAAO;IAEX,qBAAqB,GAAG,IAAI,CAAC;IAE7B,IAAI,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAA;IACnF,IAAI,UAAU,GAAQ,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAChF,UAAU,CAAC,IAAI,GAAG,yBAAiB,CAAC;IACpC,MAAM,IAAA,uBAAe,EAAC,UAAU,EAAE,yBAAiB,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,YAAY,GAAQ,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACjF,YAAY,CAAC,MAAM,GAAG,yBAAiB,CAAC;IACxC,MAAM,IAAA,uBAAe,EAAC,YAAY,EAAE,yBAAiB,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,CAAC,iBAAiB,EAAE,4BAA4B,EAAC,8BAA8B,EAAC,gCAAgC,EAAC,kCAAkC,EAAC,kCAAkC,EAAC,sBAAsB,EAAC,0BAA0B,EAAC,8BAA8B,CAAC,CAAC;IAC9R,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,UAAS,eAAe;QAC5C,IAAI,iBAAiB,GAAQ,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAA;QACrF,iBAAiB,CAAC,QAAQ,GAAG,yBAAiB,CAAA;QAC9C,IAAA,iCAAuB,EAAC,iBAAiB,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,UAAU,GAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IAC/E,UAAU,CAAC,IAAI,GAAG,uBAAe,CAAC;IAClC,MAAM,IAAA,uBAAe,EAAC,UAAU,EAAE,yBAAiB,EAAE,WAAW,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,CAAC,gCAAgC,EAAC,8BAA8B,EAAC,4BAA4B,CAAC,CAAC;IACpH,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,UAAS,eAAe;QAC5C,IAAI,iBAAiB,GAAO,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC,CAAA;QACpF,iBAAiB,CAAC,QAAQ,GAAG,uBAAe,CAAA;QAC5C,IAAA,iCAAuB,EAAC,iBAAiB,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;AAGN,CAAC,CAAA,CAAA;AAjCY,QAAA,uBAAuB,2BAiCnC;AAEM,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,MAAW,EAAE,EAAE;IAC3D,IAAI,CAAC,MAAM;QACP,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACzD,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;IAC3C,cAAc,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAA;AACzD,CAAC,CAAA;AALY,QAAA,eAAe,mBAK3B;AAEM,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,OAAO,cAAc,CAAA;AACzB,CAAC,CAAA;AAFY,QAAA,gBAAgB,oBAE5B;AAED,SAAgB,eAAe,CAAC,UAAkB,EAAE,UAAkB,EAAE,MAAgB;IAEpF,IAAI,MAAM,GAAG,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QACP,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,uBAAuB,UAAU,EAAE,CAAC,CAAC;IAEvF,IAAG,CAAC,MAAM,CAAC,OAAO,EAAC;QACf,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;KACtB;IACD,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAA;AACvC,CAAC;AAVD,0CAUC;AAGD,SAAgB,eAAe,CAAC,UAAkB,EAAE,YAAiB;IACjE,IAAI,CAAC,YAAY,CAAC,IAAI;QAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAEvD,IAAI,MAAM,GAAG,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QACP,MAAM,IAAI,KAAK,CAAC,oBAAoB,YAAY,CAAC,IAAI,uBAAuB,UAAU,EAAE,CAAC,CAAC;IAE9F,IAAG,CAAC,MAAM,CAAC,OAAO,EAAC;QACf,MAAM,CAAC,OAAO,GAAG,EAAE,CAAA;KACtB;IACD,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;AACrD,CAAC;AAZD,0CAYC;AAED,SAAgB,mBAAmB,CAAC,UAAkB,EAAE,gBAAqB;IAEzE,IAAI,CAAC,gBAAgB,CAAC,IAAI;QACtB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAE3D,IAAI,MAAM,GAAG,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QACP,MAAM,IAAI,KAAK,CAAC,wBAAwB,gBAAgB,CAAC,IAAI,uBAAuB,UAAU,EAAE,CAAC,CAAC;IAEtG,IAAG,CAAC,MAAM,CAAC,WAAW,EAAC;QACnB,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;KAC1B;IACD,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;AACjE,CAAC;AAbD,kDAaC;AAED,SAAgB,gBAAgB;IAC5B,OAAO,YAAY,CAAA;AACvB,CAAC;AAFD,4CAEC;AAED,SAAgB,aAAa,CAAC,UAAU;IACpC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAA;AACnC,CAAC;AAFD,sCAEC;AAED,SAAgB,aAAa,CAAC,UAAU,EAAE,OAAO;IAC7C,IAAG,YAAY,CAAC,UAAU,CAAC,EAAC;QACxB,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;KAC3C;SAAI;QACD,YAAY,CAAC,UAAU,CAAC,GAAG,OAAO,CAAA;KACrC;AACL,CAAC;AAND,sCAMC;AAED,SAAgB,kBAAkB,CAAC,QAAgB;IAC/C,IAAI,MAAM,GAAG,IAAA,2BAAmB,EAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,UAAS,IAAI;QACxB,IAAG,IAAI,CAAC,UAAU,EAAC;YACf,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SAChD;IACL,CAAC,CAAC,CAAA;AACN,CAAC;AAPD,gDAOC"}
@@ -0,0 +1,5 @@
1
+ export declare const getLazyLoadFields: (objectName: string) => any;
2
+ export declare const loadObjectLazyFields: (objectName: string) => void;
3
+ export declare const addObjectFieldConfig: (objectName: string, json: any) => void;
4
+ export declare const removeObjectFieldConfig: (objectName: string, json: any) => void;
5
+ export declare const loadObjectFields: (filePath: string, serviceName?: string) => Promise<void>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadObjectFields = exports.removeObjectFieldConfig = exports.addObjectFieldConfig = exports.loadObjectLazyFields = exports.getLazyLoadFields = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("./core");
6
+ const _ = require("lodash");
7
+ const metadata_register_1 = require("../metadata-register");
8
+ const utils_1 = require("../utils");
9
+ var clone = require('clone');
10
+ const _lazyLoadFields = {};
11
+ const addLazyLoadFields = function (objectName, json) {
12
+ if (!_lazyLoadFields[objectName]) {
13
+ _lazyLoadFields[objectName] = [];
14
+ }
15
+ _lazyLoadFields[objectName].push(json);
16
+ };
17
+ const getLazyLoadFields = function (objectName) {
18
+ return _lazyLoadFields[objectName];
19
+ };
20
+ exports.getLazyLoadFields = getLazyLoadFields;
21
+ const loadObjectLazyFields = function (objectName) {
22
+ let fields = (0, exports.getLazyLoadFields)(objectName);
23
+ _.each(fields, function (field) {
24
+ (0, exports.addObjectFieldConfig)(objectName, clone(field));
25
+ });
26
+ };
27
+ exports.loadObjectLazyFields = loadObjectLazyFields;
28
+ const addObjectFieldConfig = (objectName, json) => {
29
+ if (!json.name) {
30
+ throw new Error('missing attribute name: ' + (json === null || json === void 0 ? void 0 : json.__filename));
31
+ }
32
+ let object = (0, core_1.getObjectConfig)(objectName);
33
+ let originalObject = (0, core_1.getOriginalObjectConfig)(objectName);
34
+ if (object) {
35
+ if (!object.fields) {
36
+ object.fields = {};
37
+ }
38
+ (0, utils_1.extend)(object.fields, { [json.name]: json });
39
+ (0, utils_1.extend)(originalObject.fields, { [json.name]: json });
40
+ let _mf = _.maxBy(_.values(object.fields), function (field) { return field.sort_no; });
41
+ if (_mf && object.name) {
42
+ object.fields_serial_number = _mf.sort_no + 10;
43
+ }
44
+ }
45
+ else {
46
+ addLazyLoadFields(objectName, json);
47
+ }
48
+ };
49
+ exports.addObjectFieldConfig = addObjectFieldConfig;
50
+ const removeObjectFieldConfig = (objectName, json) => {
51
+ if (!json.name) {
52
+ throw new Error('missing attribute name: ' + (json === null || json === void 0 ? void 0 : json.__filename));
53
+ }
54
+ let object = (0, core_1.getObjectConfig)(objectName);
55
+ let originalObject = (0, core_1.getOriginalObjectConfig)(objectName);
56
+ if (object) {
57
+ if (object.fields) {
58
+ delete object.fields[json.name];
59
+ delete originalObject.fields[json.name];
60
+ }
61
+ }
62
+ };
63
+ exports.removeObjectFieldConfig = removeObjectFieldConfig;
64
+ const loadObjectFields = function (filePath, serviceName) {
65
+ var e_1, _a;
66
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
67
+ let fieldJsons = (0, utils_1.loadFields)(filePath);
68
+ fieldJsons.forEach(element => {
69
+ (0, exports.addObjectFieldConfig)(element.object_name, element);
70
+ });
71
+ if (serviceName)
72
+ try {
73
+ for (var fieldJsons_1 = tslib_1.__asyncValues(fieldJsons), fieldJsons_1_1; fieldJsons_1_1 = yield fieldJsons_1.next(), !fieldJsons_1_1.done;) {
74
+ const fieldJson = fieldJsons_1_1.value;
75
+ yield metadata_register_1.MetadataRegister.addObjectConfig(serviceName, Object.assign({ extend: fieldJson.object_name }, { fields: {
76
+ [fieldJson.name]: fieldJson
77
+ } }));
78
+ }
79
+ }
80
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
81
+ finally {
82
+ try {
83
+ if (fieldJsons_1_1 && !fieldJsons_1_1.done && (_a = fieldJsons_1.return)) yield _a.call(fieldJsons_1);
84
+ }
85
+ finally { if (e_1) throw e_1.error; }
86
+ }
87
+ });
88
+ };
89
+ exports.loadObjectFields = loadObjectFields;
90
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../src/config-register/field.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const getSourceFlowRolesKeys: () => any;
2
+ export declare const getSourceFlowRole: (api_name: any) => any;
3
+ export declare const getSourceFlowRoles: () => any;
4
+ export declare const loadSourceFlowRoles: (filePath: string) => void;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadSourceFlowRoles = exports.getSourceFlowRoles = exports.getSourceFlowRole = exports.getSourceFlowRolesKeys = void 0;
4
+ const metadata_core_1 = require("@steedos/metadata-core");
5
+ const config_1 = require("../config");
6
+ const _ = require('underscore');
7
+ const clone = require('clone');
8
+ const path = require('path');
9
+ const PERMISSIONS = {
10
+ allowEdit: false,
11
+ allowDelete: false,
12
+ allowRead: true,
13
+ };
14
+ const BASERECORD = {
15
+ is_system: true,
16
+ type: "flowRole",
17
+ record_permissions: PERMISSIONS
18
+ };
19
+ const FLOWROLES_KEY = 'FLOWROLES';
20
+ const addFlowRole = function (json) {
21
+ if (!json.name) {
22
+ throw new Error('missing attribute name');
23
+ }
24
+ if (!json.api_name) {
25
+ throw new Error('missing attribute api_name');
26
+ }
27
+ (0, config_1.addConfig)(FLOWROLES_KEY, Object.assign({}, json, clone(BASERECORD), { _id: json.api_name }));
28
+ };
29
+ const getSourceFlowRolesKeys = function () {
30
+ return _.pluck((0, exports.getSourceFlowRoles)(), 'api_name');
31
+ };
32
+ exports.getSourceFlowRolesKeys = getSourceFlowRolesKeys;
33
+ const getSourceFlowRole = function (api_name) {
34
+ return clone((0, config_1.getConfig)(FLOWROLES_KEY, api_name));
35
+ };
36
+ exports.getSourceFlowRole = getSourceFlowRole;
37
+ const getSourceFlowRoles = function () {
38
+ return clone((0, config_1.getConfigs)(FLOWROLES_KEY)) || [];
39
+ };
40
+ exports.getSourceFlowRoles = getSourceFlowRoles;
41
+ const loadSourceFlowRoles = function (filePath) {
42
+ let flowRoles = loadFlowRoles(filePath);
43
+ flowRoles.forEach(element => {
44
+ addFlowRole(element);
45
+ });
46
+ };
47
+ exports.loadSourceFlowRoles = loadSourceFlowRoles;
48
+ const loadFlowRoles = (filePath) => {
49
+ let results = [];
50
+ const filePatten = [
51
+ path.join(filePath, "*.flowRole.yml"),
52
+ "!" + path.join(filePath, "node_modules"),
53
+ ];
54
+ const matchedPaths = (0, metadata_core_1.syncMatchFiles)(filePatten);
55
+ _.each(matchedPaths, (matchedPath) => {
56
+ let json = (0, metadata_core_1.loadFile)(matchedPath);
57
+ let names = path.basename(matchedPath).split('.');
58
+ if (!json.name) {
59
+ json.name = names[1];
60
+ }
61
+ results.push(json);
62
+ });
63
+ return results;
64
+ };
65
+ //# sourceMappingURL=flow_role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow_role.js","sourceRoot":"","sources":["../../src/config-register/flow_role.ts"],"names":[],"mappings":";;;AAOA,0DAAkE;AAClE,sCAA6D;AAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAChC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,WAAW,GAAG;IAChB,SAAS,EAAE,KAAK;IAChB,WAAW,EAAE,KAAK;IAClB,SAAS,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,UAAU,GAAG;IACf,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,UAAU;IAChB,kBAAkB,EAAE,WAAW;CAClC,CAAC;AAEF,MAAM,aAAa,GAAG,WAAW,CAAC;AAElC,MAAM,WAAW,GAAG,UAAS,IAAI;IAC7B,IAAG,CAAC,IAAI,CAAC,IAAI,EAAC;QACV,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC7C;IACD,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACjD;IACD,IAAA,kBAAS,EAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;AAC/F,CAAC,CAAA;AACM,MAAM,sBAAsB,GAAG;IAClC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAA,0BAAkB,GAAE,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC;AAEM,MAAM,iBAAiB,GAAG,UAAS,QAAQ;IAC9C,OAAO,KAAK,CAAC,IAAA,kBAAS,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAEM,MAAM,kBAAkB,GAAG;IAC9B,OAAO,KAAK,CAAC,IAAA,mBAAU,EAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AAClD,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAEM,MAAM,mBAAmB,GAAG,UAAU,QAAgB;IACzD,IAAI,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACxB,WAAW,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACP,CAAC,CAAA;AALY,QAAA,mBAAmB,uBAK/B;AAED,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAC,EAAE;IACtC,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,MAAM,UAAU,GAAG;QACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC;QACrC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC;KAC5C,CAAA;IACD,MAAM,YAAY,GAAY,IAAA,8BAAc,EAAC,UAAU,CAAC,CAAC;IACzD,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAkB,EAAC,EAAE;QACvC,IAAI,IAAI,GAAQ,IAAA,wBAAQ,EAAC,WAAW,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElD,IAAG,CAAC,IAAI,CAAC,IAAI,EAAC;YACV,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;SACvB;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,OAAO,OAAO,CAAA;AAClB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { loadStandardMetadata } from './core';
2
+ export declare const registerMetadataConfigs: (filePath: any, datasourceApiName: any, serviceName: any) => Promise<void>;