diff --git a/build/communes.js b/build/communes.js index 1e24e10..9642fbd 100644 --- a/build/communes.js +++ b/build/communes.js @@ -39,6 +39,7 @@ async function buildCommunes() { code: commune.code, type: commune.type, nom: commune.nom, + siren: commune.siren, codeDepartement: commune.departement, codeRegion: commune.region, codesPostaux: commune.codesPostaux || [], diff --git a/definition.yml b/definition.yml index 4ade29f..d07b3fa 100644 --- a/definition.yml +++ b/definition.yml @@ -19,6 +19,7 @@ parameters: - nom - code - codesPostaux + - siren - centre - surface - contour @@ -37,6 +38,7 @@ parameters: - nom - code - codesPostaux + - siren - codeEpci - codeDepartement - codeRegion @@ -171,6 +173,10 @@ paths: in: query description: Code de la commune type: string + - name: siren + in: query + description: Code SIREN de la commune + type: string - name: codeEpci in: query description: Code de l'EPCI associé @@ -525,6 +531,9 @@ definitions: description: Liste des codes postaux associés à la commune items: type: string + siren: + type: string + description: Code SIREN de la commune codeEpci: type: string description: Code de l'EPCI associé à la commune diff --git a/lib/communeHelpers.js b/lib/communeHelpers.js index 75baac8..b8cbaaa 100644 --- a/lib/communeHelpers.js +++ b/lib/communeHelpers.js @@ -1,7 +1,7 @@ const {initFields, initFormat} = require('./helpers') const initCommuneFields = initFields({ - default: ['nom', 'code', 'codeDepartement', 'codeEpci', 'codeRegion', 'codesPostaux', 'population'], + default: ['nom', 'code', 'codeDepartement', 'siren', 'codeEpci', 'codeRegion', 'codesPostaux', 'population'], base: ['nom', 'code'] }) diff --git a/lib/communes.js b/lib/communes.js index fde03c4..dc82a1a 100644 --- a/lib/communes.js +++ b/lib/communes.js @@ -18,6 +18,7 @@ const schema = { type: {type: 'token', queryWith: 'type', multiple: 'OR'}, code: {type: 'token', queryWith: 'code'}, codesPostaux: {type: 'tokenList', queryWith: 'codePostal'}, + siren: {type: 'token', queryWith: 'siren'}, codeEpci: {type: 'token', queryWith: 'codeEpci'}, codeDepartement: {type: 'token', queryWith: 'codeDepartement'}, codeRegion: {type: 'token', queryWith: 'codeRegion'}, diff --git a/package.json b/package.json index 8d13360..6f31608 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@etalab/api-geo", - "version": "2.1.0", + "version": "2.2.0", "description": "Interroger les référentiels géographiques plus facilement", "repository": { "type": "git", @@ -20,7 +20,7 @@ "rbush": "^2.0.1" }, "devDependencies": { - "@etalab/decoupage-administratif": "^2.1.0", + "@etalab/decoupage-administratif": "^2.2.1", "@turf/area": "^6.0.1", "@turf/bbox": "^6.5.0", "@turf/bbox-polygon": "^6.5.0", @@ -61,7 +61,8 @@ }, "contributors": [ "Jérôme Desboeufs ", - "Théophile Merlière " + "Théophile Merlière ", + "Thomas Gratier " ], "license": "MIT" } diff --git a/server.js b/server.js index 4363ba4..020dd92 100644 --- a/server.js +++ b/server.js @@ -32,7 +32,7 @@ app.use((req, res, next) => { /* Communes */ app.get('/communes', initLimit(), initCommuneFields, initCommuneFormat, (req, res) => { - const query = pick(req.query, 'type', 'code', 'codePostal', 'nom', 'codeEpci', 'codeDepartement', 'codeRegion', 'boost', 'zone') + const query = pick(req.query, 'type', 'code', 'codePostal', 'nom', 'siren', 'codeEpci', 'codeDepartement', 'codeRegion', 'boost', 'zone') if (req.query.lat && req.query.lon) { const lat = parseFloat(req.query.lat) const lon = parseFloat(req.query.lon) diff --git a/test/communeHelpers.js b/test/communeHelpers.js index c8798fb..491ea45 100644 --- a/test/communeHelpers.js +++ b/test/communeHelpers.js @@ -17,7 +17,7 @@ describe('communeHelpers', () => { it('empty request should return default fields', done => { runTestCase( {}, - ['nom', 'code', 'codesPostaux', 'codeEpci', 'codeDepartement', 'codeRegion', 'population'], + ['nom', 'code', 'codesPostaux', 'codeEpci', 'codeDepartement', 'codeRegion', 'population', 'siren'], done ) }) diff --git a/yarn.lock b/yarn.lock index 866931c..8d65ba8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -90,10 +90,10 @@ lodash "^4.17.11" to-fast-properties "^2.0.0" -"@etalab/decoupage-administratif@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@etalab/decoupage-administratif/-/decoupage-administratif-2.1.0.tgz" - integrity sha512-ICOWiysBRNMd6HNY5yGFeia+AHqHLiXMrXDm4YPeEMPQP2i/vs38soCCFu8C789UT3o0efu79UK2hNTcHWBoXg== +"@etalab/decoupage-administratif@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@etalab/decoupage-administratif/-/decoupage-administratif-2.2.1.tgz#a33bb862b1ce28463a87b9ca235a44e5cfd2ca4d" + integrity sha512-W+m9W4GuIyi6nudnx2BNrLfkBv7DLNYq6KSTjnk49yPXMNLBRfvp8bLQuNDk6/jqvrPhMOOc0uRQhDu18UXQ8w== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1"