UNPKG

@fabrix/spool-broadcast

Version:

Spool: broadcast for Fabrix to implement CQRS and Event Sourcing

119 lines 4.93 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const joi_1 = __importDefault(require("@hapi/joi")); const processorConfig_1 = require("./processorConfig"); const projectorConfig_1 = require("./projectorConfig"); const hookConfig_1 = require("./hookConfig"); const dispatcherConfig_1 = require("./dispatcherConfig"); const pipeConfig_1 = require("./pipeConfig"); exports.broadcastConfig = joi_1.default.object().keys({ prefix: joi_1.default.string().allow('', null), live_mode: joi_1.default.boolean().required(), auto_save: joi_1.default.boolean().required(), auto_transaction: joi_1.default.boolean().required(), profile: joi_1.default.string().allow(null).required(), enabled: joi_1.default.boolean(), auto_queue: joi_1.default.boolean(), default_publish_timeout: joi_1.default.number().allow(null).required(), profiles: joi_1.default.object().pattern(/^/, joi_1.default.array().items(joi_1.default.string())), exchange_name: joi_1.default.string().allow(null), connection: joi_1.default.object().keys({ unique: joi_1.default.string().allow(null), exchange: joi_1.default.string().allow(null), work_queue_name: joi_1.default.string().allow(null), interrupt_queue_name: joi_1.default.string().allow(null), poison_queue_name: joi_1.default.string().allow(null), host: joi_1.default.string().allow(null), user: joi_1.default.string().allow(null), pass: joi_1.default.string().allow(null), port: joi_1.default.number().allow(null), vhost: joi_1.default.string().allow(null), uri: joi_1.default.string().allow(null), heartbeat: joi_1.default.number(), timeout: joi_1.default.number().allow(null), failAfter: joi_1.default.number(), retryLimit: joi_1.default.number() }).unknown(), broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object({ trace: joi_1.default.boolean() }) ]), projectors: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object({ broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ projectorConfig_1.projectorConfig ]) ]) ]) }) ]), processors: joi_1.default.object().pattern(joi_1.default.string(), [ joi_1.default.object({ broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ processorConfig_1.processorConfig ]) ]) ]) }) ]), dispatchers: joi_1.default.object().pattern(joi_1.default.string(), [ joi_1.default.object({ broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ dispatcherConfig_1.dispatcherConfig ]) ]) ]) }) ]), hooks: joi_1.default.object().pattern(joi_1.default.string(), [ joi_1.default.object({ broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ hookConfig_1.hookConfig ]) ]) ]) }) ]), pipelines: joi_1.default.object().pattern(joi_1.default.string(), [ joi_1.default.object({ broadcasters: joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ joi_1.default.object() .pattern(joi_1.default.string(), [ pipeConfig_1.pipeConfig ]) ]) ]) }) ]), channels: joi_1.default.object() }); //# sourceMappingURL=broadcastConfig.js.map