@steedos/service-package-loader 2.5.3-beta.2 → 2.5.3-beta.20

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.
package/index.js CHANGED
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
 
3
- const objectql = require('@steedos/objectql');
4
- const Future = require('fibers/future');
5
- const core = require('@steedos/core');
6
3
  const triggerLoader = require('./lib').triggerLoader;
7
4
  const processLoader = require('./lib').processLoader;
8
5
  const processTriggerLoader = require('./lib').processTriggerLoader;
9
6
  const triggerYmlLoader = require('./lib').triggerYmlLoader;
10
7
  const path = require('path');
11
8
  const _ = require('lodash');
12
- const express = require('express');
13
9
  const fs = require("fs");
14
10
  const metaDataCore = require('@steedos/metadata-core');
11
+ const { registerMetadataConfigs, loadStandardMetadata, loadRouters, canLoadMetadata } = require('@steedos/metadata-registrar');
15
12
  const loadFlowFile = new metaDataCore.LoadFlowFile();
16
13
 
17
14
  /**
@@ -67,8 +64,51 @@ module.exports = {
67
64
  * Methods
68
65
  */
69
66
  methods: {
67
+ checkPackageMetadataFiles: async function (packagePath) {
70
68
 
69
+ if(this.core){
70
+ return ;
71
+ }
72
+
73
+ let publicPath = path.join(packagePath, 'public');
74
+ if (this.settings.packageInfo.loadPublicFolder && fs.existsSync(publicPath)) {
75
+ this.broker.logger.warn(`The public folder has been deprecated. ${publicPath}`);
76
+ }
77
+
78
+ // 扫描软件包中的元数据, 如果有 .client.js 文件, 则输出警告信息
79
+ const filePatten = [
80
+ path.join(packagePath, "**", "*.client.js"),
81
+ "!" + path.join(packagePath, "node_modules"),
82
+ ]
83
+ const matchedPaths = metaDataCore.syncMatchFiles(filePatten);
84
+ for await (const filePath of matchedPaths) {
85
+ this.broker.logger.warn(`The client.js file has been deprecated. ${filePath}`);
86
+ }
87
+
88
+ // 扫描软件包中的元数据, 如果有 .object.js 文件, 则输出警告信息
89
+ const filePatten2 = [
90
+ path.join(packagePath, "**", "*.object.js"),
91
+ "!" + path.join(packagePath, "node_modules"),
92
+ ]
93
+ const matchedPaths2 = metaDataCore.syncMatchFiles(filePatten2);
94
+ for await (const filePath of matchedPaths2) {
95
+ this.broker.logger.warn(`The object.js file has been deprecated. ${filePath}`);
96
+ }
97
+
98
+ // 扫描软件包中的元数据, 如果有 .router.js 文件, 则输出警告信息
99
+ const filePatten3 = [
100
+ path.join(packagePath, "**", "*.router.js"),
101
+ "!" + path.join(packagePath, "node_modules"),
102
+ ]
103
+ const matchedPaths3 = metaDataCore.syncMatchFiles(filePatten3);
104
+ for await (const filePath of matchedPaths3) {
105
+ this.broker.logger.warn(`The router.js file has been deprecated. ${filePath}`);
106
+ }
107
+ },
71
108
  sendPackageFlowToDb: async function(packagePath, name) {
109
+ if(!canLoadMetadata('Flow')){
110
+ return ;
111
+ }
72
112
  const flows = loadFlowFile.load(path.join(packagePath, '**'));
73
113
  for (const apiName in flows) {
74
114
  const flow = flows[apiName];
@@ -83,63 +123,7 @@ module.exports = {
83
123
  },
84
124
 
85
125
  importFlow: async function(flow, name) {
86
- await Future.task(() => {
87
- try {
88
- try {
89
- if(!db){
90
- return
91
- }
92
- if(!steedosImport){
93
- return
94
- }
95
- } catch (error) {
96
- return ;
97
- }
98
-
99
- if(db && db.flows && steedosImport){
100
- const steedosConfig = objectql.getSteedosConfig();
101
- let space;
102
- if(steedosConfig && steedosConfig.tenant && steedosConfig.tenant._id){
103
- space = db.spaces.findOne(steedosConfig.tenant._id)
104
- }
105
- if(!space){
106
- space = db.spaces.findOne()
107
- }
108
- if(!space){
109
- this.logger.debug(`import flow ${flow.name} fail. not find space in db`);
110
- return ;
111
- }
112
- if(!flow.api_name){
113
- this.logger.warn(`not find api_name in file`);
114
- return ;
115
- }
116
- const dbFlow = db.flows.findOne({api_name: flow.api_name});
117
- if(!dbFlow){
118
- if(flow && flow.current){
119
- if(!_.has(flow.current,'fields')){
120
- flow.current.fields = [];
121
- }
122
- }
123
- this.logger.info(`insert flow ${flow.api_name} from ${name}`);
124
-
125
- let company_id = null;
126
- if(flow.company_id){
127
- let count = Creator.getCollection("company").find({ _id: flow.company_id, space: space._id }).count();
128
- if(count > 0){
129
- company_id = flow.company_id
130
- }
131
- }
132
-
133
- return steedosImport.workflow(space.owner, space._id, flow, flow.state == 'enabled' ? true : false, company_id);
134
- }
135
- this.logger.debug(`not import flow. find flow `, dbFlow._id)
136
- }
137
-
138
- } catch (error) {
139
- this.logger.error(error)
140
- }
141
- }).promise();
142
-
126
+ return await this.broker.call('steedos-server.importFlow', {flow, name});
143
127
  },
144
128
  loadDataOnServiceStarted: async function(){
145
129
  let packageInfo = this.settings.packageInfo;
@@ -147,52 +131,43 @@ module.exports = {
147
131
  return;
148
132
  }
149
133
  const { path : _path } = packageInfo;
150
-
151
134
  this.loadPackagePublicFiles(_path);
152
135
  if(_path){
153
136
  this.sendPackageFlowToDb(_path)
154
- processLoader.sendPackageProcessToDb(_path);
137
+ if(canLoadMetadata('Process')){
138
+ processLoader.sendPackageProcessToDb(_path);
139
+ }
155
140
  }
156
141
  },
157
142
  loadPackageMetadataFiles: async function (packagePath, name, datasourceName) {
158
143
  this.broker.logger.debug(`Loading package from ${packagePath}`)
144
+ packagePath = path.join(packagePath, '**');
159
145
  if (!datasourceName) {
160
146
  datasourceName = 'default';
161
147
  }
162
- objectql.getSteedosSchema(this.broker);
163
- packagePath = path.join(packagePath, '**');
164
- const datasource = objectql.getDataSource(datasourceName);
165
- if(datasource){
166
- await datasource.init();
148
+ if(this.objectql){
149
+ await loadStandardMetadata(name, datasourceName);
150
+ await this.initDataSource(packagePath, datasourceName);
167
151
  }
168
- await objectql.loadStandardMetadata(name, datasourceName);
169
- await objectql.addAllConfigFiles(packagePath, datasourceName, name);
170
- await triggerLoader.load(this.broker, packagePath, name);
171
- await processTriggerLoader.load(this.broker, packagePath, name);
172
- await triggerYmlLoader.load(this.broker, packagePath, name);
173
- core.loadClientScripts();
174
- let routersData = objectql.loadRouters(packagePath);
175
- let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: name})
176
- let routersInfo = _.flattenDeep(_.map(routersData, 'infoList'));
177
- if(oldRoutersInfo){
178
- _.each(oldRoutersInfo.metadata, (info)=>{
179
- const _info = _.find(routersInfo, (item)=>{
180
- return item.path == info.path && JSON.stringify(item.methods) == JSON.stringify(info.methods) && item.md5 == info.md5
181
- })
182
- if(!_info){
183
- core.removeRouter(info.path, info.methods)
184
- }
185
- })
152
+ await registerMetadataConfigs(packagePath, datasourceName, name);
153
+ if(canLoadMetadata('Trigger')){
154
+ await triggerLoader.load(this.broker, packagePath, name);
155
+ }
156
+ if(canLoadMetadata('ProcessTrigger')){
157
+ await processTriggerLoader.load(this.broker, packagePath, name);
158
+ }
159
+ if(canLoadMetadata('TriggerYml')){
160
+ await triggerYmlLoader.load(this.broker, packagePath, name);
161
+ }
162
+ if(this.core){
163
+ if(canLoadMetadata('ClientJS')){
164
+ this.core.loadClientScripts();
165
+ }
166
+ if(canLoadMetadata('Router')){
167
+ const routersInfo = await this.loadPackageRouters(packagePath, name);
168
+ await this.broker.call(`@steedos/service-packages.setPackageRoutersInfo`, {packageName: name, data: routersInfo});
169
+ }
186
170
  }
187
- const _routers = [];
188
- routersData.forEach(element => {
189
- // if(element.router.default === require('@steedos/router').staticRouter()){
190
- // objectql.broker.broker.logger.warn(`router error, packagePath: ${packagePath} `);
191
- // }
192
- _routers.push(element)
193
- });
194
- core.loadRouters(_routers);
195
- await this.broker.call(`@steedos/service-packages.setPackageRoutersInfo`, {packageName: name, data: routersInfo});
196
171
  await this.broker.emit(`translations.object.change`, {});
197
172
  return;
198
173
  },
@@ -204,7 +179,8 @@ module.exports = {
204
179
  const matchedPaths = metaDataCore.syncMatchFiles(filePatten);
205
180
  for await (const serviceFilePath of matchedPaths) {
206
181
  try {
207
- const service = objectql.loadService(this.broker, serviceFilePath);
182
+ metaDataCore.clearRequireCache(serviceFilePath);
183
+ const service = this.broker.loadService(serviceFilePath);
208
184
  this.packageServices.push(service);
209
185
  if (!this.broker.started) {
210
186
  this.broker._restartService(service)
@@ -216,6 +192,9 @@ module.exports = {
216
192
  },
217
193
  loadPackagePublicFiles: {
218
194
  handler(packagePath) {
195
+ if(!canLoadMetadata('PublicFolder')){
196
+ return ;
197
+ }
219
198
  if (!this.settings.packageInfo.loadPublicFolder) {
220
199
  return;
221
200
  }
@@ -227,20 +206,25 @@ module.exports = {
227
206
  } catch (error) {
228
207
  return
229
208
  }
230
-
231
- this.settings.loadedPackagePublicFiles = true;
232
209
  try {
233
- const router = require('@steedos/router').staticRouter();
234
- let routerPath = "";
235
- if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX) {
236
- routerPath = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
210
+ const express = require('express');
211
+ this.settings.loadedPackagePublicFiles = true;
212
+ try {
213
+ const router = require('@steedos/router').staticRouter();
214
+ let routerPath = "";
215
+ if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX) {
216
+ routerPath = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
217
+ }
218
+ const cacheTime = 86400000 * 1; // one day
219
+ // console.log(`static router`, routerPath, publicPath)
220
+ router.use(routerPath, express.static(publicPath, { maxAge: cacheTime }));
221
+ // WebApp.connectHandlers.use(router);
222
+ } catch (error) {
223
+ console.error(error)
224
+ this.settings.loadedPackagePublicFiles = false;
237
225
  }
238
- const cacheTime = 86400000 * 1; // one day
239
- router.use(routerPath, express.static(publicPath, { maxAge: cacheTime }));
240
- // WebApp.connectHandlers.use(router);
241
226
  } catch (error) {
242
- console.error(error)
243
- this.settings.loadedPackagePublicFiles = false;
227
+
244
228
  }
245
229
  }
246
230
  },
@@ -252,6 +236,9 @@ module.exports = {
252
236
  return await this.broker.destroyService(this);
253
237
  },
254
238
  async onStarted(){
239
+
240
+ this.checkPackageMetadataFiles(this.settings.packageInfo.path)
241
+
255
242
  if(this.beforeStart){
256
243
  try {
257
244
  await this.beforeStart()
@@ -278,13 +265,13 @@ module.exports = {
278
265
  await this.loadPackageMetadataFiles(_path, this.name, datasource);
279
266
  if(isPackage !== false){
280
267
  try {
281
- const _packageInfo = objectql.loadJSONFile(path.join(_path, 'package.json'));
268
+ const _packageInfo = metaDataCore.loadJSONFile(path.join(_path, 'package.json'));
282
269
  await this.broker.call(`@steedos/service-packages.online`, {serviceInfo: {name: this.name, nodeID: this.broker.nodeID, instanceID: this.broker.instanceID, path: _path, version: _packageInfo.version, description: _packageInfo.description}})
283
270
  } catch (error) {
284
271
 
285
272
  }
286
273
  }
287
-
274
+
288
275
  await this.loadPackageMetadataServices(_path);
289
276
 
290
277
  // await this.loadPackagePublicFiles(_path);
@@ -297,6 +284,35 @@ module.exports = {
297
284
  this.broker.logger.error(`[${this.name}]: ${error.message}`);
298
285
  }
299
286
  }
287
+ },
288
+ async loadPackageRouters(packagePath, name){
289
+ let routersData = loadRouters(packagePath);
290
+ let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: name})
291
+ let routersInfo = _.flattenDeep(_.map(routersData, 'infoList'));
292
+ if(oldRoutersInfo){
293
+ _.each(oldRoutersInfo.metadata, (info)=>{
294
+ const _info = _.find(routersInfo, (item)=>{
295
+ return item.path == info.path && JSON.stringify(item.methods) == JSON.stringify(info.methods) && item.md5 == info.md5
296
+ })
297
+ if(!_info){
298
+ this.core.removeRouter(info.path, info.methods)
299
+ }
300
+ })
301
+ }
302
+ const _routers = [];
303
+ routersData.forEach(element => {
304
+ _routers.push(element)
305
+ });
306
+ this.core.loadRouters(_routers);
307
+ return routersInfo
308
+ },
309
+ async initDataSource(packagePath, datasourceName){
310
+ this.objectql.getSteedosSchema(this.broker);
311
+ packagePath = path.join(packagePath, '**');
312
+ const datasource = this.objectql.getDataSource(datasourceName);
313
+ if(datasource){
314
+ await datasource.init();
315
+ }
300
316
  }
301
317
  },
302
318
 
@@ -304,8 +320,23 @@ module.exports = {
304
320
  * Service created lifecycle event handler
305
321
  */
306
322
  created() {
323
+ if(!global.broker){
324
+ global.broker = this.broker;
325
+ }
307
326
  this.packageServices = []; //此属性不能放到settings下,否则会导致mo clone settings 时 内存溢出。
308
327
  this.logger.debug('service package loader created!!!');
328
+
329
+ try {
330
+ this.core = require('@steedos/core');
331
+ } catch (e) {
332
+
333
+ }
334
+
335
+ try {
336
+ this.objectql = require('@steedos/objectql');
337
+ } catch (e) {
338
+
339
+ }
309
340
  },
310
341
 
311
342
  merged(schema) {
@@ -344,15 +375,16 @@ module.exports = {
344
375
  }
345
376
  };
346
377
 
347
- let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: this.name})
348
- if(oldRoutersInfo){
349
- _.each(oldRoutersInfo.metadata, (info)=>{
350
- core.removeRouter(info.path, info.methods)
351
- })
378
+ if(this.core){
379
+ let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: this.name})
380
+ if(oldRoutersInfo){
381
+ _.each(oldRoutersInfo.metadata, (info)=>{
382
+ this.core.removeRouter(info.path, info.methods)
383
+ })
384
+ }
385
+ await this.objectql.deletePackageClientScripts(this.name);
386
+ await this.core.loadClientScripts();
352
387
  }
353
-
354
- objectql.deletePackageClientScripts(this.name);
355
- core.loadClientScripts();
356
388
  this.broker.call(`@steedos/service-packages.offline`, {serviceInfo: {name: this.name, nodeID: this.broker.nodeID, instanceID: this.broker.instanceID}})
357
389
  await this.broker.call(`metadata.refreshServiceMetadatas`, { offlinePackageServices: [{
358
390
  name: this.name,
@@ -4,9 +4,18 @@ exports.sendPackageProcessToDb = exports.load = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const _ = require("underscore");
6
6
  const path = require("path");
7
- const objectql_1 = require("@steedos/objectql");
8
7
  const metadata_core_1 = require("@steedos/metadata-core");
8
+ const metadata_registrar_1 = require("@steedos/metadata-registrar");
9
9
  const loadProcessFile = new metadata_core_1.LoadProcessFile();
10
+ function getObject(objectName) {
11
+ try {
12
+ const objectql = require('@steedos/objectql');
13
+ return objectql.getObject(objectName);
14
+ }
15
+ catch (error) {
16
+ return null;
17
+ }
18
+ }
10
19
  function load(broker, packagePath, packageServiceName) {
11
20
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
21
  let filePath = path.join(packagePath, "**");
@@ -27,7 +36,7 @@ function load(broker, packagePath, packageServiceName) {
27
36
  }));
28
37
  }
29
38
  if (data.length > 0) {
30
- yield objectql_1.registerProcess.mregister(broker, packageServiceName, data);
39
+ yield metadata_registrar_1.registerProcess.mregister(broker, packageServiceName, data);
31
40
  }
32
41
  });
33
42
  }
@@ -39,9 +48,12 @@ function sendPackageProcessToDb(packagePath) {
39
48
  if (_.isEmpty(processes)) {
40
49
  return;
41
50
  }
42
- const processObj = (0, objectql_1.getObject)('process');
43
- const processVersionsObj = (0, objectql_1.getObject)('process_versions');
44
- const spaceObj = (0, objectql_1.getObject)('spaces');
51
+ const processObj = getObject('process');
52
+ const processVersionsObj = getObject('process_versions');
53
+ const spaceObj = getObject('spaces');
54
+ if (!processObj || !processVersionsObj || !spaceObj) {
55
+ return;
56
+ }
45
57
  const spaceDoc = (yield spaceObj.find({}))[0];
46
58
  if (!spaceDoc) {
47
59
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processLoader/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processLoader/index.ts"],"names":[],"mappings":"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"}
@@ -4,14 +4,15 @@ exports.load = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const _ = require("underscore");
6
6
  const path = require("path");
7
- const objectql_1 = require("@steedos/objectql");
7
+ const metadata_core_1 = require("@steedos/metadata-core");
8
+ const metadata_registrar_1 = require("@steedos/metadata-registrar");
8
9
  const ENUM_WHEN = ['beforeDraftInsert', 'afterDraftInsert', 'beforeDraftSubmit', 'afterDraftSubmit', 'beforeStepSubmit', 'afterStepSubmit', 'cacluateNextStepUsers',
9
10
  'beforeCancel', 'afterCancel', 'beforeTerminate', 'afterTerminate', 'beforeEnd', 'afterEnd'];
10
11
  const LISTENTO_ALL_FLOWS = 'LISTENTO_ALL_FLOWS';
11
12
  function load(broker, packagePath, packageServiceName) {
12
13
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
13
14
  let filePath = path.join(packagePath, "**");
14
- let wTriggers = (0, objectql_1.loadProcessTriggers)(filePath);
15
+ let wTriggers = (0, metadata_registrar_1.loadProcessTriggers)(filePath);
15
16
  if (_.isEmpty(wTriggers)) {
16
17
  return;
17
18
  }
@@ -22,14 +23,14 @@ function load(broker, packagePath, packageServiceName) {
22
23
  if (!handler) {
23
24
  continue;
24
25
  }
25
- let name = wt.name || (0, objectql_1.getMD5)((0, objectql_1.JSONStringify)(wt));
26
+ let name = wt.name || (0, metadata_core_1.getMD5)((0, metadata_core_1.JSONStringify)(wt));
26
27
  let config = {
27
28
  name: name,
28
29
  "listenTo": wt.listenTo == '*' ? LISTENTO_ALL_FLOWS : wt.listenTo,
29
30
  "when": when,
30
31
  "handler": handler.toString()
31
32
  };
32
- yield objectql_1.registerProcessTrigger.register(broker, packageServiceName, config);
33
+ yield metadata_registrar_1.registerProcessTrigger.register(broker, packageServiceName, config);
33
34
  }
34
35
  }
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processTriggerLoader/index.ts"],"names":[],"mappings":";;;;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,gDAAuG;AAGvG,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB;IAC/J,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACjG,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAA,8BAAmB,EAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO;SACV;QACD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;YAExB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACzB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;oBAC1B,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,OAAO,EAAE;wBACV,SAAS;qBACZ;oBACD,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAA,iBAAM,EAAC,IAAA,wBAAa,EAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,IAAI,MAAM,GAAY;wBAClB,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ;wBACjE,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;qBAChC,CAAA;oBACD,MAAM,iCAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;iBAC7E;aAEJ;SACJ;IAEL,CAAC;CAAA;AA3BD,oBA2BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processTriggerLoader/index.ts"],"names":[],"mappings":";;;;AAOA,gCAAgC;AAChC,6BAA6B;AAC7B,0DAA+D;AAE/D,oEAA0F;AAE1F,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,uBAAuB;IAC/J,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACjG,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,IAAA,wCAAmB,EAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO;SACV;QACD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE;YAExB,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;gBACzB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;oBAC1B,IAAI,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,OAAO,EAAE;wBACV,SAAS;qBACZ;oBACD,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAA,sBAAM,EAAC,IAAA,6BAAa,EAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,IAAI,MAAM,GAAY;wBAClB,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,EAAE,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ;wBACjE,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;qBAChC,CAAA;oBACD,MAAM,2CAAsB,CAAC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;iBAC7E;aAEJ;SACJ;IAEL,CAAC;CAAA;AA3BD,oBA2BC"}
@@ -4,19 +4,29 @@ exports.load = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const _ = require("underscore");
6
6
  const path = require("path");
7
- const objectql_1 = require("@steedos/objectql");
7
+ const metadata_core_1 = require("@steedos/metadata-core");
8
+ const metadata_registrar_1 = require("@steedos/metadata-registrar");
8
9
  const TRIGGERKEYS = ['beforeFind', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterFind', 'afterInsert', 'afterUpdate', 'afterDelete', 'afterFindOne', 'afterCount'];
10
+ function getObject(objectName) {
11
+ try {
12
+ const objectql = require('@steedos/objectql');
13
+ return objectql.getObject(objectName);
14
+ }
15
+ catch (error) {
16
+ return null;
17
+ }
18
+ }
9
19
  function load(broker, packagePath, packageServiceName) {
10
20
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
21
  let actions = {};
12
22
  let serviceName = `~triggers-${packageServiceName}`;
13
23
  let filePath = path.join(packagePath, "**");
14
- let objTriggers = (0, objectql_1.loadObjectTriggers)(filePath, packageServiceName);
24
+ let objTriggers = (0, metadata_registrar_1.loadObjectTriggers)(filePath, packageServiceName);
15
25
  if (_.isEmpty(objTriggers)) {
16
26
  return;
17
27
  }
18
28
  for (const trigger of objTriggers) {
19
- const actionTriggerName = (0, objectql_1.getMD5)((0, objectql_1.JSONStringify)(trigger));
29
+ const actionTriggerName = (0, metadata_core_1.getMD5)((0, metadata_core_1.JSONStringify)(trigger));
20
30
  actions[actionTriggerName] = generateActionTrigger(trigger);
21
31
  broker.emit('trigger.loaded', {
22
32
  objectName: trigger['listenTo']
@@ -96,7 +106,10 @@ function generateActionTrigger(trigger) {
96
106
  }
97
107
  }
98
108
  if (when) {
99
- const object = (0, objectql_1.getObject)(objectName);
109
+ const object = getObject(objectName);
110
+ if (!object) {
111
+ return;
112
+ }
100
113
  yield object.runTriggers(when, context);
101
114
  return context;
102
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-package-loader",
3
- "version": "2.5.3-beta.2",
3
+ "version": "2.5.3-beta.20",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -10,10 +10,9 @@
10
10
  "author": "",
11
11
  "license": "MIT",
12
12
  "dependencies": {
13
- "@steedos/core": "2.5.3-beta.2",
14
- "@steedos/metadata-core": "2.5.3-beta.2",
15
- "@steedos/objectql": "2.5.3-beta.2",
16
- "@steedos/router": "2.5.3-beta.2",
13
+ "@steedos/metadata-core": "2.5.3-beta.20",
14
+ "@steedos/metadata-registrar": "2.5.3-beta.20",
15
+ "@steedos/router": "2.5.3-beta.20",
17
16
  "clone": "^2.1.2",
18
17
  "moleculer": "^0.14.25",
19
18
  "underscore": "^1.12.0"
@@ -25,5 +24,5 @@
25
24
  "publishConfig": {
26
25
  "access": "public"
27
26
  },
28
- "gitHead": "321fe88aba6ddc3380a0d71eaa2e9a18186d49f8"
27
+ "gitHead": "32606d2d07b6e53a4d6c8ba079e6356f5a2dbb75"
29
28
  }
@@ -1,17 +1,26 @@
1
1
  /*
2
2
  * @Author: sunhaolin@hotoa.com
3
3
  * @Date: 2022-03-30 11:49:53
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2022-04-19 15:36:41
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2023-05-30 09:33:01
6
6
  * @Description:
7
7
  */
8
8
  import * as _ from "underscore";
9
9
  import * as path from "path";
10
- import { registerProcess, getObject } from "@steedos/objectql";
11
10
  import { Process } from "./types";
12
11
  import { LoadProcessFile } from '@steedos/metadata-core';
12
+ import { registerProcess } from '@steedos/metadata-registrar';
13
13
  const loadProcessFile = new LoadProcessFile();
14
14
 
15
+ function getObject(objectName: string) {
16
+ try {
17
+ const objectql = require('@steedos/objectql');
18
+ return objectql.getObject(objectName);
19
+ } catch (error) {
20
+ return null
21
+ }
22
+ }
23
+
15
24
  export async function load(broker: any, packagePath: string, packageServiceName: string) {
16
25
  let filePath = path.join(packagePath, "**");
17
26
  let processes = loadProcessFile.load(filePath);
@@ -50,6 +59,9 @@ export async function sendPackageProcessToDb(packagePath: string) {
50
59
  const processObj = getObject('process');
51
60
  const processVersionsObj = getObject('process_versions');
52
61
  const spaceObj = getObject('spaces');
62
+ if(!processObj || !processVersionsObj || !spaceObj){
63
+ return ;
64
+ }
53
65
  const spaceDoc = (await spaceObj.find({}))[0];
54
66
  // 如果没有工作区信息则说明为空库,不加载
55
67
  if (!spaceDoc) {
@@ -1,7 +1,15 @@
1
+ /*
2
+ * @Author: baozhoutao@steedos.com
3
+ * @Date: 2022-05-16 11:55:06
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2023-05-30 09:47:15
6
+ * @Description:
7
+ */
1
8
  import * as _ from "underscore";
2
9
  import * as path from "path";
3
- import { getMD5, JSONStringify, loadProcessTriggers, registerProcessTrigger } from "@steedos/objectql";
10
+ import { getMD5, JSONStringify } from '@steedos/metadata-core';
4
11
  import { Trigger } from "./types";
12
+ import { registerProcessTrigger, loadProcessTriggers } from "@steedos/metadata-registrar";
5
13
 
6
14
  const ENUM_WHEN = ['beforeDraftInsert', 'afterDraftInsert', 'beforeDraftSubmit', 'afterDraftSubmit', 'beforeStepSubmit', 'afterStepSubmit', 'cacluateNextStepUsers',
7
15
  'beforeCancel', 'afterCancel', 'beforeTerminate', 'afterTerminate', 'beforeEnd', 'afterEnd'];
@@ -1,16 +1,28 @@
1
1
  /*
2
2
  * @Author: sunhaolin@hotoa.com
3
3
  * @Date: 2022-06-12 19:08:48
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2023-04-24 13:09:55
4
+ * @LastEditors: baozhoutao@steedos.com
5
+ * @LastEditTime: 2023-05-30 09:52:23
6
6
  * @Description: 加载*.trigger.js文件注册为新版action trigger
7
7
  */
8
8
  import * as _ from "underscore";
9
9
  import * as path from "path";
10
- import { getMD5, JSONStringify, TriggerActionParams, SteedosTriggerContextConfig, loadObjectTriggers, getObject } from "@steedos/objectql";
10
+ import { JSONStringify, getMD5 } from "@steedos/metadata-core";
11
+ import { loadObjectTriggers } from "@steedos/metadata-registrar";
12
+
13
+
11
14
 
12
15
  const TRIGGERKEYS = ['beforeFind', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterFind', 'afterInsert', 'afterUpdate', 'afterDelete', 'afterFindOne', 'afterCount']
13
16
 
17
+ function getObject(objectName: string) {
18
+ try {
19
+ const objectql = require('@steedos/objectql');
20
+ return objectql.getObject(objectName);
21
+ } catch (error) {
22
+ return null
23
+ }
24
+ }
25
+
14
26
  export async function load(broker: any, packagePath: string, packageServiceName: string) {
15
27
  let actions = {};
16
28
  let serviceName = `~triggers-${packageServiceName}`;
@@ -86,9 +98,9 @@ function generateActionTrigger(trigger) {
86
98
  isInsert, isUpdate, isDelete, isFind, isBefore, isAfter, isFindOne, isCount,
87
99
  id, doc, previousDoc,
88
100
  // size,
89
- userId, spaceId, objectName, query, data }: TriggerActionParams = ctx.params;
101
+ userId, spaceId, objectName, query, data }: any = ctx.params;
90
102
 
91
- const context: SteedosTriggerContextConfig = {
103
+ const context: any = {
92
104
  id,
93
105
  userId,
94
106
  spaceId,
@@ -129,6 +141,9 @@ function generateActionTrigger(trigger) {
129
141
 
130
142
  if (when) {
131
143
  const object = getObject(objectName);
144
+ if(!object){
145
+ return ;
146
+ }
132
147
  await object.runTriggers(when, context);
133
148
  return context;
134
149
  }