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) : [], }));