@steedos/service-package-loader 2.7.0 → 2.7.1-beta.2
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.
|
@@ -4,118 +4,20 @@ exports.load = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const _ = require("underscore");
|
|
6
6
|
const path = require("path");
|
|
7
|
-
const metadata_core_1 = require("@steedos/metadata-core");
|
|
8
7
|
const metadata_registrar_1 = require("@steedos/metadata-registrar");
|
|
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
|
-
}
|
|
19
8
|
function load(broker, packagePath, packageServiceName) {
|
|
20
9
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
let actions = {};
|
|
22
|
-
let serviceName = `~triggers-${packageServiceName}`;
|
|
23
10
|
let filePath = path.join(packagePath, "**");
|
|
24
11
|
let objTriggers = (0, metadata_registrar_1.loadObjectTriggers)(filePath, packageServiceName);
|
|
25
12
|
if (_.isEmpty(objTriggers)) {
|
|
26
13
|
return;
|
|
27
14
|
}
|
|
28
15
|
for (const trigger of objTriggers) {
|
|
29
|
-
const actionTriggerName = (0, metadata_core_1.getMD5)((0, metadata_core_1.JSONStringify)(trigger));
|
|
30
|
-
actions[actionTriggerName] = generateActionTrigger(trigger);
|
|
31
16
|
broker.emit('trigger.loaded', {
|
|
32
17
|
objectName: trigger['listenTo']
|
|
33
18
|
});
|
|
34
19
|
}
|
|
35
|
-
let serviceConfig = {
|
|
36
|
-
name: serviceName,
|
|
37
|
-
actions: actions
|
|
38
|
-
};
|
|
39
|
-
let service = broker.createService(serviceConfig);
|
|
40
|
-
if (!broker.started) {
|
|
41
|
-
yield broker._restartService(service);
|
|
42
|
-
}
|
|
43
20
|
});
|
|
44
21
|
}
|
|
45
22
|
exports.load = load;
|
|
46
|
-
function generateActionTrigger(trigger) {
|
|
47
|
-
const when = [];
|
|
48
|
-
for (const key in trigger) {
|
|
49
|
-
if (Object.hasOwnProperty.call(trigger, key)) {
|
|
50
|
-
if (_.contains(TRIGGERKEYS, key)) {
|
|
51
|
-
when.push(key);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const actionTrigger = {
|
|
56
|
-
trigger: {
|
|
57
|
-
listenTo: trigger.listenTo,
|
|
58
|
-
when: when
|
|
59
|
-
},
|
|
60
|
-
handler(ctx) {
|
|
61
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
const { isInsert, isUpdate, isDelete, isFind, isBefore, isAfter, isFindOne, isCount, id, doc, previousDoc, userId, spaceId, objectName, query, data } = ctx.params;
|
|
63
|
-
const context = {
|
|
64
|
-
id,
|
|
65
|
-
userId,
|
|
66
|
-
spaceId,
|
|
67
|
-
doc,
|
|
68
|
-
previousDoc,
|
|
69
|
-
query,
|
|
70
|
-
data,
|
|
71
|
-
objectName
|
|
72
|
-
};
|
|
73
|
-
let when = '';
|
|
74
|
-
if (isBefore) {
|
|
75
|
-
if (isFind) {
|
|
76
|
-
when = 'beforeFind';
|
|
77
|
-
}
|
|
78
|
-
else if (isInsert) {
|
|
79
|
-
when = 'beforeInsert';
|
|
80
|
-
}
|
|
81
|
-
else if (isUpdate) {
|
|
82
|
-
when = 'beforeUpdate';
|
|
83
|
-
}
|
|
84
|
-
else if (isDelete) {
|
|
85
|
-
when = 'beforeDelete';
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else if (isAfter) {
|
|
89
|
-
if (isFind) {
|
|
90
|
-
when = 'afterFind';
|
|
91
|
-
}
|
|
92
|
-
else if (isInsert) {
|
|
93
|
-
when = 'afterInsert';
|
|
94
|
-
}
|
|
95
|
-
else if (isUpdate) {
|
|
96
|
-
when = 'afterUpdate';
|
|
97
|
-
}
|
|
98
|
-
else if (isDelete) {
|
|
99
|
-
when = 'afterDelete';
|
|
100
|
-
}
|
|
101
|
-
else if (isFindOne) {
|
|
102
|
-
when = 'afterFindOne';
|
|
103
|
-
}
|
|
104
|
-
else if (isCount) {
|
|
105
|
-
when = 'afterCount';
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (when) {
|
|
109
|
-
const object = getObject(objectName);
|
|
110
|
-
if (!object) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
yield object.runTriggers(when, context);
|
|
114
|
-
return context;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
return actionTrigger;
|
|
120
|
-
}
|
|
121
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":";;;;AAOA,gCAAgC;AAChC,6BAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/triggerLoader/index.ts"],"names":[],"mappings":";;;;AAOA,gCAAgC;AAChC,6BAA6B;AAE7B,oEAAiE;AAejE,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QAGnF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,GAAG,IAAA,uCAAkB,EAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACnE,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACxB,OAAO;SACV;QAeD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;YAgB/B,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;aAClC,CAAC,CAAA;SACL;IAWL,CAAC;CAAA;AApDD,oBAoDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-loader",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.1-beta.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,10 +10,10 @@
|
|
|
10
10
|
"author": "",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@steedos/metadata-core": "2.7.
|
|
14
|
-
"@steedos/metadata-registrar": "2.7.
|
|
15
|
-
"@steedos/router": "2.7.
|
|
16
|
-
"@steedos/service-object-mixin": "2.7.
|
|
13
|
+
"@steedos/metadata-core": "2.7.1-beta.2",
|
|
14
|
+
"@steedos/metadata-registrar": "2.7.1-beta.2",
|
|
15
|
+
"@steedos/router": "2.7.1-beta.2",
|
|
16
|
+
"@steedos/service-object-mixin": "2.7.1-beta.2",
|
|
17
17
|
"clone": "^2.1.2",
|
|
18
18
|
"csvtojson": "~2.0.10",
|
|
19
19
|
"moleculer": "^0.14.25",
|
|
@@ -28,5 +28,5 @@
|
|
|
28
28
|
"publishConfig": {
|
|
29
29
|
"access": "public"
|
|
30
30
|
},
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "1d02bc68fd5dcb00731fffa27684f187c7448b57"
|
|
32
32
|
}
|