Skip to content

Commit

Permalink
add annelis export
Browse files Browse the repository at this point in the history
  • Loading branch information
folland87 committed Sep 26, 2024
1 parent 554d1c1 commit 697cade
Showing 1 changed file with 42 additions and 19 deletions.
61 changes: 42 additions & 19 deletions src/api/opendata/opendata.routes.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,52 @@
import express from 'express';
import { db } from '../../services/mongo.service';
import { BadRequestError } from '../commons/http-errors';
import express from "express";
import { db } from "../../services/mongo.service";
import { BadRequestError } from "../commons/http-errors";

const router = new express.Router();

const OPTIONS = { projection: { _id: 0, dataset: 0 } };

const FILTERS = {
'fr-esr-annelis-paysage-gouvernance': { annelis: 'Y', dataset: 'fr-esr-paysage-fonctions-gouvernance' },
'fr-esr-paysage-fonctions-gouvernance': { dataset: 'fr-esr-paysage-fonctions-gouvernance' },
'fr-esr-annelis-paysage-etablissements': { dataset: 'fr-esr-annelis-paysage-etablissements' },
'fr-esr-paysage_structures_identifiants': { dataset: 'fr-esr-paysage_structures_identifiants' },
'fr-esr-paysage_personnes_identifiants': { dataset: 'fr-esr-paysage_personnes_identifiants' },
'fr-esr-paysage_structures_websites': { dataset: 'fr-esr-paysage_structures_websites' },
'fr-esr-paysage_prix': { dataset: 'fr-esr-paysage_prix' },
fr_esr_paysage_laureats_all: { dataset: 'fr_esr_paysage_laureats_all' },
"fr-esr-annelis-paysage-gouvernance": {
annelis: "Y",
dataset: "fr-esr-paysage-fonctions-gouvernance",
},
"fr-esr-paysage-fonctions-gouvernance": {
dataset: "fr-esr-paysage-fonctions-gouvernance",
},
"fr-esr-annelis-paysage-etablissements": {
dataset: "fr-esr-annelis-paysage-etablissements",
},
"fr-esr-paysage_structures_identifiants": {
dataset: "fr-esr-paysage_structures_identifiants",
},
"fr-esr-paysage_personnes_identifiants": {
dataset: "fr-esr-paysage_personnes_identifiants",
},
"fr-esr-paysage_structures_websites": {
dataset: "fr-esr-paysage_structures_websites",
},
"fr-esr-paysage_prix": { dataset: "fr-esr-paysage_prix" },
fr_esr_paysage_laureats_all: { dataset: "fr_esr_paysage_laureats_all" },
};

router.route('/opendata/:datasetId')
.get(async (req, res) => {
const { datasetId } = req.params;
const query = FILTERS[datasetId];
if (!query) throw new BadRequestError('Unknown dataset');
const data = await db.collection('opendata').find(query, OPTIONS).toArray();
res.status(200).json(data);
});
router.route("/opendata/:datasetId").get(async (req, res) => {
const { datasetId } = req.params;
const query = FILTERS[datasetId];
if (!query) throw new BadRequestError("Unknown dataset");
const data = await db.collection("opendata").find(query, OPTIONS).toArray();
res.status(200).json(data);
});

router.route("/exports/annelis/gouvernance").get(async (req, res) => {
const annelis = req.query.annelis;
const etat = req.query.etat;

const query = { dataset: "fr-esr-paysage-fonctions-gouvernance" };
if (annelis) query.annelis = annelis;
if (etat) query.etat = etat;
const data = await db.collection("opendata").find(query, OPTIONS).toArray();
res.status(200).json(data);
});

export default router;

0 comments on commit 697cade

Please sign in to comment.