@steedos/service-metadata-triggers 2.5.0-beta.1 → 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",
@@ -126,7 +128,58 @@ module.exports = {
126
128
  return yield actionsHandler_1.ActionHandlers.refresh(ctx);
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-triggers",
3
- "version": "2.5.0-beta.1",
3
+ "version": "2.5.0-beta.3",
4
4
  "description": "",
5
5
  "main": "lib/triggers.service.js",
6
6
  "scripts": {
@@ -19,6 +19,7 @@
19
19
  "author": "",
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
+ "@steedos/objectql": "2.5.0-beta.3",
22
23
  "dotenv-flow": "^3.1.0",
23
24
  "ioredis": "^4.22.0",
24
25
  "lodash": "^4.17.21",
@@ -33,5 +34,5 @@
33
34
  "publishConfig": {
34
35
  "access": "public"
35
36
  },
36
- "gitHead": "5da093d78baa6f2d7011348060c30671354cc7f0"
37
+ "gitHead": "48546b91b2a44dd6f6673af7f5ab707faff6e07c"
37
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",
@@ -188,7 +190,73 @@ module.exports = {
188
190
  async handler(ctx) {
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
  /**