n8n
Version:
n8n Workflow Automation Tool
125 lines • 5.67 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EventBusController = void 0;
const express_1 = __importDefault(require("express"));
const decorators_1 = require("../decorators");
const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
const AbstractEventMessage_1 = require("./EventMessageClasses/AbstractEventMessage");
const EventMessageGeneric_1 = require("./EventMessageClasses/EventMessageGeneric");
const EventMessageWorkflow_1 = require("./EventMessageClasses/EventMessageWorkflow");
const MessageEventBus_1 = require("./MessageEventBus/MessageEventBus");
const EventMessageClasses_1 = require("./EventMessageClasses");
const EventMessageAudit_1 = require("./EventMessageClasses/EventMessageAudit");
const EventMessageNode_1 = require("./EventMessageClasses/EventMessageNode");
const isWithQueryString = (candidate) => {
const o = candidate;
if (!o)
return false;
return o.query !== undefined;
};
let EventBusController = class EventBusController {
constructor(eventBus) {
this.eventBus = eventBus;
}
async getEvents(req) {
if (isWithQueryString(req.query)) {
switch (req.query.query) {
case 'sent':
return await this.eventBus.getEventsSent();
case 'unsent':
return await this.eventBus.getEventsUnsent();
case 'unfinished':
return await this.eventBus.getUnfinishedExecutions();
case 'all':
default:
return await this.eventBus.getEventsAll();
}
}
else {
return await this.eventBus.getEventsAll();
}
}
async getEventForExecutionId(req) {
var _a, _b;
if ((_a = req.params) === null || _a === void 0 ? void 0 : _a.id) {
let logHistory;
if ((_b = req.query) === null || _b === void 0 ? void 0 : _b.logHistory) {
logHistory = parseInt(req.query.logHistory, 10);
}
return await this.eventBus.getEventsByExecutionId(req.params.id, logHistory);
}
return;
}
async postEvent(req) {
let msg;
if ((0, AbstractEventMessage_1.isEventMessageOptions)(req.body)) {
switch (req.body.__type) {
case "$$EventMessageWorkflow":
msg = new EventMessageWorkflow_1.EventMessageWorkflow(req.body);
break;
case "$$EventMessageAudit":
msg = new EventMessageAudit_1.EventMessageAudit(req.body);
break;
case "$$EventMessageNode":
msg = new EventMessageNode_1.EventMessageNode(req.body);
break;
case "$$EventMessage":
default:
msg = new EventMessageGeneric_1.EventMessageGeneric(req.body);
}
await this.eventBus.send(msg);
}
else {
throw new bad_request_error_1.BadRequestError('Body is not a serialized EventMessage or eventName does not match format {namespace}.{domain}.{event}');
}
return msg;
}
async getEventNames() {
return EventMessageClasses_1.eventNamesAll;
}
};
exports.EventBusController = EventBusController;
__decorate([
(0, decorators_1.Get)('/event'),
(0, decorators_1.GlobalScope)('eventBusEvent:query'),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], EventBusController.prototype, "getEvents", null);
__decorate([
(0, decorators_1.Get)('/execution/:id'),
(0, decorators_1.GlobalScope)('eventBusEvent:read'),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], EventBusController.prototype, "getEventForExecutionId", null);
__decorate([
(0, decorators_1.Post)('/event'),
(0, decorators_1.GlobalScope)('eventBusEvent:create'),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:returntype", Promise)
], EventBusController.prototype, "postEvent", null);
__decorate([
(0, decorators_1.Get)('/eventnames'),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", Promise)
], EventBusController.prototype, "getEventNames", null);
exports.EventBusController = EventBusController = __decorate([
(0, decorators_1.RestController)('/eventbus'),
__metadata("design:paramtypes", [MessageEventBus_1.MessageEventBus])
], EventBusController);
//# sourceMappingURL=eventBus.controller.js.map
;