event-driven
Version:
makes building event-driven-architecture easy
38 lines (37 loc) • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTrigger = exports.createBatch = exports.createEvent = exports.Log = exports.LogType = void 0;
const mongoose_1 = require("mongoose");
const TriggerError_1 = require("./TriggerError");
const BatchError_1 = require("./BatchError");
var LogType;
(function (LogType) {
LogType["Event"] = "Event";
LogType["Batch"] = "Batch";
LogType["Trigger"] = "Trigger";
})(LogType = exports.LogType || (exports.LogType = {}));
const LogSchema = new mongoose_1.Schema({}, { strict: false });
exports.Log = mongoose_1.model('Log', LogSchema);
const createEvent = (data) => {
const event = new exports.Log(Object.assign(Object.assign({}, data), { republish: [], type: LogType.Event, createdAt: new Date() }));
event.save();
return event;
};
exports.createEvent = createEvent;
const createBatch = (data) => {
const batch = new exports.Log(Object.assign(Object.assign({}, data), { type: LogType.Batch, createdAt: new Date() }));
return {
batch,
catchError: BatchError_1.createBatchError(batch._id),
};
};
exports.createBatch = createBatch;
const createTrigger = (data) => {
const trigger = new exports.Log(Object.assign(Object.assign({}, data), { type: LogType.Trigger, createdAt: new Date() }));
trigger.save();
return {
trigger,
catchTriggerError: TriggerError_1.catchTriggerError(trigger._id),
};
};
exports.createTrigger = createTrigger;