@@ -3,6 +3,17 @@ import { client, db } from '../../services/mongo.service';
33
44const dataset = 'fr-esr-annelis-paysage-etablissements' ;
55
6+ const getWebsite = ( structure ) => {
7+ const websites = structure . websites ?. filter ( ( website ) => website . type === "website" ) || [ ] ;
8+ // Priority: French first, then undefined, then English, then any other
9+ return websites . find ( w => w . language === "fr" ) ?. url ||
10+ websites . find ( w => w . language === "Fr" ) ?. url ||
11+ websites . find ( w => w . language === undefined ) ?. url ||
12+ websites . find ( w => w . language === "en" ) ?. url ||
13+ websites . find ( w => w . language === "En" ) ?. url ||
14+ websites [ 0 ] ?. url || "" ;
15+ } ;
16+
617export default async function exportFrEsrAnnelisPaysageEtablissements ( ) {
718 const supervisingMinisters = new Map ( ) ;
819 const ministersQuery = await db . collection ( 'supervisingministers' ) . find ( ) . toArray ( ) ;
@@ -68,9 +79,7 @@ export default async function exportFrEsrAnnelisPaysageEtablissements() {
6879 eta_vague : structure . categories . find ( ( cat ) =>
6980 cat ?. usualNameFr . startsWith ( "Vague" ) ,
7081 ) ?. usualNameFr ,
71- eta_site_web : structure . websites . find (
72- ( website ) => website . type === "website" ,
73- ) ?. url ,
82+ eta_site_web : getWebsite ( structure ) ,
7483 eta_tutelle : structure . supervisingMinisters ,
7584 } ;
7685 return row ;
0 commit comments