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