70 lines
1.8 KiB
TypeScript
70 lines
1.8 KiB
TypeScript
/**
|
|
* Carrier Module
|
|
*
|
|
* Provides all carrier connector implementations
|
|
*/
|
|
|
|
import { Module } from '@nestjs/common';
|
|
import { MaerskConnector } from './maersk/maersk.connector';
|
|
import { MSCConnectorAdapter } from './msc/msc.connector';
|
|
import { MSCRequestMapper } from './msc/msc.mapper';
|
|
import { CMACGMConnectorAdapter } from './cma-cgm/cma-cgm.connector';
|
|
import { CMACGMRequestMapper } from './cma-cgm/cma-cgm.mapper';
|
|
import { HapagLloydConnectorAdapter } from './hapag-lloyd/hapag-lloyd.connector';
|
|
import { HapagLloydRequestMapper } from './hapag-lloyd/hapag-lloyd.mapper';
|
|
import { ONEConnectorAdapter } from './one/one.connector';
|
|
import { ONERequestMapper } from './one/one.mapper';
|
|
|
|
@Module({
|
|
providers: [
|
|
// Maersk
|
|
MaerskConnector,
|
|
|
|
// MSC
|
|
MSCRequestMapper,
|
|
MSCConnectorAdapter,
|
|
|
|
// CMA CGM
|
|
CMACGMRequestMapper,
|
|
CMACGMConnectorAdapter,
|
|
|
|
// Hapag-Lloyd
|
|
HapagLloydRequestMapper,
|
|
HapagLloydConnectorAdapter,
|
|
|
|
// ONE
|
|
ONERequestMapper,
|
|
ONEConnectorAdapter,
|
|
|
|
// Factory that provides all connectors
|
|
{
|
|
provide: 'CarrierConnectors',
|
|
useFactory: (
|
|
maerskConnector: MaerskConnector,
|
|
mscConnector: MSCConnectorAdapter,
|
|
cmacgmConnector: CMACGMConnectorAdapter,
|
|
hapagConnector: HapagLloydConnectorAdapter,
|
|
oneConnector: ONEConnectorAdapter
|
|
) => {
|
|
return [maerskConnector, mscConnector, cmacgmConnector, hapagConnector, oneConnector];
|
|
},
|
|
inject: [
|
|
MaerskConnector,
|
|
MSCConnectorAdapter,
|
|
CMACGMConnectorAdapter,
|
|
HapagLloydConnectorAdapter,
|
|
ONEConnectorAdapter,
|
|
],
|
|
},
|
|
],
|
|
exports: [
|
|
'CarrierConnectors',
|
|
MaerskConnector,
|
|
MSCConnectorAdapter,
|
|
CMACGMConnectorAdapter,
|
|
HapagLloydConnectorAdapter,
|
|
ONEConnectorAdapter,
|
|
],
|
|
})
|
|
export class CarrierModule {}
|