UNPKG

@mbc-cqrs-serverless/task

Version:
37 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EventFactoryAddedTask = exports.DEFAULT_SUB_TASK_STATUS_QUEUE = exports.DEFAULT_TASK_ACTION_QUEUE = void 0; const core_1 = require("@mbc-cqrs-serverless/core"); const sub_task_queue_event_1 = require("./sub-task.queue.event"); const task_queue_event_1 = require("./task.queue.event"); const task_sfn_event_1 = require("./task.sfn.event"); exports.DEFAULT_TASK_ACTION_QUEUE = 'task-action-queue'; exports.DEFAULT_SUB_TASK_STATUS_QUEUE = 'sub-task-status-queue'; class EventFactoryAddedTask extends core_1.DefaultEventFactory { async transformSqs(event) { const curEvents = await super.transformSqs(event); const taskEvents = event.Records.map((record) => { if (record.eventSourceARN.endsWith(exports.DEFAULT_TASK_ACTION_QUEUE)) { const task = new task_queue_event_1.TaskQueueEvent().fromSqsRecord(record); // do not handle sub task if (task.taskEvent.taskEntity.sk.split(core_1.KEY_SEPARATOR).length > 2) return undefined; return task; } if (record.eventSourceARN.endsWith(exports.DEFAULT_SUB_TASK_STATUS_QUEUE)) { return new sub_task_queue_event_1.SubTaskQueueEvent().fromSqsRecord(record); } return undefined; }).filter((event) => !!event); return [...taskEvents, ...curEvents]; } async transformStepFunction(event) { if (event.context.StateMachine.Name.includes('sfn-task')) { const sfnTaskEvents = new task_sfn_event_1.StepFunctionTaskEvent(event); return [sfnTaskEvents]; } return super.transformStepFunction(event); } } exports.EventFactoryAddedTask = EventFactoryAddedTask; //# sourceMappingURL=task.queue.event-factory.interface.js.map