Small Nest.js-based project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

37 lines
1.1 KiB

import { createOsmClientWithCache } from './clients/geocoding';
import { createOpenmeteoClientWithCache } from './clients/weather';
import {
Module,
geocodingProviderDependency,
packagesRepositoryDependency,
packagesServiceDependency,
weatherProviderDependency,
} from './dependencies';
import { PackagesController } from './packages.controller';
import { PackagesService } from './packages.service';
import { createSamplePackagesRepository } from './storage/samplePackagesRepository';
@Module({
controllers: [PackagesController],
providers: [
{
provide: packagesServiceDependency,
useClass: PackagesService,
},
{
provide: geocodingProviderDependency,
useValue: createOsmClientWithCache(),
},
{
provide: weatherProviderDependency,
useValue: createOpenmeteoClientWithCache(),
},
{
provide: packagesRepositoryDependency,
useFactory: createSamplePackagesRepository,
},
],
})
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
export class AppModule {}