@tachybase/module-event-source 0.23.40 → 0.23.47
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/dist/client/{customEventSources → custom-event-sources}/CustomEventSourcePane.schema.d.ts +8 -4
- package/dist/client/{customEventSources/customEventSourcePane.collection.d.ts → custom-event-sources/collectionCustomEventSources.d.ts} +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.js +3 -3
- package/dist/client/triggers/APPEventTrigger.d.ts +15 -0
- package/dist/client/triggers/CustomActionTrigger.d.ts +25 -0
- package/dist/client/triggers/DatabaseEventTrigger.d.ts +35 -0
- package/dist/client/triggers/ResourceEventTrigger.d.ts +24 -0
- package/dist/client/triggers/index.d.ts +19 -0
- package/dist/client/webhook/collections/dispatchers.d.ts +3 -0
- package/dist/client/webhook/components/TypeContainer.d.ts +1 -0
- package/dist/externalVersion.js +10 -10
- package/dist/locale/en-US.json +22 -1
- package/dist/locale/zh-CN.json +39 -1
- package/dist/server/collections/webhooks.js +13 -0
- package/dist/server/constants.d.ts +2 -0
- package/dist/server/constants.js +30 -0
- package/dist/server/migrations/20250210192452-refactor.d.ts +6 -0
- package/dist/server/migrations/20250210192452-refactor.js +45 -0
- package/dist/server/model/EventSourceModel.d.ts +16 -0
- package/dist/server/model/EventSourceModel.js +29 -0
- package/dist/server/trigger/AppEventTrigger.d.ts +10 -0
- package/dist/server/trigger/AppEventTrigger.js +93 -0
- package/dist/server/trigger/CustionActionTrigger.d.ts +13 -0
- package/dist/server/trigger/CustionActionTrigger.js +76 -0
- package/dist/server/trigger/DatabaseEventTrigger.d.ts +10 -0
- package/dist/server/trigger/DatabaseEventTrigger.js +104 -0
- package/dist/server/trigger/ResourceEventTrigger.d.ts +14 -0
- package/dist/server/trigger/ResourceEventTrigger.js +149 -0
- package/dist/server/trigger/Trigger.d.ts +21 -0
- package/dist/server/trigger/Trigger.js +71 -0
- package/dist/server/types.d.ts +6 -0
- package/dist/server/types.js +15 -0
- package/dist/server/webhooks/Plugin.d.ts +5 -0
- package/dist/server/webhooks/Plugin.js +114 -64
- package/dist/server/webhooks/webhooks.js +2 -1
- package/package.json +12 -12
- package/dist/server/services/ActionAPIService.d.ts +0 -4
- package/dist/server/services/ActionAPIService.js +0 -122
- package/dist/server/services/ApplicationEventService.d.ts +0 -5
- package/dist/server/services/ApplicationEventService.js +0 -124
- package/dist/server/services/BeforeResourceService.d.ts +0 -5
- package/dist/server/services/BeforeResourceService.js +0 -135
- package/dist/server/services/DatabaseEventService.d.ts +0 -5
- package/dist/server/services/DatabaseEventService.js +0 -135
- package/dist/server/services/ResourceService.d.ts +0 -5
- package/dist/server/services/ResourceService.js +0 -114
- /package/dist/client/{customEventSources → custom-event-sources}/CustomEventSourcePane.d.ts +0 -0
- /package/dist/client/{customEventSources → custom-event-sources}/useSyncCustomEventSource.d.ts +0 -0
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
-
var __typeError = (msg) => {
|
|
8
|
-
throw TypeError(msg);
|
|
9
|
-
};
|
|
10
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
5
|
var __export = (target, all) => {
|
|
13
6
|
for (var name in all)
|
|
14
7
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -22,67 +15,30 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
22
15
|
return to;
|
|
23
16
|
};
|
|
24
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
26
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
27
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
28
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
29
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
30
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
31
|
-
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
35
|
-
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
36
|
-
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
37
|
-
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
38
|
-
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
39
|
-
return __privateGet(this, extra);
|
|
40
|
-
}, set [name](x) {
|
|
41
|
-
return __privateSet(this, extra, x);
|
|
42
|
-
} }, name));
|
|
43
|
-
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
44
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
45
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
46
|
-
if (k) {
|
|
47
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
48
|
-
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
49
|
-
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
50
|
-
}
|
|
51
|
-
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
52
|
-
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
53
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
54
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
55
|
-
}
|
|
56
|
-
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
57
|
-
};
|
|
58
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
59
|
-
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
60
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
61
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
62
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
63
18
|
var Plugin_exports = {};
|
|
64
19
|
__export(Plugin_exports, {
|
|
65
20
|
PluginWebhook: () => PluginWebhook
|
|
66
21
|
});
|
|
67
22
|
module.exports = __toCommonJS(Plugin_exports);
|
|
68
23
|
var import_server = require("@tachybase/server");
|
|
69
|
-
var
|
|
70
|
-
var
|
|
71
|
-
var
|
|
72
|
-
var
|
|
73
|
-
var
|
|
24
|
+
var import_utils = require("@tachybase/utils");
|
|
25
|
+
var import_constants = require("../constants");
|
|
26
|
+
var import_EventSourceModel = require("../model/EventSourceModel");
|
|
27
|
+
var import_AppEventTrigger = require("../trigger/AppEventTrigger");
|
|
28
|
+
var import_CustionActionTrigger = require("../trigger/CustionActionTrigger");
|
|
29
|
+
var import_DatabaseEventTrigger = require("../trigger/DatabaseEventTrigger");
|
|
30
|
+
var import_ResourceEventTrigger = require("../trigger/ResourceEventTrigger");
|
|
74
31
|
var import_webhooks = require("./webhooks");
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
class PluginWebhook extends (_a = import_server.Plugin) {
|
|
32
|
+
class PluginWebhook extends import_server.Plugin {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.triggers = new import_utils.Registry();
|
|
36
|
+
}
|
|
37
|
+
async beforeLoad() {
|
|
38
|
+
this.app.db.registerModels({
|
|
39
|
+
EventSourceModel: import_EventSourceModel.EventSourceModel
|
|
40
|
+
});
|
|
41
|
+
}
|
|
86
42
|
async load() {
|
|
87
43
|
this.app.resourcer.define({
|
|
88
44
|
name: "webhooks",
|
|
@@ -92,11 +48,105 @@ class PluginWebhook extends (_a = import_server.Plugin) {
|
|
|
92
48
|
}
|
|
93
49
|
});
|
|
94
50
|
this.app.acl.allow("webhooks", ["trigger", "test"], "loggedIn");
|
|
51
|
+
this.app.resourcer.use(
|
|
52
|
+
async (ctx, next) => {
|
|
53
|
+
await next();
|
|
54
|
+
const { resourceName, actionName } = ctx.action;
|
|
55
|
+
if (resourceName === "webhooks") {
|
|
56
|
+
if (actionName === "list") {
|
|
57
|
+
const rows = ctx.body.rows;
|
|
58
|
+
rows.forEach((model) => {
|
|
59
|
+
const trigger = this.triggers.get(model.type);
|
|
60
|
+
if (!trigger) {
|
|
61
|
+
model.effect = true;
|
|
62
|
+
} else {
|
|
63
|
+
model.effect = trigger.getEffect(model);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
} else if (actionName === "get") {
|
|
67
|
+
const model = ctx.body;
|
|
68
|
+
const trigger = this.triggers.get(model.type);
|
|
69
|
+
if (trigger) {
|
|
70
|
+
model.effectConfig = trigger.getEffectConfig(model.id);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
{ tag: "webhooks-show-effect" }
|
|
76
|
+
);
|
|
77
|
+
this.triggers.register("resource", new import_CustionActionTrigger.CustomActionTrigger(this.app, import_constants.EVENT_SOURCE_REALTIME));
|
|
78
|
+
this.triggers.register("beforeResource", new import_ResourceEventTrigger.ResourceEventTrigger(this.app, import_constants.EVENT_SOURCE_REALTIME));
|
|
79
|
+
this.triggers.register("afterResource", new import_ResourceEventTrigger.ResourceEventTrigger(this.app, import_constants.EVENT_SOURCE_REALTIME));
|
|
80
|
+
this.triggers.register("applicationEvent", new import_AppEventTrigger.AppEventTrigger(this.app, import_constants.EVENT_SOURCE_REALTIME));
|
|
81
|
+
this.triggers.register("databaseEvent", new import_DatabaseEventTrigger.DatabaseEventTrigger(this.app, import_constants.EVENT_SOURCE_REALTIME));
|
|
82
|
+
await this.db.sync();
|
|
83
|
+
await this.loadEventSources();
|
|
84
|
+
}
|
|
85
|
+
async loadEventSources() {
|
|
86
|
+
const repo = this.db.getRepository(import_constants.EVENT_SOURCE_COLLECTION);
|
|
87
|
+
const list = await repo.find({
|
|
88
|
+
filter: {
|
|
89
|
+
enabled: true
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
for (const item of list) {
|
|
93
|
+
const trigger = this.triggers.get(item.type);
|
|
94
|
+
trigger == null ? void 0 : trigger.load(item);
|
|
95
|
+
trigger == null ? void 0 : trigger.workSetAdd(item.id);
|
|
96
|
+
trigger == null ? void 0 : trigger.effectConfigSet(item.id, item.toJSON());
|
|
97
|
+
}
|
|
98
|
+
for (const trigger of this.triggers.getValues()) {
|
|
99
|
+
await trigger.afterAllLoad();
|
|
100
|
+
}
|
|
101
|
+
this.db.on(`${import_constants.EVENT_SOURCE_COLLECTION}.afterCreate`, async (model) => {
|
|
102
|
+
const trigger = this.triggers.get(model.type);
|
|
103
|
+
if (!(trigger == null ? void 0 : trigger.getRealTimeRefresh())) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (model.enabled) {
|
|
107
|
+
await trigger.afterCreate(model);
|
|
108
|
+
trigger.workSetAdd(model.id);
|
|
109
|
+
trigger.effectConfigSet(model.id, model.toJSON());
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
this.db.on(`${import_constants.EVENT_SOURCE_COLLECTION}.beforeUpdate`, async (model, options) => {
|
|
113
|
+
const trigger = this.triggers.get(model.type);
|
|
114
|
+
if (!(trigger == null ? void 0 : trigger.getRealTimeRefresh())) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
if (options.values.type && options.values.type !== model.type) {
|
|
118
|
+
await trigger.afterDestroy(model);
|
|
119
|
+
trigger.workSetDelete(model.id);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
this.db.on(`${import_constants.EVENT_SOURCE_COLLECTION}.afterUpdate`, async (model, options) => {
|
|
123
|
+
const trigger = this.triggers.get(model.type);
|
|
124
|
+
if (!(trigger == null ? void 0 : trigger.getRealTimeRefresh())) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
trigger.effectConfigSet(model.id, model.toJSON());
|
|
128
|
+
await trigger.afterUpdate(model);
|
|
129
|
+
if (options.values.type && options.values.type !== model.type) {
|
|
130
|
+
await trigger.afterCreate(model);
|
|
131
|
+
trigger.workSetAdd(model.id);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
if (model.enabled) {
|
|
135
|
+
trigger == null ? void 0 : trigger.workSetAdd(model.id);
|
|
136
|
+
} else {
|
|
137
|
+
trigger == null ? void 0 : trigger.workSetDelete(model.id);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
this.db.on(`${import_constants.EVENT_SOURCE_COLLECTION}.afterDestroy`, async (model) => {
|
|
141
|
+
const trigger = this.triggers.get(model.type);
|
|
142
|
+
if (!(trigger == null ? void 0 : trigger.getRealTimeRefresh())) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
await trigger.afterDestroy(model);
|
|
146
|
+
trigger.workSetDelete(model.id);
|
|
147
|
+
});
|
|
95
148
|
}
|
|
96
149
|
}
|
|
97
|
-
_init = __decoratorStart(_a);
|
|
98
|
-
PluginWebhook = __decorateElement(_init, 0, "PluginWebhook", _PluginWebhook_decorators, PluginWebhook);
|
|
99
|
-
__runInitializers(_init, 1, PluginWebhook);
|
|
100
150
|
// Annotate the CommonJS export names for ESM import in node:
|
|
101
151
|
0 && (module.exports = {
|
|
102
152
|
PluginWebhook
|
|
@@ -34,6 +34,7 @@ module.exports = __toCommonJS(webhooks_exports);
|
|
|
34
34
|
var import_module_workflow = require("@tachybase/module-workflow");
|
|
35
35
|
var import_utils = require("@tachybase/utils");
|
|
36
36
|
var import_lodash = __toESM(require("lodash"));
|
|
37
|
+
var import_constants = require("../constants");
|
|
37
38
|
var import_eval_simulate = require("../utils/eval-simulate");
|
|
38
39
|
function isSameBasic(val1, val2) {
|
|
39
40
|
if (val1 instanceof Date || val2 instanceof Date) {
|
|
@@ -184,7 +185,7 @@ class WebhookController {
|
|
|
184
185
|
roleName: currentRole
|
|
185
186
|
};
|
|
186
187
|
const pluginWorkflow = ctx.app.getPlugin(import_module_workflow.PluginWorkflow);
|
|
187
|
-
const repo = ctx.db.getRepository(
|
|
188
|
+
const repo = ctx.db.getRepository(import_constants.EVENT_SOURCE_COLLECTION);
|
|
188
189
|
const webhook = await repo.findOne(where);
|
|
189
190
|
const webhookCtx = {
|
|
190
191
|
request: ctx.request,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tachybase/module-event-source",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.47",
|
|
4
4
|
"main": "dist/server/index.js",
|
|
5
5
|
"dependencies": {},
|
|
6
6
|
"devDependencies": {
|
|
@@ -10,17 +10,17 @@
|
|
|
10
10
|
"sequelize": "6.37.5"
|
|
11
11
|
},
|
|
12
12
|
"peerDependencies": {
|
|
13
|
-
"@tachybase/
|
|
14
|
-
"@tachybase/
|
|
15
|
-
"@tachybase/components": "0.23.
|
|
16
|
-
"@tachybase/
|
|
17
|
-
"@tachybase/
|
|
18
|
-
"@tachybase/module-workflow": "0.23.
|
|
19
|
-
"@tachybase/
|
|
20
|
-
"@tachybase/
|
|
21
|
-
"@tachybase/
|
|
22
|
-
"@tachybase/
|
|
23
|
-
"@tachybase/
|
|
13
|
+
"@tachybase/actions": "0.23.47",
|
|
14
|
+
"@tachybase/data-source": "0.23.47",
|
|
15
|
+
"@tachybase/components": "0.23.47",
|
|
16
|
+
"@tachybase/database": "0.23.47",
|
|
17
|
+
"@tachybase/resourcer": "0.23.47",
|
|
18
|
+
"@tachybase/module-workflow": "0.23.47",
|
|
19
|
+
"@tachybase/client": "0.23.47",
|
|
20
|
+
"@tachybase/server": "0.23.47",
|
|
21
|
+
"@tachybase/schema": "0.23.47",
|
|
22
|
+
"@tachybase/test": "0.23.47",
|
|
23
|
+
"@tachybase/utils": "0.23.47"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tachybase-build --no-dts @tachybase/module-event-source"
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
-
var __typeError = (msg) => {
|
|
8
|
-
throw TypeError(msg);
|
|
9
|
-
};
|
|
10
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
-
var __export = (target, all) => {
|
|
13
|
-
for (var name in all)
|
|
14
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
-
};
|
|
16
|
-
var __copyProps = (to, from, except, desc) => {
|
|
17
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
-
for (let key of __getOwnPropNames(from))
|
|
19
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
-
}
|
|
22
|
-
return to;
|
|
23
|
-
};
|
|
24
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
26
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
27
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
28
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
29
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
30
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
31
|
-
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
35
|
-
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
36
|
-
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
37
|
-
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
38
|
-
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
39
|
-
return __privateGet(this, extra);
|
|
40
|
-
}, set [name](x) {
|
|
41
|
-
return __privateSet(this, extra, x);
|
|
42
|
-
} }, name));
|
|
43
|
-
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
44
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
45
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
46
|
-
if (k) {
|
|
47
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
48
|
-
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
49
|
-
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
50
|
-
}
|
|
51
|
-
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
52
|
-
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
53
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
54
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
55
|
-
}
|
|
56
|
-
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
57
|
-
};
|
|
58
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
59
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
60
|
-
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
61
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
62
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
63
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
64
|
-
var ActionAPIService_exports = {};
|
|
65
|
-
__export(ActionAPIService_exports, {
|
|
66
|
-
ActionAPIService: () => ActionAPIService
|
|
67
|
-
});
|
|
68
|
-
module.exports = __toCommonJS(ActionAPIService_exports);
|
|
69
|
-
var import_utils = require("@tachybase/utils");
|
|
70
|
-
var import_webhooks = require("../webhooks/webhooks");
|
|
71
|
-
var _app_dec, _ActionAPIService_decorators, _init;
|
|
72
|
-
_ActionAPIService_decorators = [(0, import_utils.Service)()], _app_dec = [(0, import_utils.App)()];
|
|
73
|
-
class ActionAPIService {
|
|
74
|
-
constructor() {
|
|
75
|
-
__publicField(this, "app", __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
|
|
76
|
-
}
|
|
77
|
-
async load() {
|
|
78
|
-
this.app.acl.use(
|
|
79
|
-
async (ctx, next) => {
|
|
80
|
-
const app = this.app;
|
|
81
|
-
if (import_utils.lodash.isEmpty(ctx.action.params)) {
|
|
82
|
-
await next();
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
const { resourceName, actionName } = ctx.action;
|
|
86
|
-
const webhooksRepo = ctx.db.getRepository("webhooks");
|
|
87
|
-
const actions = await app.cache.wrap(
|
|
88
|
-
"webhooks",
|
|
89
|
-
async () => {
|
|
90
|
-
return await webhooksRepo.find({
|
|
91
|
-
filter: {
|
|
92
|
-
enabled: true,
|
|
93
|
-
type: "action"
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
},
|
|
97
|
-
30 * 60 * 1e3
|
|
98
|
-
);
|
|
99
|
-
const actionObj = {};
|
|
100
|
-
const actionList = actions.filter((action) => {
|
|
101
|
-
return resourceName === action["resourceName"] && actionName === action["actionName"];
|
|
102
|
-
});
|
|
103
|
-
for (const action of actionList) {
|
|
104
|
-
actionObj[action.id] = await new import_webhooks.WebhookController().action(ctx, action);
|
|
105
|
-
}
|
|
106
|
-
await next();
|
|
107
|
-
for (const action of actionList) {
|
|
108
|
-
await new import_webhooks.WebhookController().triggerWorkflow(ctx, action, actionObj[action.id]);
|
|
109
|
-
}
|
|
110
|
-
},
|
|
111
|
-
{ tag: "api-webhook", after: "core" }
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
_init = __decoratorStart(null);
|
|
116
|
-
__decorateElement(_init, 5, "app", _app_dec, ActionAPIService);
|
|
117
|
-
ActionAPIService = __decorateElement(_init, 0, "ActionAPIService", _ActionAPIService_decorators, ActionAPIService);
|
|
118
|
-
__runInitializers(_init, 1, ActionAPIService);
|
|
119
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
120
|
-
0 && (module.exports = {
|
|
121
|
-
ActionAPIService
|
|
122
|
-
});
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
-
var __typeError = (msg) => {
|
|
8
|
-
throw TypeError(msg);
|
|
9
|
-
};
|
|
10
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
12
|
-
var __export = (target, all) => {
|
|
13
|
-
for (var name in all)
|
|
14
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
15
|
-
};
|
|
16
|
-
var __copyProps = (to, from, except, desc) => {
|
|
17
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
18
|
-
for (let key of __getOwnPropNames(from))
|
|
19
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
20
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
21
|
-
}
|
|
22
|
-
return to;
|
|
23
|
-
};
|
|
24
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
26
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
27
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
28
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
29
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
30
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
31
|
-
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
35
|
-
var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
|
|
36
|
-
var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
|
|
37
|
-
var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
|
|
38
|
-
var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : { get [name]() {
|
|
39
|
-
return __privateGet(this, extra);
|
|
40
|
-
}, set [name](x) {
|
|
41
|
-
return __privateSet(this, extra, x);
|
|
42
|
-
} }, name));
|
|
43
|
-
k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
|
|
44
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
45
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
46
|
-
if (k) {
|
|
47
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => name in x };
|
|
48
|
-
if (k ^ 3) access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
|
|
49
|
-
if (k > 2) access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
|
|
50
|
-
}
|
|
51
|
-
it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? void 0 : { get: desc.get, set: desc.set } : target, ctx), done._ = 1;
|
|
52
|
-
if (k ^ 4 || it === void 0) __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
|
|
53
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
54
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
55
|
-
}
|
|
56
|
-
return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
|
|
57
|
-
};
|
|
58
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
59
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
60
|
-
var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
|
|
61
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
62
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
63
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
64
|
-
var ApplicationEventService_exports = {};
|
|
65
|
-
__export(ApplicationEventService_exports, {
|
|
66
|
-
ApplicationEventService: () => ApplicationEventService
|
|
67
|
-
});
|
|
68
|
-
module.exports = __toCommonJS(ApplicationEventService_exports);
|
|
69
|
-
var import_module_workflow = require("@tachybase/module-workflow");
|
|
70
|
-
var import_utils = require("@tachybase/utils");
|
|
71
|
-
var import_eval_simulate = require("../utils/eval-simulate");
|
|
72
|
-
var _logger_dec, _app_dec, _ApplicationEventService_decorators, _init;
|
|
73
|
-
_ApplicationEventService_decorators = [(0, import_utils.Service)()], _app_dec = [(0, import_utils.App)()], _logger_dec = [(0, import_utils.InjectLog)()];
|
|
74
|
-
class ApplicationEventService {
|
|
75
|
-
constructor() {
|
|
76
|
-
__publicField(this, "app", __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
|
|
77
|
-
__publicField(this, "logger", __runInitializers(_init, 12, this)), __runInitializers(_init, 15, this);
|
|
78
|
-
}
|
|
79
|
-
async load() {
|
|
80
|
-
const webhooksRepo = this.app.db.getRepository("webhooks");
|
|
81
|
-
const resources = await webhooksRepo.find({
|
|
82
|
-
filter: {
|
|
83
|
-
enabled: true,
|
|
84
|
-
type: "applicationEvent"
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
for (const resourceDef of resources) {
|
|
88
|
-
const { eventName, workflowKey, code } = resourceDef;
|
|
89
|
-
this.logger.info("Add application event listener", { meta: { eventName, workflowKey } });
|
|
90
|
-
this.app.on(eventName, async () => {
|
|
91
|
-
const webhookCtx = {
|
|
92
|
-
body: ""
|
|
93
|
-
};
|
|
94
|
-
try {
|
|
95
|
-
await (0, import_eval_simulate.evalSimulate)(code, {
|
|
96
|
-
ctx: webhookCtx,
|
|
97
|
-
lib: {
|
|
98
|
-
JSON,
|
|
99
|
-
Math
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
} catch (err) {
|
|
103
|
-
this.logger.error(err);
|
|
104
|
-
}
|
|
105
|
-
if (!workflowKey) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
const pluginWorkflow = this.app.getPlugin(import_module_workflow.PluginWorkflow);
|
|
109
|
-
const wfRepo = this.app.db.getRepository("workflows");
|
|
110
|
-
const wf = await wfRepo.findOne({ filter: { key: workflowKey, enabled: true } });
|
|
111
|
-
await pluginWorkflow.trigger(wf, { data: webhookCtx.body }, {});
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
_init = __decoratorStart(null);
|
|
117
|
-
__decorateElement(_init, 5, "app", _app_dec, ApplicationEventService);
|
|
118
|
-
__decorateElement(_init, 5, "logger", _logger_dec, ApplicationEventService);
|
|
119
|
-
ApplicationEventService = __decorateElement(_init, 0, "ApplicationEventService", _ApplicationEventService_decorators, ApplicationEventService);
|
|
120
|
-
__runInitializers(_init, 1, ApplicationEventService);
|
|
121
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
122
|
-
0 && (module.exports = {
|
|
123
|
-
ApplicationEventService
|
|
124
|
-
});
|