@contember/engine-actions 1.3.0-alpha.8 → 1.3.0-beta.1
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/src/authorization/ActionsAuthorizationActions.d.ts +27 -0
- package/dist/src/authorization/ActionsAuthorizationActions.d.ts.map +1 -0
- package/dist/src/authorization/ActionsAuthorizationActions.js +17 -0
- package/dist/src/authorization/ActionsAuthorizationActions.js.map +1 -0
- package/dist/src/authorization/ActionsPermissionsFactory.d.ts +5 -0
- package/dist/src/authorization/ActionsPermissionsFactory.d.ts.map +1 -0
- package/dist/src/authorization/ActionsPermissionsFactory.js +17 -0
- package/dist/src/authorization/ActionsPermissionsFactory.js.map +1 -0
- package/dist/src/authorization/Identity.d.ts +5 -0
- package/dist/src/authorization/Identity.d.ts.map +1 -0
- package/dist/src/authorization/Identity.js +3 -0
- package/dist/src/authorization/Identity.js.map +1 -0
- package/dist/src/authorization/index.d.ts +4 -0
- package/dist/src/authorization/index.d.ts.map +1 -0
- package/dist/src/authorization/index.js +20 -0
- package/dist/src/authorization/index.js.map +1 -0
- package/dist/src/dispatch/EventDispatcher.d.ts +2 -2
- package/dist/src/dispatch/EventDispatcher.d.ts.map +1 -1
- package/dist/src/dispatch/EventsRepository.d.ts +1 -1
- package/dist/src/dispatch/EventsRepository.d.ts.map +1 -1
- package/dist/src/dispatch/EventsRepository.js +1 -1
- package/dist/src/dispatch/EventsRepository.js.map +1 -1
- package/dist/src/dispatch/WebhookFetcher.d.ts +14 -0
- package/dist/src/dispatch/WebhookFetcher.d.ts.map +1 -0
- package/dist/src/dispatch/WebhookFetcher.js +17 -0
- package/dist/src/dispatch/WebhookFetcher.js.map +1 -0
- package/dist/src/dispatch/WebhookTargetHandler.d.ts +8 -0
- package/dist/src/dispatch/WebhookTargetHandler.d.ts.map +1 -1
- package/dist/src/dispatch/WebhookTargetHandler.js +144 -44
- package/dist/src/dispatch/WebhookTargetHandler.js.map +1 -1
- package/dist/src/dispatch/types.d.ts +23 -2
- package/dist/src/dispatch/types.d.ts.map +1 -1
- package/dist/src/graphql/http/ActionsApiMiddlewareFactory.d.ts +4 -1
- package/dist/src/graphql/http/ActionsApiMiddlewareFactory.d.ts.map +1 -1
- package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js +10 -2
- package/dist/src/graphql/http/ActionsApiMiddlewareFactory.js.map +1 -1
- package/dist/src/graphql/http/ActionsContextResolver.d.ts +8 -5
- package/dist/src/graphql/http/ActionsContextResolver.d.ts.map +1 -1
- package/dist/src/graphql/http/ActionsContextResolver.js +6 -4
- package/dist/src/graphql/http/ActionsContextResolver.js.map +1 -1
- package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.d.ts +1 -1
- package/dist/src/graphql/http/ActionsGraphQLHandlerFactory.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/ActionsContext.d.ts +2 -0
- package/dist/src/graphql/resolvers/ActionsContext.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js +2 -0
- package/dist/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.js.map +1 -1
- package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js +2 -0
- package/dist/src/graphql/resolvers/mutation/SetVariablesMutationResolver.js.map +1 -1
- package/dist/src/graphql/resolvers/query/EventsQueryResolver.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/query/EventsQueryResolver.js +4 -0
- package/dist/src/graphql/resolvers/query/EventsQueryResolver.js.map +1 -1
- package/dist/src/graphql/resolvers/query/VariablesQueryResolver.d.ts.map +1 -1
- package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js +2 -0
- package/dist/src/graphql/resolvers/query/VariablesQueryResolver.js.map +1 -1
- package/dist/src/graphql/schema/index.d.ts +43 -43
- package/dist/src/graphql/schema/index.d.ts.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/model/VariablesManager.d.ts +1 -1
- package/dist/src/model/VariablesManager.d.ts.map +1 -1
- package/dist/src/model/VariablesQuery.d.ts +1 -1
- package/dist/src/model/VariablesQuery.d.ts.map +1 -1
- package/dist/src/model/types.d.ts +7 -4
- package/dist/src/model/types.d.ts.map +1 -1
- package/dist/src/triggers/Payload.d.ts +9 -14
- package/dist/src/triggers/Payload.d.ts.map +1 -1
- package/dist/src/triggers/TriggerHandler.d.ts +1 -1
- package/dist/src/triggers/TriggerHandler.d.ts.map +1 -1
- package/dist/src/triggers/TriggerListenersStore.d.ts +1 -1
- package/dist/src/triggers/TriggerListenersStore.d.ts.map +1 -1
- package/dist/src/triggers/TriggerPayloadBuilder.js +4 -4
- package/dist/src/triggers/TriggerPayloadBuilder.js.map +1 -1
- package/dist/src/triggers/TriggerPayloadManager.d.ts +1 -1
- package/dist/src/triggers/TriggerPayloadManager.d.ts.map +1 -1
- package/dist/src/triggers/TriggerPayloadPersister.d.ts.map +1 -1
- package/dist/src/triggers/TriggerPayloadPersister.js +3 -1
- package/dist/src/triggers/TriggerPayloadPersister.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/triggers.rootWatch.test.js +63 -0
- package/dist/tests/cases/integration/triggers.rootWatch.test.js.map +1 -1
- package/dist/tests/cases/unit/webhookHandler.test.d.ts +2 -0
- package/dist/tests/cases/unit/webhookHandler.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/webhookHandler.test.js +248 -0
- package/dist/tests/cases/unit/webhookHandler.test.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -17
- package/src/authorization/ActionsAuthorizationActions.ts +14 -0
- package/src/authorization/ActionsPermissionsFactory.ts +14 -0
- package/src/authorization/Identity.ts +4 -0
- package/src/authorization/index.ts +3 -0
- package/src/dispatch/EventsRepository.ts +1 -1
- package/src/dispatch/WebhookFetcher.ts +24 -0
- package/src/dispatch/WebhookTargetHandler.ts +149 -46
- package/src/dispatch/types.ts +27 -0
- package/src/graphql/http/ActionsApiMiddlewareFactory.ts +10 -1
- package/src/graphql/http/ActionsContextResolver.ts +15 -6
- package/src/graphql/resolvers/ActionsContext.ts +2 -0
- package/src/graphql/resolvers/mutation/ProcessBatchMutationResolver.ts +3 -0
- package/src/graphql/resolvers/mutation/SetVariablesMutationResolver.ts +3 -0
- package/src/graphql/resolvers/query/EventsQueryResolver.ts +7 -0
- package/src/graphql/resolvers/query/VariablesQueryResolver.ts +3 -0
- package/src/index.ts +9 -3
- package/src/model/types.ts +7 -3
- package/src/triggers/Payload.ts +0 -8
- package/src/triggers/TriggerPayloadBuilder.ts +1 -1
- package/src/triggers/TriggerPayloadPersister.ts +10 -1
- package/src/tsconfig.json +1 -0
- package/tests/cases/integration/triggers.rootWatch.test.ts +64 -0
- package/tests/cases/unit/webhookHandler.test.ts +275 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare namespace ActionsAuthorizationActions {
|
|
2
|
+
enum Resources {
|
|
3
|
+
variables = "variables",
|
|
4
|
+
events = "events"
|
|
5
|
+
}
|
|
6
|
+
const VARIABLES_VIEW: {
|
|
7
|
+
resource: string;
|
|
8
|
+
privilege: string;
|
|
9
|
+
meta?: undefined;
|
|
10
|
+
};
|
|
11
|
+
const VARIABLES_SET: {
|
|
12
|
+
resource: string;
|
|
13
|
+
privilege: string;
|
|
14
|
+
meta?: undefined;
|
|
15
|
+
};
|
|
16
|
+
const EVENTS_VIEW: {
|
|
17
|
+
resource: string;
|
|
18
|
+
privilege: string;
|
|
19
|
+
meta?: undefined;
|
|
20
|
+
};
|
|
21
|
+
const EVENTS_PROCESS: {
|
|
22
|
+
resource: string;
|
|
23
|
+
privilege: string;
|
|
24
|
+
meta?: undefined;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=ActionsAuthorizationActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsAuthorizationActions.d.ts","sourceRoot":"","sources":["../../../src/authorization/ActionsAuthorizationActions.ts"],"names":[],"mappings":"AAEA,yBAAiB,2BAA2B,CAAC;IAC5C,KAAY,SAAS;QACpB,SAAS,cAAc;QACvB,MAAM,WAAW;KACjB;IAEM,MAAM,cAAc;;;;KAAyD,CAAA;IAC7E,MAAM,aAAa;;;;KAAwD,CAAA;IAE3E,MAAM,WAAW;;;;KAAsD,CAAA;IACvE,MAAM,cAAc;;;;KAAyD,CAAA;CACpF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActionsAuthorizationActions = void 0;
|
|
4
|
+
const authorization_1 = require("@contember/authorization");
|
|
5
|
+
var ActionsAuthorizationActions;
|
|
6
|
+
(function (ActionsAuthorizationActions) {
|
|
7
|
+
let Resources;
|
|
8
|
+
(function (Resources) {
|
|
9
|
+
Resources["variables"] = "variables";
|
|
10
|
+
Resources["events"] = "events";
|
|
11
|
+
})(Resources = ActionsAuthorizationActions.Resources || (ActionsAuthorizationActions.Resources = {}));
|
|
12
|
+
ActionsAuthorizationActions.VARIABLES_VIEW = authorization_1.Authorizator.createAction(Resources.variables, 'view');
|
|
13
|
+
ActionsAuthorizationActions.VARIABLES_SET = authorization_1.Authorizator.createAction(Resources.variables, 'set');
|
|
14
|
+
ActionsAuthorizationActions.EVENTS_VIEW = authorization_1.Authorizator.createAction(Resources.events, 'view');
|
|
15
|
+
ActionsAuthorizationActions.EVENTS_PROCESS = authorization_1.Authorizator.createAction(Resources.events, 'process');
|
|
16
|
+
})(ActionsAuthorizationActions || (exports.ActionsAuthorizationActions = ActionsAuthorizationActions = {}));
|
|
17
|
+
//# sourceMappingURL=ActionsAuthorizationActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsAuthorizationActions.js","sourceRoot":"","sources":["../../../src/authorization/ActionsAuthorizationActions.ts"],"names":[],"mappings":";;;AAAA,4DAAuD;AAEvD,IAAiB,2BAA2B,CAW3C;AAXD,WAAiB,2BAA2B;IAC3C,IAAY,SAGX;IAHD,WAAY,SAAS;QACpB,oCAAuB,CAAA;QACvB,8BAAiB,CAAA;IAClB,CAAC,EAHW,SAAS,GAAT,qCAAS,KAAT,qCAAS,QAGpB;IAEY,0CAAc,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACvE,yCAAa,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAErE,uCAAW,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjE,0CAAc,GAAG,4BAAY,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACrF,CAAC,EAXgB,2BAA2B,2CAA3B,2BAA2B,QAW3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsPermissionsFactory.d.ts","sourceRoot":"","sources":["../../../src/authorization/ActionsPermissionsFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAItD,qBAAa,yBAAyB;IAC9B,MAAM,IAAI,WAAW;CAQ5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ActionsPermissionsFactory = void 0;
|
|
4
|
+
const authorization_1 = require("@contember/authorization");
|
|
5
|
+
const schema_1 = require("@contember/schema");
|
|
6
|
+
const ActionsAuthorizationActions_1 = require("./ActionsAuthorizationActions");
|
|
7
|
+
class ActionsPermissionsFactory {
|
|
8
|
+
create() {
|
|
9
|
+
const permissions = new authorization_1.Permissions();
|
|
10
|
+
permissions.allow(schema_1.ProjectRole.ADMIN, { resource: authorization_1.Permissions.ALL, privilege: authorization_1.Permissions.ALL });
|
|
11
|
+
permissions.allow(schema_1.ProjectRole.DEPLOYER, ActionsAuthorizationActions_1.ActionsAuthorizationActions.VARIABLES_SET);
|
|
12
|
+
permissions.allow(schema_1.ProjectRole.DEPLOYER, ActionsAuthorizationActions_1.ActionsAuthorizationActions.VARIABLES_VIEW);
|
|
13
|
+
return permissions;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ActionsPermissionsFactory = ActionsPermissionsFactory;
|
|
17
|
+
//# sourceMappingURL=ActionsPermissionsFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsPermissionsFactory.js","sourceRoot":"","sources":["../../../src/authorization/ActionsPermissionsFactory.ts"],"names":[],"mappings":";;;AAAA,4DAAsD;AACtD,8CAA+C;AAC/C,+EAA2E;AAE3E,MAAa,yBAAyB;IAC9B,MAAM;QACZ,MAAM,WAAW,GAAG,IAAI,2BAAW,EAAE,CAAA;QACrC,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,2BAAW,CAAC,GAAG,EAAE,SAAS,EAAE,2BAAW,CAAC,GAAG,EAAE,CAAC,CAAA;QAC/F,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,QAAQ,EAAE,yDAA2B,CAAC,aAAa,CAAC,CAAA;QAClF,WAAW,CAAC,KAAK,CAAC,oBAAW,CAAC,QAAQ,EAAE,yDAA2B,CAAC,cAAc,CAAC,CAAA;QAEnF,OAAO,WAAW,CAAA;IACnB,CAAC;CACD;AATD,8DASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Identity.d.ts","sourceRoot":"","sources":["../../../src/authorization/Identity.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Identity.js","sourceRoot":"","sources":["../../../src/authorization/Identity.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/authorization/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Identity"), exports);
|
|
18
|
+
__exportStar(require("./ActionsAuthorizationActions"), exports);
|
|
19
|
+
__exportStar(require("./ActionsPermissionsFactory"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/authorization/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,gEAA6C;AAC7C,8DAA2C"}
|
|
@@ -4,12 +4,12 @@ import { Logger } from '@contember/logger';
|
|
|
4
4
|
import { ContentSchemaResolver } from '@contember/engine-http';
|
|
5
5
|
import { DatabaseContext } from '@contember/engine-system-api';
|
|
6
6
|
import { VariablesManager } from '../model/VariablesManager';
|
|
7
|
-
|
|
7
|
+
type ProcessBatchArgs = {
|
|
8
8
|
db: DatabaseContext;
|
|
9
9
|
contentSchemaResolver: ContentSchemaResolver;
|
|
10
10
|
logger: Logger;
|
|
11
11
|
};
|
|
12
|
-
|
|
12
|
+
type ProcessBatchResult = {
|
|
13
13
|
succeed: number;
|
|
14
14
|
failed: number;
|
|
15
15
|
backoffMs: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/dispatch/EventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,
|
|
1
|
+
{"version":3,"file":"EventDispatcher.d.ts","sourceRoot":"","sources":["../../../src/dispatch/EventDispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D,KAAK,gBAAgB,GAAG;IACvB,EAAE,EAAE,eAAe,CAAA;IACnB,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,MAAM,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,kBAAkB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,qBAAa,eAAe;IAG1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,qBAAqB;IAIjD,YAAY,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiCxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsRepository.d.ts","sourceRoot":"","sources":["../../../src/dispatch/EventsRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EAQN,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAS3C,qBAAa,gBAAgB;IAEf,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAgBzE,YAAY;YAaZ,aAAa;IAuBd,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAe/E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAYrD,WAAW;YAcX,UAAU;YAsBV,yBAAyB;CAuBvC;AAED,
|
|
1
|
+
{"version":3,"file":"EventsRepository.d.ts","sourceRoot":"","sources":["../../../src/dispatch/EventsRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EAQN,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAS3C,qBAAa,gBAAgB;IAEf,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAgBzE,YAAY;YAaZ,aAAa;IAuBd,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAe/E,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAYrD,WAAW;YAcX,UAAU;YAsBV,yBAAyB;CAuBvC;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GAC3D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA"}
|
|
@@ -6,7 +6,7 @@ const EventsToProcessSpecification_1 = require("../model/EventsToProcessSpecific
|
|
|
6
6
|
const ACK_TIMEOUT_MS = 1000 * 60 * 10; // 10 minutes
|
|
7
7
|
const DEFAULT_REPEAT_INTERVAL_MS = 5000; // 5 seconds
|
|
8
8
|
const DEFAULT_MAX_ATTEMPTS = 10;
|
|
9
|
-
const DEFAULT_BATCH_SIZE =
|
|
9
|
+
const DEFAULT_BATCH_SIZE = 1;
|
|
10
10
|
class EventsRepository {
|
|
11
11
|
async fetchBatch(actions, db) {
|
|
12
12
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventsRepository.js","sourceRoot":"","sources":["../../../src/dispatch/EventsRepository.ts"],"names":[],"mappings":";;;AAAA,kDAS4B;AAG5B,wFAAuH;AAGvH,MAAM,cAAc,GAAG,IAAK,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,aAAa;AACpD,MAAM,0BAA0B,GAAG,IAAK,CAAA,CAAC,YAAY;AACrD,MAAM,oBAAoB,GAAG,EAAE,CAAA;AAC/B,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"EventsRepository.js","sourceRoot":"","sources":["../../../src/dispatch/EventsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type FetcherResponse = {
|
|
2
|
+
readonly headers: Headers;
|
|
3
|
+
readonly ok: boolean;
|
|
4
|
+
readonly status: number;
|
|
5
|
+
readonly statusText: string;
|
|
6
|
+
readonly responseText: string;
|
|
7
|
+
};
|
|
8
|
+
export interface WebhookFetcher {
|
|
9
|
+
fetch(url: string, init: RequestInit): Promise<FetcherResponse>;
|
|
10
|
+
}
|
|
11
|
+
export declare class WebhookFetcherNative implements WebhookFetcher {
|
|
12
|
+
fetch(url: string, init: RequestInit): Promise<FetcherResponse>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=WebhookFetcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebhookFetcher.d.ts","sourceRoot":"","sources":["../../../src/dispatch/WebhookFetcher.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CAC/D;AAED,qBAAa,oBAAqB,YAAW,cAAc;IACpD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC;CAUrE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebhookFetcherNative = void 0;
|
|
4
|
+
class WebhookFetcherNative {
|
|
5
|
+
async fetch(url, init) {
|
|
6
|
+
const response = await fetch(url, init);
|
|
7
|
+
return {
|
|
8
|
+
ok: response.ok,
|
|
9
|
+
headers: response.headers,
|
|
10
|
+
status: response.status,
|
|
11
|
+
statusText: response.statusText,
|
|
12
|
+
responseText: await response.text(),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.WebhookFetcherNative = WebhookFetcherNative;
|
|
17
|
+
//# sourceMappingURL=WebhookFetcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebhookFetcher.js","sourceRoot":"","sources":["../../../src/dispatch/WebhookFetcher.ts"],"names":[],"mappings":";;;AAYA,MAAa,oBAAoB;IAChC,KAAK,CAAC,KAAK,CAAC,GAAW,EAAE,IAAiB;QACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO;YACN,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,YAAY,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;SACnC,CAAA;IACF,CAAC;CACD;AAXD,oDAWC"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { Actions } from '@contember/schema';
|
|
2
2
|
import { HandledEvent, InvokeHandler, InvokeHandlerArgs } from './types';
|
|
3
|
+
import { WebhookFetcher } from './WebhookFetcher';
|
|
3
4
|
export declare class WebhookTargetHandler implements InvokeHandler<Actions.WebhookTarget> {
|
|
5
|
+
private readonly fetcher;
|
|
6
|
+
constructor(fetcher: WebhookFetcher);
|
|
4
7
|
handle({ target, events, logger, variables }: InvokeHandlerArgs<Actions.WebhookTarget>): Promise<HandledEvent[]>;
|
|
8
|
+
private createResponseFactory;
|
|
9
|
+
private extractErrorMessages;
|
|
10
|
+
private fetch;
|
|
11
|
+
private doFetch;
|
|
12
|
+
private formatEventPayload;
|
|
5
13
|
private resolveVariables;
|
|
6
14
|
}
|
|
7
15
|
//# sourceMappingURL=WebhookTargetHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookTargetHandler.d.ts","sourceRoot":"","sources":["../../../src/dispatch/WebhookTargetHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"WebhookTargetHandler.d.ts","sourceRoot":"","sources":["../../../src/dispatch/WebhookTargetHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAY,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAuC,MAAM,SAAS,CAAA;AAGvH,OAAO,EAAmB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAmBlE,qBAAa,oBAAqB,YAAW,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC;IAE/E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAI5B,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiC7H,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,oBAAoB;YAUd,KAAK;YAML,OAAO;IAqBrB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;CAQxB"}
|
|
@@ -1,65 +1,164 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.WebhookTargetHandler = void 0;
|
|
27
|
+
const Typesafe = __importStar(require("@contember/typesafe"));
|
|
4
28
|
const DEFAULT_TIMEOUT_MS = 30000; // 30 seconds
|
|
29
|
+
const ResponseType = Typesafe.noExtraProps(Typesafe.object({
|
|
30
|
+
failures: Typesafe.array(Typesafe.intersection(Typesafe.object({
|
|
31
|
+
eventId: Typesafe.string,
|
|
32
|
+
}), Typesafe.partial({
|
|
33
|
+
error: Typesafe.string,
|
|
34
|
+
}))),
|
|
35
|
+
}));
|
|
5
36
|
class WebhookTargetHandler {
|
|
37
|
+
constructor(fetcher) {
|
|
38
|
+
this.fetcher = fetcher;
|
|
39
|
+
}
|
|
6
40
|
async handle({ target, events, logger, variables }) {
|
|
7
|
-
var _a;
|
|
8
|
-
const abortController = new AbortController();
|
|
9
41
|
const timeoutMs = target.timeoutMs;
|
|
10
42
|
const start = process.hrtime.bigint();
|
|
11
43
|
const getDuration = () => Math.floor(Number((process.hrtime.bigint() - start) / BigInt(1000000)));
|
|
44
|
+
let eventResponseFactory;
|
|
12
45
|
try {
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return await fetch(resolvedUrl, {
|
|
18
|
-
method: 'POST',
|
|
19
|
-
headers: {
|
|
20
|
-
['User-Agent']: 'Contember Actions',
|
|
21
|
-
...resolvedHeaders,
|
|
22
|
-
['Content-type']: 'application/json',
|
|
23
|
-
},
|
|
24
|
-
signal: abortController.signal,
|
|
25
|
-
body: JSON.stringify({
|
|
26
|
-
events: events.map(it => it.payload),
|
|
27
|
-
}),
|
|
28
|
-
});
|
|
46
|
+
const response = await this.fetch(timeoutMs !== null && timeoutMs !== void 0 ? timeoutMs : DEFAULT_TIMEOUT_MS, target, variables, events);
|
|
47
|
+
eventResponseFactory = this.createResponseFactory({
|
|
48
|
+
response: response,
|
|
49
|
+
events,
|
|
29
50
|
});
|
|
30
|
-
let responseText;
|
|
31
|
-
try {
|
|
32
|
-
responseText = await withTimeout({ abortController, timeoutMs }, async () => {
|
|
33
|
-
return await response.text();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
catch (_b) {
|
|
37
|
-
}
|
|
38
|
-
const result = {
|
|
39
|
-
ok: response.ok,
|
|
40
|
-
code: response.status,
|
|
41
|
-
durationMs: getDuration(),
|
|
42
|
-
response: responseText,
|
|
43
|
-
errorMessage: !response.ok ? response.statusText : undefined,
|
|
44
|
-
};
|
|
45
|
-
// todo: per-event response format
|
|
46
|
-
return events.map(it => ({ target, row: it, result }));
|
|
47
51
|
}
|
|
48
52
|
catch (e) {
|
|
49
53
|
logger.warn(e);
|
|
50
|
-
const errorMessages =
|
|
51
|
-
let err = e;
|
|
52
|
-
while (typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string') {
|
|
53
|
-
errorMessages.push(err.message);
|
|
54
|
-
err = err.cause;
|
|
55
|
-
}
|
|
54
|
+
const errorMessages = this.extractErrorMessages(e);
|
|
56
55
|
const result = {
|
|
57
56
|
ok: false,
|
|
58
57
|
errorMessage: errorMessages.length ? errorMessages.join('; ') : undefined,
|
|
59
58
|
durationMs: getDuration(),
|
|
60
59
|
};
|
|
60
|
+
eventResponseFactory = () => ({ ok: false, errorMessage: errorMessages.length ? errorMessages.join('; ') : undefined });
|
|
61
61
|
return events.map(it => ({ target, row: it, result }));
|
|
62
62
|
}
|
|
63
|
+
const durationMs = getDuration();
|
|
64
|
+
return events.map(it => ({ target, row: it, result: { durationMs, ...eventResponseFactory(it) } }));
|
|
65
|
+
}
|
|
66
|
+
createResponseFactory({ response, events }) {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
if (!response.ok) {
|
|
69
|
+
return () => ({
|
|
70
|
+
ok: false,
|
|
71
|
+
code: response.status,
|
|
72
|
+
response: response.responseText,
|
|
73
|
+
errorMessage: response.statusText,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (response.responseText.trim() === '') {
|
|
77
|
+
return () => ({
|
|
78
|
+
ok: true,
|
|
79
|
+
code: response.status,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const responseData = ResponseType(JSON.parse(response.responseText));
|
|
84
|
+
const eventsInBatch = new Set(events.map(it => it.id));
|
|
85
|
+
const failedEvents = Object.fromEntries((_b = (_a = responseData.failures) === null || _a === void 0 ? void 0 : _a.map(it => [it.eventId, it])) !== null && _b !== void 0 ? _b : []);
|
|
86
|
+
const missingEvents = Object.keys(failedEvents).filter(it => !eventsInBatch.has(it));
|
|
87
|
+
if (missingEvents.length) {
|
|
88
|
+
return () => ({
|
|
89
|
+
ok: false,
|
|
90
|
+
code: response.status,
|
|
91
|
+
response: response.responseText,
|
|
92
|
+
errorMessage: 'Invalid response: undefined events IDs: ' + missingEvents.join('; '),
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return it => {
|
|
96
|
+
if (!failedEvents[it.id]) {
|
|
97
|
+
return { ok: true, code: response.status };
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
ok: false,
|
|
101
|
+
code: response.status,
|
|
102
|
+
errorMessage: failedEvents[it.id].error,
|
|
103
|
+
};
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
return () => ({
|
|
108
|
+
ok: false,
|
|
109
|
+
code: response.status,
|
|
110
|
+
response: response.responseText,
|
|
111
|
+
errorMessage: 'Invalid response: ' + e.message,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
extractErrorMessages(e) {
|
|
116
|
+
const errorMessages = [];
|
|
117
|
+
let err = e;
|
|
118
|
+
while (typeof err === 'object' && err !== null && 'message' in err && typeof err.message === 'string') {
|
|
119
|
+
errorMessages.push(err.message);
|
|
120
|
+
err = err.cause;
|
|
121
|
+
}
|
|
122
|
+
return errorMessages;
|
|
123
|
+
}
|
|
124
|
+
async fetch(timeoutMs, target, variables, events) {
|
|
125
|
+
return await withTimeout(timeoutMs, async (abortController) => {
|
|
126
|
+
return await this.doFetch(target, variables, abortController, events);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
async doFetch(target, variables, abortController, events) {
|
|
130
|
+
var _a;
|
|
131
|
+
const resolvedUrl = this.resolveVariables(target.url, variables);
|
|
132
|
+
const resolvedHeaders = Object.fromEntries(Object.entries((_a = target.headers) !== null && _a !== void 0 ? _a : {})
|
|
133
|
+
.map(([key, value]) => [key, this.resolveVariables(value, variables)]));
|
|
134
|
+
const payload = {
|
|
135
|
+
events: events.map(this.formatEventPayload),
|
|
136
|
+
};
|
|
137
|
+
return await this.fetcher.fetch(resolvedUrl, {
|
|
138
|
+
method: 'POST',
|
|
139
|
+
headers: {
|
|
140
|
+
['User-Agent']: 'Contember Actions',
|
|
141
|
+
...resolvedHeaders,
|
|
142
|
+
['Content-type']: 'application/json',
|
|
143
|
+
},
|
|
144
|
+
signal: abortController.signal,
|
|
145
|
+
body: JSON.stringify(payload),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
formatEventPayload(it) {
|
|
149
|
+
return {
|
|
150
|
+
meta: {
|
|
151
|
+
eventId: it.id,
|
|
152
|
+
transactionId: it.transaction_id,
|
|
153
|
+
createdAt: it.created_at.toISOString(),
|
|
154
|
+
lastStateChange: it.last_state_change.toISOString(),
|
|
155
|
+
numRetries: it.num_retries,
|
|
156
|
+
trigger: it.trigger,
|
|
157
|
+
target: it.target,
|
|
158
|
+
// todo: add stage and schema version
|
|
159
|
+
},
|
|
160
|
+
...it.payload,
|
|
161
|
+
};
|
|
63
162
|
}
|
|
64
163
|
resolveVariables(subject, variables) {
|
|
65
164
|
return subject.replace(/\{\{([\w_]+)}}/gm, (_, name) => {
|
|
@@ -71,12 +170,13 @@ class WebhookTargetHandler {
|
|
|
71
170
|
}
|
|
72
171
|
}
|
|
73
172
|
exports.WebhookTargetHandler = WebhookTargetHandler;
|
|
74
|
-
const withTimeout = async (
|
|
173
|
+
const withTimeout = async (timeoutMs, cb) => {
|
|
174
|
+
const abortController = new AbortController();
|
|
75
175
|
const timeoutId = setTimeout(() => {
|
|
76
176
|
abortController.abort();
|
|
77
|
-
}, timeoutMs
|
|
177
|
+
}, timeoutMs);
|
|
78
178
|
try {
|
|
79
|
-
return await cb();
|
|
179
|
+
return await cb(abortController);
|
|
80
180
|
}
|
|
81
181
|
finally {
|
|
82
182
|
clearTimeout(timeoutId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookTargetHandler.js","sourceRoot":"","sources":["../../../src/dispatch/WebhookTargetHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WebhookTargetHandler.js","sourceRoot":"","sources":["../../../src/dispatch/WebhookTargetHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { Logger } from '@contember/logger';
|
|
|
2
2
|
import { Actions } from '@contember/schema';
|
|
3
3
|
import { EventRow } from '../model/types';
|
|
4
4
|
import { VariablesMap } from '../model/VariablesManager';
|
|
5
|
+
import { AnyEventPayload } from '../triggers/Payload';
|
|
5
6
|
export { EventRow };
|
|
6
7
|
export interface InvokeHandler<Target extends Actions.AnyTarget> {
|
|
7
8
|
handle(args: InvokeHandlerArgs<Target>): Promise<HandledEvent[]>;
|
|
@@ -12,16 +13,36 @@ export interface InvokeHandlerArgs<Target extends Actions.AnyTarget> {
|
|
|
12
13
|
logger: Logger;
|
|
13
14
|
variables: VariablesMap;
|
|
14
15
|
}
|
|
15
|
-
export
|
|
16
|
+
export type HandledEvent = {
|
|
16
17
|
row: EventRow;
|
|
17
18
|
result: InvocationResult;
|
|
18
19
|
target?: Actions.AnyTarget;
|
|
19
20
|
};
|
|
20
|
-
export
|
|
21
|
+
export type InvocationResult = {
|
|
21
22
|
ok: boolean;
|
|
22
23
|
durationMs?: number;
|
|
23
24
|
errorMessage?: string;
|
|
24
25
|
code?: number;
|
|
25
26
|
response?: string;
|
|
26
27
|
};
|
|
28
|
+
export type WebhookEvent = AnyEventPayload & {
|
|
29
|
+
meta: {
|
|
30
|
+
eventId: string;
|
|
31
|
+
transactionId: string;
|
|
32
|
+
createdAt: string;
|
|
33
|
+
lastStateChange: string;
|
|
34
|
+
numRetries: number;
|
|
35
|
+
trigger: string;
|
|
36
|
+
target: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type WebhookRequestPayload = {
|
|
40
|
+
events: WebhookEvent[];
|
|
41
|
+
};
|
|
42
|
+
export type WebhookResponsePayload = {
|
|
43
|
+
failures: {
|
|
44
|
+
eventId: string;
|
|
45
|
+
error?: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
27
48
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dispatch/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/dispatch/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,OAAO,CAAC,SAAS;IAC9D,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,OAAO,CAAC,SAAS;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,QAAQ,EAAE,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,YAAY,CAAA;CACvB;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,EAAE,EAAE,OAAO,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAGD,MAAM,MAAM,YAAY,GACrB,eAAe,GACf;IACD,IAAI,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;QACf,aAAa,EAAE,MAAM,CAAA;QACrB,SAAS,EAAE,MAAM,CAAA;QACjB,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;KACd,CAAA;CACD,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,MAAM,EAAE,YAAY,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,QAAQ,EAAE;QACT,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACD,CAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { HttpController } from '@contember/engine-http';
|
|
2
2
|
import { ActionsGraphQLHandler } from './ActionsGraphQLHandlerFactory';
|
|
3
3
|
import { ActionsContextResolver } from './ActionsContextResolver';
|
|
4
|
+
import { Authorizator } from '@contember/authorization';
|
|
5
|
+
import { Identity } from '../../authorization';
|
|
4
6
|
export declare class ActionsApiMiddlewareFactory {
|
|
5
7
|
private readonly actionsContextResolver;
|
|
6
8
|
private readonly actionsGraphQLHandler;
|
|
7
|
-
|
|
9
|
+
private readonly authorizator;
|
|
10
|
+
constructor(actionsContextResolver: ActionsContextResolver, actionsGraphQLHandler: ActionsGraphQLHandler, authorizator: Authorizator<Identity>);
|
|
8
11
|
create(): HttpController;
|
|
9
12
|
}
|
|
10
13
|
//# sourceMappingURL=ActionsApiMiddlewareFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionsApiMiddlewareFactory.d.ts","sourceRoot":"","sources":["../../../../src/graphql/http/ActionsApiMiddlewareFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"ActionsApiMiddlewareFactory.d.ts","sourceRoot":"","sources":["../../../../src/graphql/http/ActionsApiMiddlewareFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAsB,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG9C,qBAAa,2BAA2B;IAEtC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAFZ,sBAAsB,EAAE,sBAAsB,EAC9C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC;IAItD,MAAM,IAAI,cAAc;CA4BxB"}
|