configuration/src/config/geography.config.ts

64 lines
2.2 KiB
TypeScript

import { registerAs } from '@nestjs/config';
import { Config } from './config';
export interface GeographyConfig extends Config {
georouterType: string;
georouterUrl: string;
geocoderLang: string;
geocoderMinConfidence: number;
geocoderMaxResultsPerProvider: number;
geocoderMaxResultsPerType: number;
geocoderSanitize: boolean;
geocoderConsolidate: boolean;
geocoderProximity: number;
geocoderPopulationPrioritizerCoef: number;
geocoderProviders: object[];
geocoderProvidersFallback: object[];
geocoderPrioritizers: object[];
geocoderConsolidators: object[];
}
export default registerAs('geography', () => ({
georouterType: process.env.GEOROUTER_TYPE ?? 'graphhopper',
georouterUrl: process.env.GEOROUTER_URL ?? 'http://localhost:8989',
geocoderLang: process.env.GEOCODER_LANG ?? 'fr',
geocoderMinConfidence: process.env.GEOCODER_MIN_CONFIDENCE
? parseFloat(process.env.GEOCODER_MIN_CONFIDENCE)
: 0.5,
geocoderMaxResultsPerProvider: process.env.GEOCODER_MAX_RESULTS_PER_PROVIDER
? parseInt(process.env.GEOCODER_MAX_RESULTS_PER_PROVIDER)
: 5,
geocoderMaxResultsPerType: process.env.GEOCODER_MAX_RESULTS_PER_TYPE
? parseInt(process.env.GEOCODER_MAX_RESULTS_PER_TYPE)
: 5,
geocoderSanitize: process.env.GEOCODER_SANITIZE
? process.env.GEOCODER_SANITIZE === 'false'
? false
: true
: true,
geocoderConsolidate: process.env.GEOCODER_CONSOLIDATE
? process.env.GEOCODER_CONSOLIDATE === 'false'
? false
: true
: true,
geocoderProximity: process.env.GEOCODER_PROXIMITY
? parseInt(process.env.GEOCODER_PROXIMITY)
: 5000,
geocoderPopulationPrioritizerCoef: process.env
.GEOCODER_POPULATION_PRIORITIZER_COEF
? parseInt(process.env.GEOCODER_POPULATION_PRIORITIZER_COEF)
: 100,
geocoderProviders: process.env.GEOCODER_PROVIDERS
? JSON.parse(process.env.GEOCODER_PROVIDERS)
: [],
geocoderProvidersFallback: process.env.GEOCODER_PROVIDERS_FALLBACK
? JSON.parse(process.env.GEOCODER_PROVIDERS_FALLBACK)
: [],
geocoderPrioritizers: process.env.GEOCODER_PRIORITIZERS
? JSON.parse(process.env.GEOCODER_PRIORITIZERS)
: [],
geocoderConsolidators: process.env.GEOCODER_CONSOLIDATORS
? JSON.parse(process.env.GEOCODER_CONSOLIDATORS)
: [],
}));