Я настраиваю свое приложение для мульти-аренды. Для этого я использую провайдера фабрики с областью запроса, настроенной в глобальном модуле.
Моя проблема заключается в вызове метода в классе, если служба передает идентификатор клиента, полученный из req.hostname, для обращения в банк и получить конфигурацию базы данных для этого клиента.
Пример:
const connectionFactory = {
provide: 'CONNECTION',
scope: Scope.REQUEST,
useFactory: (req) => {
// how to call a method at that point to query a table and return a value
const tenant = myMethodReturnCongurationSchemaInDataBase(req.hostname);
return getConnection(tenant);
},
inject: [ REQUEST ],
};
@Global()
@Module({
providers: [connectionFactory],
exports: ['CONNECTION'],
})
export class TenantModule {}