@steedos/service-package-loader 2.5.2 → 2.5.3-beta.1

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 } = require('@steedos/metadata-registrar');
15
12
  const loadFlowFile = new metaDataCore.LoadFlowFile();
16
13
 
17
14
  /**
@@ -67,7 +64,47 @@ 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) {
72
109
  const flows = loadFlowFile.load(path.join(packagePath, '**'));
73
110
  for (const apiName in flows) {
@@ -83,63 +120,7 @@ module.exports = {
83
120
  },
84
121
 
85
122
  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
-
123
+ return await this.broker.call('steedos-server.importFlow', {flow, name});
143
124
  },
144
125
  loadDataOnServiceStarted: async function(){
145
126
  let packageInfo = this.settings.packageInfo;
@@ -156,43 +137,23 @@ module.exports = {
156
137
  },
157
138
  loadPackageMetadataFiles: async function (packagePath, name, datasourceName) {
158
139
  this.broker.logger.debug(`Loading package from ${packagePath}`)
140
+ packagePath = path.join(packagePath, '**');
159
141
  if (!datasourceName) {
160
142
  datasourceName = 'default';
161
143
  }
162
- objectql.getSteedosSchema(this.broker);
163
- packagePath = path.join(packagePath, '**');
164
- const datasource = objectql.getDataSource(datasourceName);
165
- if(datasource){
166
- await datasource.init();
144
+ if(this.objectql){
145
+ await this.initDataSource(packagePath, datasourceName);
146
+ await loadStandardMetadata(name, datasourceName);
167
147
  }
168
- await objectql.loadStandardMetadata(name, datasourceName);
169
- await objectql.addAllConfigFiles(packagePath, datasourceName, name);
148
+ await registerMetadataConfigs(packagePath, datasourceName, name);
170
149
  await triggerLoader.load(this.broker, packagePath, name);
171
150
  await processTriggerLoader.load(this.broker, packagePath, name);
172
151
  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
+ if(this.core){
153
+ this.core.loadClientScripts();
154
+ const routersInfo = await this.loadPackageRouters(packagePath, name);
155
+ await this.broker.call(`@steedos/service-packages.setPackageRoutersInfo`, {packageName: name, data: routersInfo});
186
156
  }
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
157
  await this.broker.emit(`translations.object.change`, {});
197
158
  return;
198
159
  },
@@ -204,7 +165,8 @@ module.exports = {
204
165
  const matchedPaths = metaDataCore.syncMatchFiles(filePatten);
205
166
  for await (const serviceFilePath of matchedPaths) {
206
167
  try {
207
- const service = objectql.loadService(this.broker, serviceFilePath);
168
+ metaDataCore.clearRequireCache(serviceFilePath);
169
+ const service = this.broker.loadService(serviceFilePath);
208
170
  this.packageServices.push(service);
209
171
  if (!this.broker.started) {
210
172
  this.broker._restartService(service)
@@ -228,19 +190,24 @@ module.exports = {
228
190
  return
229
191
  }
230
192
 
231
- this.settings.loadedPackagePublicFiles = true;
232
193
  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;
194
+ const express = require('express');
195
+ this.settings.loadedPackagePublicFiles = true;
196
+ try {
197
+ const router = require('@steedos/router').staticRouter();
198
+ let routerPath = "";
199
+ if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX) {
200
+ routerPath = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
201
+ }
202
+ const cacheTime = 86400000 * 1; // one day
203
+ router.use(routerPath, express.static(publicPath, { maxAge: cacheTime }));
204
+ // WebApp.connectHandlers.use(router);
205
+ } catch (error) {
206
+ console.error(error)
207
+ this.settings.loadedPackagePublicFiles = false;
237
208
  }
238
- const cacheTime = 86400000 * 1; // one day
239
- router.use(routerPath, express.static(publicPath, { maxAge: cacheTime }));
240
- // WebApp.connectHandlers.use(router);
241
209
  } catch (error) {
242
- console.error(error)
243
- this.settings.loadedPackagePublicFiles = false;
210
+
244
211
  }
245
212
  }
246
213
  },
@@ -252,6 +219,9 @@ module.exports = {
252
219
  return await this.broker.destroyService(this);
253
220
  },
254
221
  async onStarted(){
222
+
223
+ this.checkPackageMetadataFiles(this.settings.packageInfo.path)
224
+
255
225
  if(this.beforeStart){
256
226
  try {
257
227
  await this.beforeStart()
@@ -278,7 +248,7 @@ module.exports = {
278
248
  await this.loadPackageMetadataFiles(_path, this.name, datasource);
279
249
  if(isPackage !== false){
280
250
  try {
281
- const _packageInfo = objectql.loadJSONFile(path.join(_path, 'package.json'));
251
+ const _packageInfo = metaDataCore.loadJSONFile(path.join(_path, 'package.json'));
282
252
  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
253
  } catch (error) {
284
254
 
@@ -297,6 +267,35 @@ module.exports = {
297
267
  this.broker.logger.error(`[${this.name}]: ${error.message}`);
298
268
  }
299
269
  }
270
+ },
271
+ async loadPackageRouters(packagePath, name){
272
+ let routersData = loadRouters(packagePath);
273
+ let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: name})
274
+ let routersInfo = _.flattenDeep(_.map(routersData, 'infoList'));
275
+ if(oldRoutersInfo){
276
+ _.each(oldRoutersInfo.metadata, (info)=>{
277
+ const _info = _.find(routersInfo, (item)=>{
278
+ return item.path == info.path && JSON.stringify(item.methods) == JSON.stringify(info.methods) && item.md5 == info.md5
279
+ })
280
+ if(!_info){
281
+ this.core.removeRouter(info.path, info.methods)
282
+ }
283
+ })
284
+ }
285
+ const _routers = [];
286
+ routersData.forEach(element => {
287
+ _routers.push(element)
288
+ });
289
+ this.core.loadRouters(_routers);
290
+ return routersInfo
291
+ },
292
+ async initDataSource(packagePath, datasourceName){
293
+ this.objectql.getSteedosSchema(this.broker);
294
+ packagePath = path.join(packagePath, '**');
295
+ const datasource = this.objectql.getDataSource(datasourceName);
296
+ if(datasource){
297
+ await datasource.init();
298
+ }
300
299
  }
301
300
  },
302
301
 
@@ -304,8 +303,23 @@ module.exports = {
304
303
  * Service created lifecycle event handler
305
304
  */
306
305
  created() {
306
+ if(!global.broker){
307
+ global.broker = this.broker;
308
+ }
307
309
  this.packageServices = []; //此属性不能放到settings下,否则会导致mo clone settings 时 内存溢出。
308
310
  this.logger.debug('service package loader created!!!');
311
+
312
+ try {
313
+ this.core = require('@steedos/core');
314
+ } catch (e) {
315
+
316
+ }
317
+
318
+ try {
319
+ this.objectql = require('@steedos/objectql');
320
+ } catch (e) {
321
+
322
+ }
309
323
  },
310
324
 
311
325
  merged(schema) {
@@ -344,15 +358,16 @@ module.exports = {
344
358
  }
345
359
  };
346
360
 
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
- })
361
+ if(this.core){
362
+ let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: this.name})
363
+ if(oldRoutersInfo){
364
+ _.each(oldRoutersInfo.metadata, (info)=>{
365
+ this.core.removeRouter(info.path, info.methods)
366
+ })
367
+ }
368
+ await this.core.deletePackageClientScripts(this.name);
369
+ await this.core.loadClientScripts();
352
370
  }
353
-
354
- objectql.deletePackageClientScripts(this.name);
355
- core.loadClientScripts();
356
371
  this.broker.call(`@steedos/service-packages.offline`, {serviceInfo: {name: this.name, nodeID: this.broker.nodeID, instanceID: this.broker.instanceID}})
357
372
  await this.broker.call(`metadata.refreshServiceMetadatas`, { offlinePackageServices: [{
358
373
  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.2",
3
+ "version": "2.5.3-beta.1",
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.2",
14
- "@steedos/metadata-core": "2.5.2",
15
- "@steedos/objectql": "2.5.2",
16
- "@steedos/router": "2.5.2",
13
+ "@steedos/metadata-core": "2.5.3-beta.1",
14
+ "@steedos/metadata-registrar": "2.5.3-beta.1",
15
+ "@steedos/router": "2.5.3-beta.1",
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": "cdf76ccec2a8c9acb954f15e07a1c7ca0e62077e"
27
+ "gitHead": "a2e723ed4256279e8e6fa9f67d7f607c83f8638f"
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
  }