Files
esg/src/providers/providers.module.ts
2026-06-09 14:07:37 +03:30

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 {}