@steedos/service-metadata-triggers 2.4.12 → 2.5.0-beta.3

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.
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const actionsHandler_1 = require("./actionsHandler");
5
+ const _ = require("lodash");
6
+ const objectql_1 = require("@steedos/objectql");
5
7
  module.exports = {
6
8
  name: "triggers",
7
9
  namespace: "steedos",
@@ -127,6 +129,57 @@ module.exports = {
127
129
  });
128
130
  }
129
131
  },
132
+ "$packages.changed": {
133
+ handler(ctx) {
134
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
+ const { broker } = ctx;
136
+ const logger = this.logger;
137
+ const services = broker.registry.getServiceList({ skipInternal: true, withActions: true });
138
+ for (const service of services) {
139
+ const { name: serviceName, actions } = service;
140
+ for (const key in actions) {
141
+ if (Object.prototype.hasOwnProperty.call(actions, key)) {
142
+ const action = actions[key];
143
+ if (action.trigger) {
144
+ const { trigger, rawName, name } = action;
145
+ const { listenTo: objectName, when } = trigger;
146
+ if (objectName && when && _.isArray(when)) {
147
+ for (const w of when) {
148
+ if (!objectql_1._TRIGGERKEYS.includes(w)) {
149
+ logger.warn(`trigger when '${w}' is not supported.`);
150
+ continue;
151
+ }
152
+ const data = {
153
+ name: name,
154
+ listenTo: objectName,
155
+ when: w,
156
+ action: rawName
157
+ };
158
+ const meta = {
159
+ metadataServiceName: serviceName,
160
+ caller: {
161
+ nodeID: broker.nodeID + '',
162
+ service: {
163
+ name: serviceName
164
+ }
165
+ }
166
+ };
167
+ yield actionsHandler_1.ActionHandlers.add({
168
+ broker: ctx.broker,
169
+ params: {
170
+ data: data
171
+ },
172
+ meta: meta
173
+ });
174
+ }
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }
180
+ });
181
+ }
182
+ },
130
183
  },
131
184
  methods: {},
132
185
  created() {
@@ -1 +1 @@
1
- {"version":3,"file":"triggers.service.js","sourceRoot":"","sources":["../src/triggers.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"triggers.service.js","sourceRoot":"","sources":["../src/triggers.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-triggers",
3
- "version": "2.4.12",
3
+ "version": "2.5.0-beta.3",
4
4
  "description": "",
5
- "main": "lib/triggers2.service.js",
5
+ "main": "lib/triggers.service.js",
6
6
  "scripts": {
7
7
  "dev": "moleculer-runner --repl --hot lib/services/**/*.service.js",
8
8
  "start": "yarn build && moleculer-runner --repl --hot lib/triggers.service.js",
@@ -19,7 +19,7 @@
19
19
  "author": "",
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "@steedos/objectql": "2.4.12",
22
+ "@steedos/objectql": "2.5.0-beta.3",
23
23
  "dotenv-flow": "^3.1.0",
24
24
  "ioredis": "^4.22.0",
25
25
  "lodash": "^4.17.21",
@@ -34,5 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "9e0c93d90964dc1a7aef679c64f977d2352ef013"
37
+ "gitHead": "48546b91b2a44dd6f6673af7f5ab707faff6e07c"
38
38
  }
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  import { ActionHandlers, METADATA_TYPE } from './actionsHandler';
3
+ import _ = require('lodash');
4
+ import { _TRIGGERKEYS } from "@steedos/objectql"
3
5
 
4
6
  module.exports = {
5
7
  name: "triggers",
@@ -189,6 +191,72 @@ module.exports = {
189
191
  return await ActionHandlers.refresh(ctx);
190
192
  }
191
193
  },
194
+ /**
195
+ * 监听 $services.changed 事件,扫描services下的actions,对于其中定义的trigger参数进行解析,注入到trigger注册中心。
196
+ */
197
+ "$packages.changed": {
198
+ async handler(ctx) {
199
+ const { broker } = ctx
200
+ const logger = this.logger
201
+ const services = broker.registry.getServiceList({ skipInternal: true, withActions: true })
202
+ for (const service of services) {
203
+ const { name: serviceName, actions } = service
204
+ /**
205
+ actions 结构
206
+ {
207
+ 'test.triggerSpaceUsers': {
208
+ trigger: { listenTo: 'test__c', when: [Array] },
209
+ rawName: 'triggerSpaceUsers',
210
+ name: 'test.triggerSpaceUsers'
211
+ }
212
+ }
213
+ */
214
+ for (const key in actions) {
215
+ if (Object.prototype.hasOwnProperty.call(actions, key)) {
216
+ const action = actions[key];
217
+ if (action.trigger) {
218
+ const { trigger, rawName, name } = action
219
+ const { listenTo: objectName, when } = trigger
220
+ if (objectName && when && _.isArray(when)) {
221
+ for (const w of when) {
222
+ if (!_TRIGGERKEYS.includes(w)) {
223
+ logger.warn(`trigger when '${w}' is not supported.`)
224
+ continue
225
+ }
226
+ const data = {
227
+ name: name,
228
+ listenTo: objectName,
229
+ when: w,
230
+ action: rawName
231
+ };
232
+ const meta = {
233
+ metadataServiceName: serviceName,
234
+ caller: {
235
+ nodeID: broker.nodeID + '',
236
+ service: {
237
+ name: serviceName
238
+ }
239
+ }
240
+ };
241
+ await ActionHandlers.add({
242
+ broker: ctx.broker,
243
+ params: {
244
+ data: data
245
+ },
246
+ meta: meta
247
+ });
248
+ }
249
+
250
+
251
+ }
252
+
253
+ }
254
+ }
255
+ }
256
+
257
+ }
258
+ }
259
+ },
192
260
  },
193
261
 
194
262
  /**
@@ -1 +0,0 @@
1
- export {};
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const actionsHandler_1 = require("./actionsHandler");
5
- const _ = require("lodash");
6
- const objectql_1 = require("@steedos/objectql");
7
- module.exports = {
8
- name: "triggers",
9
- namespace: "steedos",
10
- settings: {},
11
- metadata: {
12
- triggers: []
13
- },
14
- dependencies: ['metadata'],
15
- actions: {
16
- getAll: {
17
- handler(ctx) {
18
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
- return this.metadata.triggers;
20
- });
21
- }
22
- },
23
- },
24
- events: {
25
- "$services.changed": {
26
- handler(ctx) {
27
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- const { broker } = ctx;
29
- const logger = this.logger;
30
- const triggers = [];
31
- const services = broker.registry.getServiceList({ skipInternal: true, withActions: true });
32
- for (const service of services) {
33
- const { name: serviceName, actions } = service;
34
- for (const key in actions) {
35
- if (Object.prototype.hasOwnProperty.call(actions, key)) {
36
- const action = actions[key];
37
- if (action.trigger) {
38
- const { trigger, rawName, name } = action;
39
- const { listenTo, when } = trigger;
40
- if (listenTo && when && _.isArray(when)) {
41
- for (const w of when) {
42
- if (!objectql_1._TRIGGERKEYS.includes(w)) {
43
- logger.warn(`trigger when '${w}' is not supported.`);
44
- continue;
45
- }
46
- triggers.push({
47
- "nodeID": broker.nodeID + '',
48
- "service": {
49
- "name": serviceName
50
- },
51
- "metadata": {
52
- "name": name,
53
- "listenTo": listenTo,
54
- "when": w,
55
- "action": rawName
56
- }
57
- });
58
- }
59
- }
60
- }
61
- }
62
- }
63
- }
64
- this.metadata.triggers = triggers;
65
- broker.emit(`${actionsHandler_1.METADATA_TYPE}.change`, {});
66
- });
67
- }
68
- },
69
- },
70
- methods: {},
71
- created() {
72
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
73
- });
74
- },
75
- started() {
76
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
- });
78
- },
79
- stopped() {
80
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
- });
82
- }
83
- };
84
- //# sourceMappingURL=triggers2.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"triggers2.service.js","sourceRoot":"","sources":["../src/triggers2.service.ts"],"names":[],"mappings":"AAOA,YAAY,CAAC;;;AACb,qDAAiD;AACjD,4BAA6B;AAC7B,gDAAgD;AAEhD,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,SAAS;IAIpB,QAAQ,EAAE,EAET;IAED,QAAQ,EAAE;QACN,QAAQ,EAAE,EAAE;KACf;IAKD,YAAY,EAAE,CAAC,UAAU,CAAC;IAK1B,OAAO,EAAE;QAEL,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAClC,CAAC;aAAA;SACJ;KAEJ;IAED,MAAM,EAAE;QAIJ,mBAAmB,EAAE;YACX,OAAO,CAAC,GAAG;;oBACb,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;oBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;oBAC1B,MAAM,QAAQ,GAAG,EAAE,CAAA;oBACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC1F,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;wBAC5B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;wBAW9C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;4BACvB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gCACpD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gCAC5B,IAAI,MAAM,CAAC,OAAO,EAAE;oCAChB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;oCACzC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;oCAClC,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wCACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;4CAClB,IAAI,CAAC,uBAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gDAC3B,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;gDACpD,SAAQ;6CACX;4CACD,QAAQ,CAAC,IAAI,CAAC;gDACV,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,EAAE;gDAC5B,SAAS,EAAE;oDACP,MAAM,EAAE,WAAW;iDACtB;gDACD,UAAU,EAAE;oDACR,MAAM,EAAE,IAAI;oDACZ,UAAU,EAAE,QAAQ;oDACpB,MAAM,EAAE,CAAC;oDACT,QAAQ,EAAE,OAAO;iDACpB;6CACJ,CAAC,CAAA;yCACL;qCAEJ;iCAEJ;6BACJ;yBACJ;qBACJ;oBACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;oBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,8BAAa,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/C,CAAC;aAAA;SACJ;KACJ;IAKD,OAAO,EAAE,EAER;IAKK,OAAO;;QAEb,CAAC;KAAA;IAKK,OAAO;;QAEb,CAAC;KAAA;IAKK,OAAO;;QAEb,CAAC;KAAA;CACJ,CAAC"}
@@ -1,132 +0,0 @@
1
- /*
2
- * @Author: sunhaolin@hotoa.com
3
- * @Date: 2023-04-11 11:50:53
4
- * @LastEditors: sunhaolin@hotoa.com
5
- * @LastEditTime: 2023-04-11 13:44:55
6
- * @Description:
7
- */
8
- "use strict";
9
- import { METADATA_TYPE } from './actionsHandler';
10
- import _ = require('lodash');
11
- import { _TRIGGERKEYS } from "@steedos/objectql"
12
-
13
- module.exports = {
14
- name: "triggers",
15
- namespace: "steedos",
16
- /**
17
- * Settings
18
- */
19
- settings: {
20
-
21
- },
22
-
23
- metadata: {
24
- triggers: []
25
- },
26
-
27
- /**
28
- * Dependencies
29
- */
30
- dependencies: ['metadata'],
31
-
32
- /**
33
- * Actions
34
- */
35
- actions: {
36
-
37
- getAll: {
38
- async handler(ctx) {
39
- return this.metadata.triggers;
40
- }
41
- },
42
-
43
- },
44
-
45
- events: {
46
- /**
47
- * 监听 $services.changed 事件,扫描services下的actions,对于其中定义的trigger参数进行解析,统一给this.metadata赋值。
48
- */
49
- "$services.changed": {
50
- async handler(ctx) {
51
- const { broker } = ctx
52
- const logger = this.logger
53
- const triggers = []
54
- const services = broker.registry.getServiceList({ skipInternal: true, withActions: true })
55
- for (const service of services) {
56
- const { name: serviceName, actions } = service
57
- /**
58
- actions 结构
59
- {
60
- 'test.triggerSpaceUsers': {
61
- trigger: { listenTo: 'test__c', when: [Array] },
62
- rawName: 'triggerSpaceUsers',
63
- name: 'test.triggerSpaceUsers'
64
- }
65
- }
66
- */
67
- for (const key in actions) {
68
- if (Object.prototype.hasOwnProperty.call(actions, key)) {
69
- const action = actions[key];
70
- if (action.trigger) {
71
- const { trigger, rawName, name } = action
72
- const { listenTo, when } = trigger
73
- if (listenTo && when && _.isArray(when)) {
74
- for (const w of when) {
75
- if (!_TRIGGERKEYS.includes(w)) {
76
- logger.warn(`trigger when '${w}' is not supported.`)
77
- continue
78
- }
79
- triggers.push({
80
- "nodeID": broker.nodeID + '',
81
- "service": {
82
- "name": serviceName
83
- },
84
- "metadata": {
85
- "name": name,
86
- "listenTo": listenTo,
87
- "when": w,
88
- "action": rawName
89
- }
90
- })
91
- }
92
-
93
- }
94
-
95
- }
96
- }
97
- }
98
- }
99
- this.metadata.triggers = triggers
100
- broker.emit(`${METADATA_TYPE}.change`, {});
101
- }
102
- },
103
- },
104
-
105
- /**
106
- * Methods
107
- */
108
- methods: {
109
-
110
- },
111
-
112
- /**
113
- * Service created lifecycle event handler
114
- */
115
- async created() {
116
-
117
- },
118
-
119
- /**
120
- * Service started lifecycle event handler
121
- */
122
- async started() {
123
-
124
- },
125
-
126
- /**
127
- * Service stopped lifecycle event handler
128
- */
129
- async stopped() {
130
-
131
- }
132
- };