UNPKG

@gouvfr-anct/mednum

Version:

✨ Permet de transformer une source de données vers le schéma des lieux de mediation numerique

22 lines (21 loc) 1.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.localisationByGeocode = void 0; const lieux_de_mediation_numerique_1 = require("@gouvfr-anct/lieux-de-mediation-numerique"); const axios_1 = __importDefault(require("axios")); const fields_1 = require("../../fields"); const isValid = (adresse, response) => response.data.features[0]?.geometry?.coordinates != null && (response.data.features[0].properties.score > 0.6 || (response.data.features[0].properties.score > 0.4 && response.data.features[0].properties.city === adresse.commune)); const toLocalisation = (response) => (0, lieux_de_mediation_numerique_1.Localisation)({ latitude: response.data.features[0].geometry.coordinates[1], longitude: response.data.features[0].geometry.coordinates[0] }); const localisationByGeocode = (adresse) => async () => { const response = await axios_1.default.get(`https://data.geopf.fr/geocodage/search?q=${adresse.voie} ${adresse.code_postal} ${adresse.commune}`); return isValid(adresse, response) ? toLocalisation(response) : fields_1.NO_LOCALISATION; }; exports.localisationByGeocode = localisationByGeocode;