345d5db9c9
Extend Courier adapter for XFX sign photos and route callbacks; mini-user logistics UI with timeline, phone dial, and estimated arrival. Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { COURIER_PROVIDER, CourierProviderCode } from './courier.constants';
|
|
import { CourierConfigService } from './courier.config';
|
|
import { CourierService } from './courier.service';
|
|
import { XiaofeixiaClient } from './xiaofeixia/xiaofeixia.client';
|
|
import { XiaofeixiaProvider } from './xiaofeixia/xiaofeixia.provider';
|
|
import type { ICourierProvider } from './courier.types';
|
|
|
|
@Module({
|
|
providers: [
|
|
CourierConfigService,
|
|
XiaofeixiaClient,
|
|
XiaofeixiaProvider,
|
|
{
|
|
provide: COURIER_PROVIDER,
|
|
useFactory: (
|
|
configService: CourierConfigService,
|
|
xiaofeixia: XiaofeixiaProvider,
|
|
): ICourierProvider => {
|
|
const { provider } = configService.load();
|
|
switch (provider) {
|
|
case CourierProviderCode.XIAOFEIXIA:
|
|
return xiaofeixia;
|
|
default:
|
|
throw new Error(`Courier provider not implemented: ${provider}`);
|
|
}
|
|
},
|
|
inject: [CourierConfigService, XiaofeixiaProvider],
|
|
},
|
|
CourierService,
|
|
],
|
|
exports: [CourierService, CourierConfigService, COURIER_PROVIDER, XiaofeixiaProvider],
|
|
})
|
|
export class CourierModule {}
|