eventstore-interconnect
Version:
Eventstore interconnector
124 lines • 5.36 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 ReaderModule_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReaderModule = void 0;
const common_1 = require("@nestjs/common");
const reader_1 = require("./services/reader");
const helpers_1 = require("../helpers");
const http_reader_service_1 = require("./services/http-reader/http-reader.service");
const grpc_reader_service_1 = require("./services/grpc-reader/grpc-reader.service");
const constants_1 = require("./services/constants");
const constants_2 = require("../constants");
const validator_1 = require("../validator");
const driver_1 = require("../driver");
const event_handler_1 = require("../event-handler");
const formatter_1 = require("../formatter");
const db_client_1 = require("@eventstore/db-client");
const connections_initializers_1 = require("../connections-initializers");
const connections_guards_1 = require("../connections-guards");
let ReaderModule = ReaderModule_1 = class ReaderModule {
static get(configuration, allowedEvents, customStrategy) {
const providersForReader = (0, helpers_1.isLegacyConf)(configuration.source)
? ReaderModule_1.getLegacyReaderProviders(configuration)
: ReaderModule_1.getNextReaderProviders(configuration);
return {
module: ReaderModule_1,
imports: [driver_1.DriverModule.get(configuration, customStrategy)],
exports: [driver_1.DriverModule],
providers: [
...providersForReader,
{
provide: constants_2.ALLOWED_EVENTS,
useValue: allowedEvents ?? {},
},
{
provide: constants_2.CONNECTION_CONFIGURATION,
useValue: configuration.source,
},
{
provide: event_handler_1.EVENT_HANDLER,
useClass: event_handler_1.EventHandlerService,
},
],
};
}
static getLegacyReaderProviders(configuration) {
return [
{
provide: reader_1.READER,
useClass: http_reader_service_1.HttpReaderService,
},
{
provide: constants_1.SUBSCRIPTIONS,
useValue: configuration.eventStoreBusConfig.subscriptions.persistent,
},
{
provide: validator_1.VALIDATOR,
useClass: validator_1.LegacyEventsValidatorService,
},
{
provide: formatter_1.FORMATTER,
useClass: formatter_1.LegacyEventFormatterService,
},
{
provide: connections_initializers_1.TCP_EVENTSTORE_CLIENT_CONNECTION_INITIALIZER,
useClass: connections_initializers_1.TCPEventStoreConnectionInitializerService,
},
{
provide: connections_initializers_1.HTTP_CLIENT_CONNECTION_INITIALIZER,
useClass: connections_initializers_1.HttpClientConnectionInitializerService,
},
{
provide: connections_guards_1.EVENTSTORE_CONNECTION_GUARD,
useClass: connections_guards_1.LegacyConnectionGuardService,
},
];
}
static getNextReaderProviders(configuration) {
return [
{
provide: constants_2.CREDENTIALS,
useValue: configuration.source.credentials,
},
{
provide: reader_1.READER,
useClass: grpc_reader_service_1.GrpcReaderService,
},
{
provide: constants_2.EVENTSTORE_DB_CLIENT,
useValue: db_client_1.EventStoreDBClient,
},
{
provide: connections_initializers_1.GRPC_CONNECTION_INITIALIZER,
useClass: connections_initializers_1.GrpcConnectionInitializerService,
},
{
provide: constants_1.SUBSCRIPTIONS,
useValue: configuration.eventStoreSubsystems.subscriptions.persistent,
},
{
provide: validator_1.VALIDATOR,
useClass: validator_1.NextEventsValidatorService,
},
{
provide: formatter_1.FORMATTER,
useClass: formatter_1.NextEventFormatterService,
},
{
provide: connections_guards_1.EVENTSTORE_CONNECTION_GUARD,
useClass: connections_guards_1.NextConnectionGuardService,
},
];
}
};
ReaderModule = ReaderModule_1 = __decorate([
(0, common_1.Module)({})
], ReaderModule);
exports.ReaderModule = ReaderModule;
//# sourceMappingURL=reader.module.js.map