configuration/src/config/geography.config.ts

56 lines
2.0 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: string[];
geocoderProvidersFallback: string[];
}
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)
: 5,
geocoderPopulationPrioritizerCoef: process.env
.GEOCODER_POPULATION_PRIORITIZER_COEF
? parseInt(process.env.GEOCODER_POPULATION_PRIORITIZER_COEF)
: 100,
geocoderProviders: process.env.GEOCODER_PROVIDERS
? process.env.GEOCODER_PROVIDERS?.split(',')
: ['ADDOK,PELIAS_SEARCH,PELIAS_AUTOCOMPLETE'],
geocoderProvidersFallback: process.env.GEOCODER_PROVIDERS_FALLBACK
? process.env.GEOCODER_PROVIDERS_FALLBACK?.split(',')
: ['GMAPS'],
}));