@steedos/service-metadata-triggers 2.1.51 → 2.1.55
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/lib/actionsHandler.js
CHANGED
|
@@ -14,8 +14,84 @@ function cacherKey(apiName, when, name) {
|
|
|
14
14
|
let key = `$steedos.#${exports.METADATA_TYPE}.${apiName}.${when}.${name}`;
|
|
15
15
|
return key;
|
|
16
16
|
}
|
|
17
|
-
function getDelKey(metadataApiName) {
|
|
18
|
-
return `$steedos.#${
|
|
17
|
+
function getDelKey(metadataType, metadataApiName) {
|
|
18
|
+
return `$steedos.#${metadataType}.${metadataApiName}`;
|
|
19
|
+
}
|
|
20
|
+
function getPatternTriggerKey(when, name) {
|
|
21
|
+
if (!when) {
|
|
22
|
+
when = '*';
|
|
23
|
+
}
|
|
24
|
+
if (!name) {
|
|
25
|
+
name = '*';
|
|
26
|
+
}
|
|
27
|
+
let key = `$steedos.#${exports.METADATA_TYPE}-pattern.${when}.${name}`;
|
|
28
|
+
return key;
|
|
29
|
+
}
|
|
30
|
+
function isPatternTrigger(data) {
|
|
31
|
+
const { listenTo } = data;
|
|
32
|
+
if (listenTo === '*') {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
else if (_.isArray(listenTo)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
else if (_.isRegExp(listenTo)) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
else if (_.isString(listenTo) && listenTo.startsWith("/")) {
|
|
42
|
+
try {
|
|
43
|
+
if (_.isRegExp(eval(listenTo))) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
function registerPatternTrigger(broker, data, meta, item) {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
yield broker.call('metadata.addServiceMetadata', { data: data }, { meta: Object.assign({}, meta, { metadataType: `${exports.METADATA_TYPE}-pattern`, metadataApiName: `${item}.${data.name}` }) });
|
|
57
|
+
yield broker.call('metadata.add', { key: getPatternTriggerKey(item, data.name), data: data }, { meta: meta });
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function getPatternTriggers(ctx) {
|
|
61
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const patternTriggers = [];
|
|
63
|
+
const { objectApiName, when, name } = ctx.params;
|
|
64
|
+
const result = yield ctx.broker.call('metadata.filter', { key: getPatternTriggerKey(when, name) }, { meta: ctx.meta });
|
|
65
|
+
_.each(result, (item) => {
|
|
66
|
+
if (item && item.metadata) {
|
|
67
|
+
const { metadata } = item;
|
|
68
|
+
try {
|
|
69
|
+
if (metadata.listenTo === '*') {
|
|
70
|
+
patternTriggers.push(item);
|
|
71
|
+
}
|
|
72
|
+
else if (_.isArray(metadata.listenTo) && _.include(metadata.listenTo, objectApiName)) {
|
|
73
|
+
patternTriggers.push(item);
|
|
74
|
+
}
|
|
75
|
+
else if (_.isRegExp(metadata.listenTo) && metadata.listenTo.test(objectApiName)) {
|
|
76
|
+
patternTriggers.push(item);
|
|
77
|
+
}
|
|
78
|
+
else if (_.isString(metadata.listenTo) && metadata.listenTo.startsWith("/")) {
|
|
79
|
+
try {
|
|
80
|
+
if (_.isRegExp(eval(metadata.listenTo)) && eval(metadata.listenTo).test(objectApiName)) {
|
|
81
|
+
patternTriggers.push(item);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
console.log(`error`, error);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return patternTriggers;
|
|
94
|
+
});
|
|
19
95
|
}
|
|
20
96
|
function registerTrigger(broker, data, meta) {
|
|
21
97
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -27,8 +103,13 @@ function registerTrigger(broker, data, meta) {
|
|
|
27
103
|
when = data.when;
|
|
28
104
|
}
|
|
29
105
|
for (const item of when) {
|
|
30
|
-
|
|
31
|
-
|
|
106
|
+
if (isPatternTrigger(data)) {
|
|
107
|
+
yield registerPatternTrigger(broker, data, meta, item);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
yield broker.call('metadata.addServiceMetadata', { data: data }, { meta: Object.assign({}, meta, { metadataType: exports.METADATA_TYPE, metadataApiName: `${data.listenTo}.${item}.${data.name}` }) });
|
|
111
|
+
yield broker.call('metadata.add', { key: cacherKey(data.listenTo, item, data.name), data: data }, { meta: meta });
|
|
112
|
+
}
|
|
32
113
|
}
|
|
33
114
|
return true;
|
|
34
115
|
});
|
|
@@ -41,7 +122,10 @@ exports.ActionHandlers = {
|
|
|
41
122
|
},
|
|
42
123
|
filter(ctx) {
|
|
43
124
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
|
|
125
|
+
const result = yield ctx.broker.call('metadata.filter', { key: cacherKey(ctx.params.objectApiName, ctx.params.when, ctx.params.name) }, { meta: ctx.meta });
|
|
126
|
+
//get Pattern Triggers
|
|
127
|
+
const patternTriggers = yield getPatternTriggers(ctx);
|
|
128
|
+
return result.concat(patternTriggers);
|
|
45
129
|
});
|
|
46
130
|
},
|
|
47
131
|
add(ctx) {
|
|
@@ -82,13 +166,13 @@ exports.ActionHandlers = {
|
|
|
82
166
|
refresh(ctx) {
|
|
83
167
|
var e_1, _a;
|
|
84
168
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
const { isClear, metadataApiNames } = ctx.params;
|
|
169
|
+
const { isClear, metadataApiNames, metadataType } = ctx.params;
|
|
86
170
|
if (isClear) {
|
|
87
171
|
try {
|
|
88
172
|
for (var metadataApiNames_1 = tslib_1.__asyncValues(metadataApiNames), metadataApiNames_1_1; metadataApiNames_1_1 = yield metadataApiNames_1.next(), !metadataApiNames_1_1.done;) {
|
|
89
173
|
const metadataApiName = metadataApiNames_1_1.value;
|
|
90
174
|
try {
|
|
91
|
-
yield ctx.broker.call('metadata.delete', { key: getDelKey(metadataApiName) }, { meta: ctx.meta });
|
|
175
|
+
yield ctx.broker.call('metadata.delete', { key: getDelKey(metadataType, metadataApiName) }, { meta: ctx.meta });
|
|
92
176
|
}
|
|
93
177
|
catch (error) {
|
|
94
178
|
ctx.broker.logger.info(error.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":";;;;AAAA,gCAAgC;AAEnB,QAAA,aAAa,GAAG,UAAU,CAAC;AAkBxC,SAAS,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,IAAY;IAC1D,IAAG,CAAC,IAAI,EAAC;QACL,IAAI,GAAG,GAAG,CAAA;KACb;IACD,IAAG,CAAC,IAAI,EAAC;QACL,IAAI,GAAG,GAAG,CAAA;KACb;IACD,IAAI,GAAG,GAAG,aAAa,qBAAa,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;IAClE,OAAO,GAAG,CAAA;AACd,CAAC;AAED,SAAS,SAAS,CAAC,eAAuB;
|
|
1
|
+
{"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
|
package/lib/triggers.service.js
CHANGED
|
@@ -166,6 +166,13 @@ module.exports = {
|
|
|
166
166
|
return yield actionsHandler_1.ActionHandlers.refresh(ctx);
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
|
+
},
|
|
170
|
+
[`$METADATA.${actionsHandler_1.METADATA_TYPE}-pattern.*`]: {
|
|
171
|
+
handler(ctx) {
|
|
172
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
return yield actionsHandler_1.ActionHandlers.refresh(ctx);
|
|
174
|
+
});
|
|
175
|
+
}
|
|
169
176
|
}
|
|
170
177
|
},
|
|
171
178
|
/**
|
|
@@ -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.1.
|
|
3
|
+
"version": "2.1.55",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/triggers.service.js",
|
|
6
6
|
"scripts": {
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"publishConfig": {
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "4cf71f0e696a28b30084bb07471cfbdc6c875f96"
|
|
45
45
|
}
|
package/src/actionsHandler.ts
CHANGED
|
@@ -29,8 +29,76 @@ function cacherKey(apiName: string, when: string, name: string): string{
|
|
|
29
29
|
return key
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
function getDelKey(metadataApiName: string){
|
|
33
|
-
return `$steedos.#${
|
|
32
|
+
function getDelKey(metadataType, metadataApiName: string){
|
|
33
|
+
return `$steedos.#${metadataType}.${metadataApiName}`;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function getPatternTriggerKey( when: string, name: string): string{
|
|
37
|
+
if(!when){
|
|
38
|
+
when = '*'
|
|
39
|
+
}
|
|
40
|
+
if(!name){
|
|
41
|
+
name = '*'
|
|
42
|
+
}
|
|
43
|
+
let key = `$steedos.#${METADATA_TYPE}-pattern.${when}.${name}`;
|
|
44
|
+
return key
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function isPatternTrigger(data){
|
|
48
|
+
const {listenTo} = data;
|
|
49
|
+
if(listenTo === '*'){
|
|
50
|
+
return true;
|
|
51
|
+
}else if(_.isArray(listenTo)){
|
|
52
|
+
return true;
|
|
53
|
+
}else if(_.isRegExp(listenTo)){
|
|
54
|
+
return true;
|
|
55
|
+
}else if(_.isString(listenTo) && listenTo.startsWith("/")){
|
|
56
|
+
try {
|
|
57
|
+
if(_.isRegExp(eval(listenTo))){
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
} catch (error) {
|
|
61
|
+
return false
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async function registerPatternTrigger(broker, data, meta, item){
|
|
69
|
+
await broker.call('metadata.addServiceMetadata', {data: data}, {meta: Object.assign({}, meta, {metadataType: `${METADATA_TYPE}-pattern`, metadataApiName: `${item}.${data.name}`})})
|
|
70
|
+
await broker.call('metadata.add', {key: getPatternTriggerKey(item, data.name), data: data}, {meta: meta});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
async function getPatternTriggers(ctx){
|
|
74
|
+
const patternTriggers = [];
|
|
75
|
+
const {objectApiName, when , name } = ctx.params;
|
|
76
|
+
const result = await ctx.broker.call('metadata.filter', {key: getPatternTriggerKey(when, name)}, {meta: ctx.meta});
|
|
77
|
+
|
|
78
|
+
_.each(result, (item)=>{
|
|
79
|
+
if(item && item.metadata){
|
|
80
|
+
const { metadata } = item
|
|
81
|
+
try {
|
|
82
|
+
if(metadata.listenTo === '*'){
|
|
83
|
+
patternTriggers.push(item);
|
|
84
|
+
}else if(_.isArray(metadata.listenTo) && _.include(metadata.listenTo, objectApiName)){
|
|
85
|
+
patternTriggers.push(item);
|
|
86
|
+
}else if(_.isRegExp(metadata.listenTo) && metadata.listenTo.test(objectApiName)){
|
|
87
|
+
patternTriggers.push(item);
|
|
88
|
+
}else if(_.isString(metadata.listenTo) && metadata.listenTo.startsWith("/")){
|
|
89
|
+
try {
|
|
90
|
+
if(_.isRegExp(eval(metadata.listenTo)) && eval(metadata.listenTo).test(objectApiName)){
|
|
91
|
+
patternTriggers.push(item);
|
|
92
|
+
}
|
|
93
|
+
} catch (error) {
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
} catch (error) {
|
|
97
|
+
console.log(`error`, error);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
return patternTriggers;
|
|
34
102
|
}
|
|
35
103
|
|
|
36
104
|
async function registerTrigger(broker, data, meta){
|
|
@@ -41,8 +109,12 @@ async function registerTrigger(broker, data, meta){
|
|
|
41
109
|
when = data.when;
|
|
42
110
|
}
|
|
43
111
|
for (const item of when) {
|
|
44
|
-
|
|
45
|
-
|
|
112
|
+
if(isPatternTrigger(data)){
|
|
113
|
+
await registerPatternTrigger(broker, data, meta, item)
|
|
114
|
+
}else{
|
|
115
|
+
await broker.call('metadata.addServiceMetadata', {data: data}, {meta: Object.assign({}, meta, {metadataType: METADATA_TYPE, metadataApiName: `${data.listenTo}.${item}.${data.name}`})})
|
|
116
|
+
await broker.call('metadata.add', {key: cacherKey(data.listenTo, item, data.name), data: data}, {meta: meta});
|
|
117
|
+
}
|
|
46
118
|
}
|
|
47
119
|
return true
|
|
48
120
|
}
|
|
@@ -52,7 +124,10 @@ export const ActionHandlers = {
|
|
|
52
124
|
return ctx.broker.call('metadata.get', {key: cacherKey(ctx.params.objectApiName, ctx.params.when, ctx.params.name)}, {meta: ctx.meta})
|
|
53
125
|
},
|
|
54
126
|
async filter(ctx: any): Promise<Array<MetadataObject>> {
|
|
55
|
-
|
|
127
|
+
const result = await ctx.broker.call('metadata.filter', {key: cacherKey(ctx.params.objectApiName, ctx.params.when, ctx.params.name)}, {meta: ctx.meta});
|
|
128
|
+
//get Pattern Triggers
|
|
129
|
+
const patternTriggers = await getPatternTriggers(ctx);
|
|
130
|
+
return result.concat(patternTriggers);
|
|
56
131
|
},
|
|
57
132
|
async add(ctx: any): Promise<boolean>{
|
|
58
133
|
return await registerTrigger(ctx.broker, ctx.params.data, ctx.meta)
|
|
@@ -81,11 +156,11 @@ export const ActionHandlers = {
|
|
|
81
156
|
return true;
|
|
82
157
|
},
|
|
83
158
|
async refresh(ctx){
|
|
84
|
-
const { isClear, metadataApiNames } = ctx.params
|
|
159
|
+
const { isClear, metadataApiNames, metadataType } = ctx.params
|
|
85
160
|
if(isClear){
|
|
86
161
|
for await (const metadataApiName of metadataApiNames) {
|
|
87
162
|
try {
|
|
88
|
-
await ctx.broker.call('metadata.delete', {key: getDelKey(metadataApiName)}, {meta: ctx.meta})
|
|
163
|
+
await ctx.broker.call('metadata.delete', {key: getDelKey(metadataType, metadataApiName)}, {meta: ctx.meta})
|
|
89
164
|
} catch (error) {
|
|
90
165
|
ctx.broker.logger.info(error.message)
|
|
91
166
|
}
|
package/src/triggers.service.ts
CHANGED