@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
JavaScript
;
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;