@steedos/service-package-loader 2.2.21 → 2.2.24
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 +30 -22
- package/lib/processLoader/index.d.ts +1 -0
- package/lib/processLoader/index.js +44 -2
- package/lib/processLoader/index.js.map +1 -1
- package/lib/triggerLoader/index.js +1 -1
- package/lib/triggerLoader/index.js.map +1 -1
- package/package.json +5 -5
- package/src/processLoader/index.ts +66 -2
- package/src/triggerLoader/index.ts +1 -1
package/index.js
CHANGED
|
@@ -24,7 +24,7 @@ module.exports = {
|
|
|
24
24
|
settings: {
|
|
25
25
|
path: '', // 扫描加载原数据的路径
|
|
26
26
|
name: '', // service name
|
|
27
|
-
|
|
27
|
+
loadedPackagePublicFiles: false
|
|
28
28
|
},
|
|
29
29
|
|
|
30
30
|
/**
|
|
@@ -57,6 +57,7 @@ module.exports = {
|
|
|
57
57
|
//此处延迟10秒加载流程文件,防止工作区初始化未完成
|
|
58
58
|
setTimeout(() => {
|
|
59
59
|
sendPackageFlowToDb(this.broker, _path)
|
|
60
|
+
processLoader.sendPackageProcessToDb(_path);
|
|
60
61
|
}, 10 * 1000)
|
|
61
62
|
}
|
|
62
63
|
}
|
|
@@ -79,7 +80,6 @@ module.exports = {
|
|
|
79
80
|
await objectql.loadStandardMetadata(name, datasourceName);
|
|
80
81
|
await objectql.addAllConfigFiles(packagePath, datasourceName, name);
|
|
81
82
|
await triggerLoader.load(this.broker, packagePath, name);
|
|
82
|
-
await processLoader.load(this.broker, packagePath, name);
|
|
83
83
|
core.loadClientScripts();
|
|
84
84
|
let routersData = objectql.loadRouters(packagePath);
|
|
85
85
|
let oldRoutersInfo = await this.broker.call(`@steedos/service-packages.getPackageRoutersInfo`, {packageName: name})
|
|
@@ -111,7 +111,7 @@ module.exports = {
|
|
|
111
111
|
const matchedPaths = globby.sync(filePatten);
|
|
112
112
|
for await (const serviceFilePath of matchedPaths) {
|
|
113
113
|
try {
|
|
114
|
-
const service = this.broker
|
|
114
|
+
const service = objectql.loadService(this.broker, serviceFilePath);
|
|
115
115
|
this.packageServices.push(service);
|
|
116
116
|
if (!this.broker.started) {
|
|
117
117
|
this.broker._restartService(service)
|
|
@@ -124,7 +124,7 @@ module.exports = {
|
|
|
124
124
|
loadPackagePublicFiles: {
|
|
125
125
|
handler(packagePath) {
|
|
126
126
|
let publicPath = path.join(packagePath, 'public');
|
|
127
|
-
|
|
127
|
+
try {
|
|
128
128
|
if (!fs.existsSync(publicPath) ||this.settings.loadedPackagePublicFiles || typeof WebApp == 'undefined') {
|
|
129
129
|
return;
|
|
130
130
|
}
|
|
@@ -132,21 +132,21 @@ module.exports = {
|
|
|
132
132
|
return
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
135
|
+
this.settings.loadedPackagePublicFiles = true;
|
|
136
|
+
try {
|
|
137
|
+
const router = express.Router();
|
|
138
|
+
let routerPath = "";
|
|
139
|
+
if (__meteor_runtime_config__.ROOT_URL_PATH_PREFIX) {
|
|
140
|
+
routerPath = __meteor_runtime_config__.ROOT_URL_PATH_PREFIX;
|
|
141
|
+
}
|
|
142
|
+
const cacheTime = 86400000 * 1; // one day
|
|
143
|
+
router.use(routerPath, express.static(publicPath, { maxAge: cacheTime }));
|
|
144
|
+
WebApp.connectHandlers.use(router);
|
|
145
|
+
} catch (error) {
|
|
146
|
+
console.error(error)
|
|
147
|
+
this.settings.loadedPackagePublicFiles = false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
150
|
}
|
|
151
151
|
},
|
|
152
152
|
|
|
@@ -178,8 +178,9 @@ module.exports = {
|
|
|
178
178
|
return;
|
|
179
179
|
}
|
|
180
180
|
this.broker.waitForServices("steedos-server").then(async () => {
|
|
181
|
-
|
|
182
|
-
|
|
181
|
+
sendPackageFlowToDb(this.broker, _path, this.name)
|
|
182
|
+
processLoader.sendPackageProcessToDb(_path);
|
|
183
|
+
});
|
|
183
184
|
|
|
184
185
|
await this.loadPackageMetadataFiles(_path, this.name, datasource);
|
|
185
186
|
if(isPackage !== false){
|
|
@@ -211,7 +212,14 @@ module.exports = {
|
|
|
211
212
|
}
|
|
212
213
|
}
|
|
213
214
|
this.broker.call(`@steedos/service-packages.offline`, {serviceInfo: {name: this.name, nodeID: this.broker.nodeID, instanceID: this.broker.instanceID}})
|
|
214
|
-
await this.broker.call(`metadata.refreshServiceMetadatas`, { offlinePackageServices: [
|
|
215
|
+
await this.broker.call(`metadata.refreshServiceMetadatas`, { offlinePackageServices: [{
|
|
216
|
+
name: this.name,
|
|
217
|
+
nodeID: this.broker.nodeID,
|
|
218
|
+
instanceID: this.broker.instanceID
|
|
219
|
+
}] }); //${this.broker.nodeID}.${this.name}
|
|
220
|
+
|
|
221
|
+
this.broker.broadcastLocal("@steedos/service-packages.offline", {serviceInfo: {name: this.name, nodeID: this.broker.nodeID, instanceID: this.broker.instanceID}})
|
|
222
|
+
|
|
215
223
|
console.log(`service ${this.name} stopped`);
|
|
216
224
|
}
|
|
217
225
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.load = void 0;
|
|
3
|
+
exports.sendPackageProcessToDb = exports.load = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
/*
|
|
6
6
|
* @Author: sunhaolin@hotoa.com
|
|
7
7
|
* @Date: 2022-03-30 11:49:53
|
|
8
8
|
* @LastEditors: sunhaolin@hotoa.com
|
|
9
|
-
* @LastEditTime: 2022-04-
|
|
9
|
+
* @LastEditTime: 2022-04-19 15:36:41
|
|
10
10
|
* @Description:
|
|
11
11
|
*/
|
|
12
12
|
const _ = require("underscore");
|
|
@@ -39,4 +39,46 @@ function load(broker, packagePath, packageServiceName) {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
exports.load = load;
|
|
42
|
+
// 软件包中的process元数据直接加载到库中
|
|
43
|
+
function sendPackageProcessToDb(packagePath) {
|
|
44
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
45
|
+
let filePath = path.join(packagePath, "**");
|
|
46
|
+
let processes = loadProcessFile.load(filePath);
|
|
47
|
+
if (_.isEmpty(processes)) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const processObj = (0, objectql_1.getObject)('process');
|
|
51
|
+
const processVersionsObj = (0, objectql_1.getObject)('process_versions');
|
|
52
|
+
const spaceObj = (0, objectql_1.getObject)('spaces');
|
|
53
|
+
const spaceDoc = (yield spaceObj.find({}))[0];
|
|
54
|
+
// 如果没有工作区信息则说明为空库,不加载
|
|
55
|
+
if (!spaceDoc) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const now = new Date();
|
|
59
|
+
const ownerId = spaceDoc.owner;
|
|
60
|
+
const baseInfo = {
|
|
61
|
+
space: spaceDoc._id,
|
|
62
|
+
owner: ownerId,
|
|
63
|
+
created: now,
|
|
64
|
+
modified: now,
|
|
65
|
+
created_by: ownerId,
|
|
66
|
+
modified_by: ownerId,
|
|
67
|
+
};
|
|
68
|
+
for (const apiName in processes) {
|
|
69
|
+
const processCount = yield processObj.count({ filters: [['name', '=', apiName]] });
|
|
70
|
+
if (processCount > 0) {
|
|
71
|
+
console.log(`process ${apiName} already exists`);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const process = processes[apiName];
|
|
75
|
+
const processId = yield processObj._makeNewID();
|
|
76
|
+
let processDoc = Object.assign({ _id: processId, name: process.name, label: process.label, object_name: process.object_name, engine: process.engine, is_active: false, description: process.description || '', entry_criteria: process.entry_criteria || '', when: process.when || '', ext: process.ext || '' }, baseInfo);
|
|
77
|
+
let processVersionDoc = Object.assign({ process: processId, is_active: false, description: process.description || '', entry_criteria: process.entry_criteria || '', when: process.when || '', schema: process.schema || '', version: 1 }, baseInfo);
|
|
78
|
+
yield processObj.directInsert(processDoc);
|
|
79
|
+
yield processVersionsObj.directInsert(processVersionDoc);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
exports.sendPackageProcessToDb = sendPackageProcessToDb;
|
|
42
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processLoader/index.ts"],"names":[],"mappings":";;;;AAAA;;;;;;GAMG;AACH,gCAAgC;AAChC,6BAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/processLoader/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ function load(broker, packagePath, packageServiceName) {
|
|
|
12
12
|
let actions = {};
|
|
13
13
|
let serviceName = `~triggers-${packageServiceName}`;
|
|
14
14
|
let filePath = path.join(packagePath, "**");
|
|
15
|
-
let objTriggers = objectql.loadObjectTriggers(filePath);
|
|
15
|
+
let objTriggers = objectql.loadObjectTriggers(filePath, packageServiceName);
|
|
16
16
|
if (_.isEmpty(objTriggers)) {
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":";;;;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,8CAA8C;AAC9C,gDAA0D;AAI1D,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAE1N,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QACnF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,aAAa,kBAAkB,EAAE,CAAC;QACpD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":";;;;AAAA,gCAAgC;AAChC,6BAA6B;AAC7B,8CAA8C;AAC9C,gDAA0D;AAI1D,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAE1N,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QACnF,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,WAAW,GAAG,aAAa,kBAAkB,EAAE,CAAC;QACpD,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACxB,OAAO;SACV;QACD,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE;YAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,aAAa;gBAErC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBACrB,IAAI,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,MAAM,EAAE;wBACR,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;qBACjC;iBACJ;qBAAM,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;wBACrB,IAAI,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC7D,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;wBACrC,IAAI,MAAM,EAAE;4BACR,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;yBACjC;qBACJ;iBACJ;aACJ;SACJ;QAED,IAAI,aAAa,GAAG;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;SACnB,CAAC;QACF,IAAI,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACjB,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;SACxC;QAED,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACnE,CAAC;CAAA;AAtCD,oBAsCC;AAED,SAAS,cAAc,CAAC,OAAgB;IACpC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC1E,OAAO;KACV;IAED,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAA,iBAAM,EAAC,IAAA,wBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,GAAW;QACjB,OAAO,EAAE;YACL,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,IAAI;SACb;QACD,IAAI,EAAE,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE;QACnC,OAAO,EAAE,cAAc,CAAC;KAC3B,CAAC;IACF,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QAC3B,MAAM,CAAC,OAAO,GAAG,UAAgB,GAAY;;gBAC1C,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACtD,CAAC;SAAA,CAAA;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,SAAe,MAAM,CAAC,MAAW,EAAE,OAAe,EAAE,WAAmB,EAAE,kBAA0B;;QAC/F,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBAC1C,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;gBACpE,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACrE;SACJ;IACL,CAAC;CAAA;AAGD,SAAS,eAAe,CAAC,MAAc;IACnC,IAAI,IAAI,GAAG;QACP,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;QACzB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACjC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;QACzB,MAAM,EAAE,MAAM,CAAC,IAAI;KACtB,CAAC;IACF,OAAO,IAAI,CAAC;AAChB,CAAC;AAGD,SAAS,eAAe,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;IACjF,IAAI,IAAI,GAAG;QACP,mBAAmB,EAAE,kBAAkB;QACvC,MAAM,EAAE;YACJ,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE;YAC1B,OAAO,EAAE;gBACL,IAAI,EAAE,WAAW;aACpB;SACJ;KACJ,CAAC;IACF,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-loader",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.24",
|
|
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.
|
|
15
|
-
"@steedos/metadata-core": "2.2.
|
|
16
|
-
"@steedos/objectql": "2.2.
|
|
14
|
+
"@steedos/core": "2.2.24",
|
|
15
|
+
"@steedos/metadata-core": "2.2.24",
|
|
16
|
+
"@steedos/objectql": "2.2.24",
|
|
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": "
|
|
36
|
+
"gitHead": "4650f826343d41eb0ccafabc73c721e24b04f50f"
|
|
37
37
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* @Author: sunhaolin@hotoa.com
|
|
3
3
|
* @Date: 2022-03-30 11:49:53
|
|
4
4
|
* @LastEditors: sunhaolin@hotoa.com
|
|
5
|
-
* @LastEditTime: 2022-04-
|
|
5
|
+
* @LastEditTime: 2022-04-19 15:36:41
|
|
6
6
|
* @Description:
|
|
7
7
|
*/
|
|
8
8
|
import * as _ from "underscore";
|
|
9
9
|
import * as path from "path";
|
|
10
|
-
import { registerProcess } from "@steedos/objectql";
|
|
10
|
+
import { registerProcess, getObject } from "@steedos/objectql";
|
|
11
11
|
import { Process } from "./types";
|
|
12
12
|
import { LoadProcessFile } from '@steedos/metadata-core';
|
|
13
13
|
const loadProcessFile = new LoadProcessFile();
|
|
@@ -36,4 +36,68 @@ export async function load(broker: any, packagePath: string, packageServiceName:
|
|
|
36
36
|
await registerProcess.mregister(broker, packageServiceName, data)
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 软件包中的process元数据直接加载到库中
|
|
42
|
+
export async function sendPackageProcessToDb(packagePath: string) {
|
|
43
|
+
let filePath = path.join(packagePath, "**");
|
|
44
|
+
let processes = loadProcessFile.load(filePath);
|
|
45
|
+
|
|
46
|
+
if (_.isEmpty(processes)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const processObj = getObject('process');
|
|
51
|
+
const processVersionsObj = getObject('process_versions');
|
|
52
|
+
const spaceObj = getObject('spaces');
|
|
53
|
+
const spaceDoc = (await spaceObj.find({}))[0];
|
|
54
|
+
// 如果没有工作区信息则说明为空库,不加载
|
|
55
|
+
if (!spaceDoc) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const now = new Date();
|
|
59
|
+
const ownerId = spaceDoc.owner;
|
|
60
|
+
const baseInfo = {
|
|
61
|
+
space: spaceDoc._id,
|
|
62
|
+
owner: ownerId,
|
|
63
|
+
created: now,
|
|
64
|
+
modified: now,
|
|
65
|
+
created_by: ownerId,
|
|
66
|
+
modified_by: ownerId,
|
|
67
|
+
}
|
|
68
|
+
for (const apiName in processes) {
|
|
69
|
+
const processCount = await processObj.count({ filters: [['name', '=', apiName]] });
|
|
70
|
+
if (processCount > 0) {
|
|
71
|
+
console.log(`process ${apiName} already exists`);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
const process: Process = processes[apiName];
|
|
75
|
+
const processId = await processObj._makeNewID();
|
|
76
|
+
let processDoc = {
|
|
77
|
+
_id: processId,
|
|
78
|
+
name: process.name,
|
|
79
|
+
label: process.label,
|
|
80
|
+
object_name: process.object_name,
|
|
81
|
+
engine: process.engine,
|
|
82
|
+
is_active: false,
|
|
83
|
+
description: process.description || '',
|
|
84
|
+
entry_criteria: process.entry_criteria || '',
|
|
85
|
+
when: process.when || '',
|
|
86
|
+
ext: process.ext || '',
|
|
87
|
+
...baseInfo
|
|
88
|
+
};
|
|
89
|
+
let processVersionDoc = {
|
|
90
|
+
process: processId,
|
|
91
|
+
is_active: false,
|
|
92
|
+
description: process.description || '',
|
|
93
|
+
entry_criteria: process.entry_criteria || '',
|
|
94
|
+
when: process.when || '',
|
|
95
|
+
schema: process.schema || '',
|
|
96
|
+
version: 1,
|
|
97
|
+
...baseInfo
|
|
98
|
+
};
|
|
99
|
+
await processObj.directInsert(processDoc);
|
|
100
|
+
await processVersionsObj.directInsert(processVersionDoc);
|
|
101
|
+
}
|
|
102
|
+
|
|
39
103
|
}
|
|
@@ -11,7 +11,7 @@ export async function load(broker: any, packagePath: string, packageServiceName:
|
|
|
11
11
|
let actions = {};
|
|
12
12
|
let serviceName = `~triggers-${packageServiceName}`;
|
|
13
13
|
let filePath = path.join(packagePath, "**");
|
|
14
|
-
let objTriggers = objectql.loadObjectTriggers(filePath);
|
|
14
|
+
let objTriggers = objectql.loadObjectTriggers(filePath, packageServiceName);
|
|
15
15
|
if (_.isEmpty(objTriggers)) {
|
|
16
16
|
return;
|
|
17
17
|
}
|