forked from Shared/esg
37 lines
1.5 KiB
TypeScript
37 lines
1.5 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { MongooseModule } from '@nestjs/mongoose';
|
|
import { ProviderFactory } from './factory/provider.factory';
|
|
import { HamtaProvider } from './implementations/hamta.provider';
|
|
import { MoallemProvider } from './implementations/moallem.provider';
|
|
import { TejaratNouProvider } from './implementations/tejaratnou.provider';
|
|
import { AmitisProvider } from './implementations/amitis.provider';
|
|
import { ProviderOrchestratorService } from './strategy/provider-orchestrator.service';
|
|
import { GeneralToken, GeneralTokenSchema } from './schemas/general-token.schema';
|
|
import { CachedInquiryResult, CachedInquiryResultSchema } from './schemas/cached-inquiry-result.schema';
|
|
import { GeneralTokenService } from './services/general-token.service';
|
|
import { CachedInquiryResultService } from './services/cached-inquiry-result.service';
|
|
|
|
/**
|
|
* Provider adapters, factory, and orchestration strategy.
|
|
*/
|
|
@Module({
|
|
imports: [
|
|
MongooseModule.forFeature([
|
|
{ name: GeneralToken.name, schema: GeneralTokenSchema },
|
|
{ name: CachedInquiryResult.name, schema: CachedInquiryResultSchema },
|
|
]),
|
|
],
|
|
providers: [
|
|
HamtaProvider,
|
|
MoallemProvider,
|
|
TejaratNouProvider,
|
|
AmitisProvider,
|
|
GeneralTokenService,
|
|
CachedInquiryResultService,
|
|
ProviderFactory,
|
|
ProviderOrchestratorService,
|
|
],
|
|
exports: [ProviderFactory, ProviderOrchestratorService, GeneralTokenService, CachedInquiryResultService],
|
|
})
|
|
export class ProvidersModule {}
|