UNPKG

redis-smq-rest-api

Version:

REST API for RedisSMQ: OpenAPI 3 schema and Swagger UI for managing queues, messages, and consumers.

75 lines 5.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Container = void 0; const awilix_1 = require("awilix"); const redis_smq_1 = require("redis-smq"); const ConsumerGroupsService_js_1 = require("../services/ConsumerGroupsService.js"); const ExchangeDirectService_js_1 = require("../services/ExchangeDirectService.js"); const ExchangeFanoutService_js_1 = require("../services/ExchangeFanoutService.js"); const ExchangesService_js_1 = require("../services/ExchangesService.js"); const ExchangeTopicService_js_1 = require("../services/ExchangeTopicService.js"); const MessagesService_js_1 = require("../services/MessagesService.js"); const NamespacesService_js_1 = require("../services/NamespacesService.js"); const QueueAcknowledgedMessagesService_js_1 = require("../services/QueueAcknowledgedMessagesService.js"); const QueueDeadLetteredMessagesService_js_1 = require("../services/QueueDeadLetteredMessagesService.js"); const QueueMessagesService_js_1 = require("../services/QueueMessagesService.js"); const QueuePendingMessagesService_js_1 = require("../services/QueuePendingMessagesService.js"); const QueueRateLimitService_js_1 = require("../services/QueueRateLimitService.js"); const QueueScheduledMessagesService_js_1 = require("../services/QueueScheduledMessagesService.js"); const QueuesService_js_1 = require("../services/QueuesService.js"); const ConfigurationService_js_1 = require("../services/ConfigurationService.js"); class Container { static registerServices() { const instance = this.getInstance(); instance.register({ queueManager: (0, awilix_1.asClass)(redis_smq_1.QueueManager) .singleton() .disposer((i) => new Promise((resolve) => i.shutdown(resolve))), queueMessages: (0, awilix_1.asClass)(redis_smq_1.QueueMessages).singleton(), queuePendingMessages: (0, awilix_1.asClass)(redis_smq_1.QueuePendingMessages).singleton(), queueAcknowledgedMessages: (0, awilix_1.asClass)(redis_smq_1.QueueAcknowledgedMessages).singleton(), queueDeadLetteredMessages: (0, awilix_1.asClass)(redis_smq_1.QueueDeadLetteredMessages).singleton(), queueScheduledMessages: (0, awilix_1.asClass)(redis_smq_1.QueueScheduledMessages).singleton(), messageManager: (0, awilix_1.asClass)(redis_smq_1.MessageManager).singleton(), queueRateLimit: (0, awilix_1.asClass)(redis_smq_1.QueueRateLimit).singleton(), namespaceManager: (0, awilix_1.asClass)(redis_smq_1.NamespaceManager).singleton(), exchangeFanout: (0, awilix_1.asClass)(redis_smq_1.ExchangeFanout).singleton(), exchangeTopic: (0, awilix_1.asClass)(redis_smq_1.ExchangeTopic).singleton(), exchangeDirect: (0, awilix_1.asClass)(redis_smq_1.ExchangeDirect).singleton(), exchange: (0, awilix_1.asClass)(redis_smq_1.Exchange).singleton(), consumerGroups: (0, awilix_1.asClass)(redis_smq_1.ConsumerGroups) .singleton() .disposer((i) => new Promise((resolve) => i.shutdown(resolve))), producer: (0, awilix_1.asClass)(redis_smq_1.Producer) .singleton() .disposer((i) => new Promise((resolve) => i.shutdown(resolve))), configuration: (0, awilix_1.asFunction)(() => redis_smq_1.Configuration.getInstance()).singleton(), queuesService: (0, awilix_1.asClass)(QueuesService_js_1.QueuesService), queueMessagesService: (0, awilix_1.asClass)(QueueMessagesService_js_1.QueueMessagesService), queuePendingMessagesService: (0, awilix_1.asClass)(QueuePendingMessagesService_js_1.QueuePendingMessagesService), queueScheduledMessagesService: (0, awilix_1.asClass)(QueueScheduledMessagesService_js_1.QueueScheduledMessagesService), queueAcknowledgedMessagesService: (0, awilix_1.asClass)(QueueAcknowledgedMessagesService_js_1.QueueAcknowledgedMessagesService), queueDeadLetteredMessagesService: (0, awilix_1.asClass)(QueueDeadLetteredMessagesService_js_1.QueueDeadLetteredMessagesService), messagesService: (0, awilix_1.asClass)(MessagesService_js_1.MessagesService), queueRateLimitService: (0, awilix_1.asClass)(QueueRateLimitService_js_1.QueueRateLimitService), namespacesService: (0, awilix_1.asClass)(NamespacesService_js_1.NamespacesService), exchangeFanoutService: (0, awilix_1.asClass)(ExchangeFanoutService_js_1.ExchangeFanoutService), exchangeDirectService: (0, awilix_1.asClass)(ExchangeDirectService_js_1.ExchangeDirectService), exchangeTopicService: (0, awilix_1.asClass)(ExchangeTopicService_js_1.ExchangeTopicService), exchangesService: (0, awilix_1.asClass)(ExchangesService_js_1.ExchangesService), consumerGroupsService: (0, awilix_1.asClass)(ConsumerGroupsService_js_1.ConsumerGroupsService), configurationService: (0, awilix_1.asClass)(ConfigurationService_js_1.ConfigurationService), }); } static getInstance() { if (!this.instance) { this.instance = (0, awilix_1.createContainer)({ injectionMode: awilix_1.InjectionMode.CLASSIC, }); } return this.instance; } } exports.Container = Container; Container.instance = null; //# sourceMappingURL=Container.js.map