@steedos/service-package-loader 2.2.30 → 2.2.33

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
@@ -4,6 +4,7 @@ const objectql = require('@steedos/objectql');
4
4
  const core = require('@steedos/core');
5
5
  const triggerLoader = require('./lib').triggerLoader;
6
6
  const processLoader = require('./lib').processLoader;
7
+ const processTriggerLoader = require('./lib').processTriggerLoader;
7
8
  const sendPackageFlowToDb = require('./lib/loadPackageFlow').sendPackageFlowToDb;
8
9
  const path = require('path');
9
10
  const Future = require('fibers/future');
@@ -80,6 +81,7 @@ module.exports = {
80
81
  await objectql.loadStandardMetadata(name, datasourceName);
81
82
  await objectql.addAllConfigFiles(packagePath, datasourceName, name);
82
83
  await triggerLoader.load(this.broker, packagePath, name);
84
+ await processTriggerLoader.load(this.broker, packagePath, name);
83
85
  core.loadClientScripts();
84
86
  let routersData = objectql.loadRouters(packagePath);
85
87
  let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: name})
package/lib/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * as triggerLoader from "./triggerLoader";
2
2
  export * as processLoader from "./processLoader";
3
+ export * as processTriggerLoader from "./processTriggerLoader";
package/lib/index.js CHANGED
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processLoader = exports.triggerLoader = void 0;
3
+ exports.processTriggerLoader = exports.processLoader = exports.triggerLoader = void 0;
4
+ /*
5
+ * @Author: sunhaolin@hotoa.com
6
+ * @Date: 2022-05-14 10:16:03
7
+ * @LastEditors: sunhaolin@hotoa.com
8
+ * @LastEditTime: 2022-05-14 13:51:40
9
+ * @Description:
10
+ */
4
11
  exports.triggerLoader = require("./triggerLoader");
5
12
  exports.processLoader = require("./processLoader");
13
+ exports.processTriggerLoader = require("./processTriggerLoader");
6
14
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mDAAgD;AAChD,mDAAgD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,mDAAgD;AAChD,mDAAgD;AAChD,iEAA8D"}
@@ -0,0 +1 @@
1
+ export declare function load(broker: any, packagePath: string, packageServiceName: string): Promise<void>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.load = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const _ = require("underscore");
6
+ const path = require("path");
7
+ const objectql_1 = require("@steedos/objectql");
8
+ const ENUM_WHEN = ['beforeDraftInsert', 'afterDraftInsert', 'beforeDraftSubmit', 'afterDraftSubmit', 'beforeStepSubmit', 'afterStepSubmit', 'cacluateNextStepUsers',
9
+ 'beforeCancel', 'afterCancel', 'beforeTerminate', 'afterTerminate', 'beforeEnd', 'afterEnd'];
10
+ const LISTENTO_ALL_FLOWS = 'LISTENTO_ALL_FLOWS';
11
+ function load(broker, packagePath, packageServiceName) {
12
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
13
+ let filePath = path.join(packagePath, "**");
14
+ let wTriggers = (0, objectql_1.loadProcessTriggers)(filePath);
15
+ if (_.isEmpty(wTriggers)) {
16
+ return;
17
+ }
18
+ for (const wt of wTriggers) {
19
+ if (_.isString(wt.listenTo)) {
20
+ for (const when of ENUM_WHEN) {
21
+ let handler = wt[when];
22
+ if (!handler) {
23
+ continue;
24
+ }
25
+ let name = wt.name || (0, objectql_1.getMD5)((0, objectql_1.JSONStringify)(wt));
26
+ let config = {
27
+ name: name,
28
+ "listenTo": wt.listenTo == '*' ? LISTENTO_ALL_FLOWS : wt.listenTo,
29
+ "when": when,
30
+ "handler": handler.toString()
31
+ };
32
+ yield objectql_1.registerProcessTrigger.register(broker, packageServiceName, config);
33
+ }
34
+ }
35
+ }
36
+ });
37
+ }
38
+ exports.load = load;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1 @@
1
+ export * from './trigger';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ (0, tslib_1.__exportStar)(require("./trigger"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/processTriggerLoader/types/index.ts"],"names":[],"mappings":";;;AAAA,yDAA0B"}
@@ -0,0 +1,6 @@
1
+ export declare type Trigger = {
2
+ name: string;
3
+ listenTo: string;
4
+ when: string | string[];
5
+ handler: Function;
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=trigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/processTriggerLoader/types/trigger.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-package-loader",
3
- "version": "2.2.30",
3
+ "version": "2.2.33",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -11,9 +11,9 @@
11
11
  "author": "",
12
12
  "license": "MIT",
13
13
  "dependencies": {
14
- "@steedos/core": "2.2.30",
15
- "@steedos/metadata-core": "2.2.30",
16
- "@steedos/objectql": "2.2.30",
14
+ "@steedos/core": "2.2.33",
15
+ "@steedos/metadata-core": "2.2.33",
16
+ "@steedos/objectql": "2.2.33",
17
17
  "clone": "^2.1.2",
18
18
  "globby": "^9.1.0",
19
19
  "moleculer": "^0.14.12",
@@ -33,5 +33,5 @@
33
33
  "publishConfig": {
34
34
  "access": "public"
35
35
  },
36
- "gitHead": "0617b024b0ce7d64b99430beeeab0f09991abc0b"
36
+ "gitHead": "04b381ed43ccf2e9d5ff8106f3e917a0d2ef1655"
37
37
  }
package/src/index.ts CHANGED
@@ -1,2 +1,10 @@
1
+ /*
2
+ * @Author: sunhaolin@hotoa.com
3
+ * @Date: 2022-05-14 10:16:03
4
+ * @LastEditors: sunhaolin@hotoa.com
5
+ * @LastEditTime: 2022-05-14 13:51:40
6
+ * @Description:
7
+ */
1
8
  export * as triggerLoader from "./triggerLoader"
2
- export * as processLoader from "./processLoader"
9
+ export * as processLoader from "./processLoader"
10
+ export * as processTriggerLoader from "./processTriggerLoader"
@@ -0,0 +1,37 @@
1
+ import * as _ from "underscore";
2
+ import * as path from "path";
3
+ import { getMD5, JSONStringify, loadProcessTriggers, registerProcessTrigger } from "@steedos/objectql";
4
+ import { Trigger } from "./types";
5
+
6
+ const ENUM_WHEN = ['beforeDraftInsert', 'afterDraftInsert', 'beforeDraftSubmit', 'afterDraftSubmit', 'beforeStepSubmit', 'afterStepSubmit', 'cacluateNextStepUsers',
7
+ 'beforeCancel', 'afterCancel', 'beforeTerminate', 'afterTerminate', 'beforeEnd', 'afterEnd'];
8
+ const LISTENTO_ALL_FLOWS = 'LISTENTO_ALL_FLOWS';
9
+
10
+ export async function load(broker: any, packagePath: string, packageServiceName: string) {
11
+ let filePath = path.join(packagePath, "**");
12
+ let wTriggers = loadProcessTriggers(filePath);
13
+ if (_.isEmpty(wTriggers)) {
14
+ return;
15
+ }
16
+ for (const wt of wTriggers) {
17
+
18
+ if (_.isString(wt.listenTo)) {
19
+ for (const when of ENUM_WHEN) {
20
+ let handler = wt[when];
21
+ if (!handler) {
22
+ continue;
23
+ }
24
+ let name = wt.name || getMD5(JSONStringify(wt));
25
+ let config: Trigger = {
26
+ name: name,
27
+ "listenTo": wt.listenTo == '*' ? LISTENTO_ALL_FLOWS : wt.listenTo,
28
+ "when": when,
29
+ "handler": handler.toString()
30
+ }
31
+ await registerProcessTrigger.register(broker, packageServiceName, config);
32
+ }
33
+
34
+ }
35
+ }
36
+
37
+ }
@@ -0,0 +1 @@
1
+ export * from './trigger';
@@ -0,0 +1,6 @@
1
+ export type Trigger = {
2
+ name: string,
3
+ listenTo: string,
4
+ when: string | string[],
5
+ handler: Function
6
+ }