From 27160c7b17d7203786c3ffef71847bd3c69ae1df Mon Sep 17 00:00:00 2001 From: vmaubert Date: Mon, 7 Mar 2022 10:29:04 +0100 Subject: [PATCH] =?UTF-8?q?feat(openfisca):=20mise=20=C3=A0=20jour=20de=20?= =?UTF-8?q?la=20structure=20des=20objets=20=C3=A9chang=C3=A9s=20avec=20Ope?= =?UTF-8?q?nfisca?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dev/api-openfisca-call.js | 1 + src/tools/api-openfisca/index.ts | 50 +++++++++++++++++++++++++------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/dev/api-openfisca-call.js b/src/dev/api-openfisca-call.js index c4c005f54..0c4d940bb 100644 --- a/src/dev/api-openfisca-call.js +++ b/src/dev/api-openfisca-call.js @@ -1,3 +1,4 @@ +import 'dotenv/config' import { redevanceCommunaleMinesAurifiereGet } from '../tools/api-openfisca' async function main() { diff --git a/src/tools/api-openfisca/index.ts b/src/tools/api-openfisca/index.ts index a63c73d82..009629028 100644 --- a/src/tools/api-openfisca/index.ts +++ b/src/tools/api-openfisca/index.ts @@ -2,17 +2,47 @@ import fetch from 'node-fetch' import errorLog from '../error-log' +/* + eslint-disable camelcase +*/ + interface IOpenfiscaBody { - societes: { - [titreId: string]: { - // eslint-disable-next-line camelcase - quantite_aurifere_kg: { + articles: { + [titreId_substance_commune: string]: { + quantite_aurifere_kg?: { + [annee: string]: number | null + } + surface_communale?: { [annee: string]: number | null } - // eslint-disable-next-line camelcase - redevance_communale_des_mines_aurifere_kg: { + redevance_communale_des_mines_aurifere_kg?: { [annee: string]: number | null } + surface_totale?: { + [annee: string]: number | null + } + } + } + titres?: { + [titreId: string]: { + commune_principale_exploitation: { + [annee: string]: string | null + } + operateur: { + [annee: string]: string | null + } + categorie: { + [annee: string]: string | null + } + investissement: { + [annee: string]: string | null + } + articles: string[] + } + } + communes?: { + [communeId: string]: { + articles: string[] } } } @@ -78,7 +108,7 @@ const redevanceCommunaleMinesAurifiereGet = async ( {} ) - acc.societes[entreprise.id] = { + acc.articles[entreprise.id] = { quantite_aurifere_kg: orNetKg, redevance_communale_des_mines_aurifere_kg: redevanceCommunaleDesMinesAurifereKg @@ -86,14 +116,14 @@ const redevanceCommunaleMinesAurifiereGet = async ( return acc }, - { societes: {} } as IOpenfiscaBody + { articles: {} } as IOpenfiscaBody ) - const result = (await apiOpenfiscaFetch(societes))?.societes + const result = (await apiOpenfiscaFetch(societes))?.articles if (result) { return Object.keys(result).reduce((acc, societe) => { - acc[societe] = result[societe].redevance_communale_des_mines_aurifere_kg + acc[societe] = result[societe].redevance_communale_des_mines_aurifere_kg! return acc }, {} as { [entrepriseId: string]: { [annee: string]: number | null } })