@communecter/cocolight-api-client 1.0.190 → 1.0.191
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/4686.cocolight-api-client.browser.js +1 -0
- package/dist/4686.cocolight-api-client.cjs +1 -0
- package/dist/cocolight-api-client.browser.js +1 -1
- package/dist/cocolight-api-client.cjs +1 -1
- package/dist/cocolight-api-client.vite.mjs.js +1 -1
- package/dist/cocolight-api-client.vite.mjs.js.map +1 -1
- package/package.json +1 -1
- package/types/api/BaseEntity.d.ts +33 -14
- package/types/api/EndpointApi.types.d.ts +28 -4
- package/types/costum/schemas/associationEkilibre.d.ts +3 -0
- package/types/costum/types.d.ts +52 -1
- package/types/endpoints.module.d.ts +419 -268
package/package.json
CHANGED
|
@@ -1712,8 +1712,9 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
1712
1712
|
* Récupérer les événements d'une entitée : liste des événements de l'entité ou elle est "organizer" ou "attendee".
|
|
1713
1713
|
* Constant : GET_EVENTS
|
|
1714
1714
|
* `startDateUTC`/`endDateUTC` acceptent un `Date` ou une string ISO (un `Date` est coercé en ISO).
|
|
1715
|
-
* `recurrency`
|
|
1716
|
-
*
|
|
1715
|
+
* `recurrency` (booléen) : omettre ou `true` = récurrents inclus, `false` = exclus — fiable sur les deux
|
|
1716
|
+
* serveurs depuis le 2026-09-04 (parse booléen legacy + miroir Node). Mode LISTE (sans date) : mêmes
|
|
1717
|
+
* paramètres optionnels `from`/`to`/`order` que `searchEventsCostum` (voir sa doc).
|
|
1717
1718
|
* @param data - Paramètres (partiels) de recherche/pagination.
|
|
1718
1719
|
* @returns - Les données de réponse.
|
|
1719
1720
|
*/
|
|
@@ -2556,19 +2557,32 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
2556
2557
|
* **Deux modes** (endpoint `/co2/search/agenda`), selon que tu passes une date ou non :
|
|
2557
2558
|
*
|
|
2558
2559
|
* 1. **CALENDRIER** — déclenché par `startDateUTC` et/ou `endDateUTC` (l'agenda d'une période) :
|
|
2559
|
-
* ramène **TOUT** ce qui matche la plage — ponctuels **+ récurrents** (`openingHours`, sauf `recurrency:false`)
|
|
2560
|
-
* trié par **occurrence** (`startDateSort
|
|
2561
|
-
* **Pas de pagination** serveur :
|
|
2562
|
-
*
|
|
2563
|
-
*
|
|
2564
|
-
*
|
|
2565
|
-
*
|
|
2560
|
+
* ramène **TOUT** ce qui matche la plage — ponctuels **+ récurrents** (`openingHours`, sauf `recurrency:false`),
|
|
2561
|
+
* chaque récurrent **déplié en une ligne par occurrence** — trié par **occurrence** (`startDateSort`/
|
|
2562
|
+
* `startDateSortFormat` calculés côté serveur), résultat = **tableau**. **Pas de pagination** serveur :
|
|
2563
|
+
* une seule page (`next()`/`prev()` sans effet). Pour une GRILLE (mois/semaine/jour).
|
|
2564
|
+
* 2. **LISTE** — déclenché par l'**absence** de date (flux paginé, `indexMin`/`indexStep`, `next()`/`prev()`) :
|
|
2565
|
+
* ponctuels **+ récurrents** (depuis le legacy 14c2caa1, **une ligne par récurrent** portant sa PROCHAINE
|
|
2566
|
+
* occurrence dans `startDateSort`/`startDateSortFormat`), résultat = **tableau**. Par défaut trié par
|
|
2567
|
+
* occurrence **décroissant** et **non borné** : la 1re page contient les events les plus LOINTAINS.
|
|
2568
|
+
* Trois paramètres **optionnels** (legacy 2026-09-04, miroir Node) rendent ce mode utilisable pour
|
|
2569
|
+
* « les prochains » :
|
|
2570
|
+
* - `from` (Date ou ISO) : borne basse « pas encore terminé à from » (ponctuel : `endDate ≥ from` sinon
|
|
2571
|
+
* `startDate ≥ from` ; récurrent : prochaine occurrence calculée DEPUIS `from`, un créneau en cours reste
|
|
2572
|
+
* servi). C'est aussi l'**ancre** de la pagination : `next()` rejoue la même valeur, la clé de tri des
|
|
2573
|
+
* récurrents ne bouge pas entre deux pages — passe donc un instant figé, pas `new Date()` à chaque appel.
|
|
2574
|
+
* - `to` (Date ou ISO) : borne haute stricte sur la clé d'occurrence.
|
|
2575
|
+
* - `order` : `"asc"` | `"desc"` (défaut `"desc"`).
|
|
2576
|
+
* Dès qu'un des trois est présent, chaque ligne porte **`endDateSortFormat`** (fin d'occurrence calculée
|
|
2577
|
+
* serveur, dans le fuseau de l'événement ; `null` sans fin connue) — ne PAS la recalculer côté client.
|
|
2578
|
+
* Sans eux, la réponse est strictement celle d'avant (aucune clé nouvelle).
|
|
2579
|
+
* « Les prochains » = `{ from: now, order: "asc" }` · « Les passés » = `{ to: now, order: "desc", recurrency: false }`.
|
|
2566
2580
|
*
|
|
2567
2581
|
* Le scope costum (`sourceKey`) s'applique dans les **deux** modes.
|
|
2568
2582
|
*
|
|
2569
|
-
* `recurrency`
|
|
2570
|
-
*
|
|
2571
|
-
*
|
|
2583
|
+
* `recurrency` (booléen) : omettre ou `true` = récurrents inclus, `false` = exclus (en LISTE, la requête des
|
|
2584
|
+
* récurrents est sautée). Fiable sur les deux serveurs depuis le 2026-09-04 (parse booléen legacy + miroir
|
|
2585
|
+
* Node) — l'ancienne garde `const:false` du contrat est levée.
|
|
2572
2586
|
*
|
|
2573
2587
|
* `startDateUTC`/`endDateUTC` acceptent un **`Date` ou une string ISO** : un `Date` est coercé en ISO
|
|
2574
2588
|
* (`toISOString()`) avant l'envoi (le fil reste `type:string`). Évite le piège de l'ISO partielle
|
|
@@ -2579,9 +2593,14 @@ export declare class BaseEntity<TServerData = any> {
|
|
|
2579
2593
|
* const page = await org.searchEventsCostum({ startDateUTC: debut, endDateUTC: new Date("2026-06-30T23:59:59Z") });
|
|
2580
2594
|
* page.results.forEach((e) => console.log(e.serverData.name, e.serverData.startDateSort));
|
|
2581
2595
|
*
|
|
2582
|
-
// Mode LISTE —
|
|
2583
|
-
*
|
|
2596
|
+
// Mode LISTE — les prochains à partir de maintenant (en cours compris), une ligne par récurrent
|
|
2597
|
+
* const now = new Date(); // ancre figée, rejouée par next()
|
|
2598
|
+
* let p = await org.searchEventsCostum({ indexStep: 20, from: now, order: "asc" });
|
|
2599
|
+
* p.results.forEach((e) => console.log(e.serverData.startDateSortFormat, e.serverData.endDateSortFormat));
|
|
2584
2600
|
* if (p.hasNext) p = await p.next();
|
|
2601
|
+
*
|
|
2602
|
+
// Mode LISTE — les passés, du plus récent, sans récurrent
|
|
2603
|
+
* const passes = await org.searchEventsCostum({ indexStep: 20, to: now, order: "desc", recurrency: false });
|
|
2585
2604
|
*/
|
|
2586
2605
|
searchEventsCostum(data?: SearchEventsCostumInput, options?: {
|
|
2587
2606
|
restoredState?: PaginatorState;
|
|
@@ -4200,9 +4200,21 @@ export interface GetEventsData {
|
|
|
4200
4200
|
countType?: unknown[];
|
|
4201
4201
|
fediverse: boolean;
|
|
4202
4202
|
/**
|
|
4203
|
-
*
|
|
4203
|
+
* Inclure les événements récurrents (openingHours). Omis = inclure. `false` = exclure : en mode LISTE la requête des récurrents est sautée (comme avant 14c2caa1), en mode CALENDRIER les clauses openingHours.dayOfWeek ne sont pas posées. Depuis le 2026-09-04 le legacy parse la valeur en booléen (filter_var FILTER_VALIDATE_BOOLEAN) et le backend Node fait de même : `true`/`false` sont fiables sur les 2 serveurs (byte-parité prouvée). Historique : `=== true` strict (BUG-L-031, `true` excluait), puis truthy 14c2caa1 (la chaîne "false" INCLUAIT, BUG-L-259).
|
|
4204
4204
|
*/
|
|
4205
|
-
recurrency?:
|
|
4205
|
+
recurrency?: boolean;
|
|
4206
|
+
/**
|
|
4207
|
+
* Mode LISTE seulement (sans startDateUTC/endDateUTC). Borne basse « pas encore terminé à from » : ponctuels endDate ≥ from (sinon startDate ≥ from, un multi-jours en cours reste servi) ; récurrents : prochaine occurrence calculée DEPUIS from au lieu de maintenant (un créneau en cours reste « la prochaine »). Sert d'ANCRE de pagination : renvoyer la même valeur à chaque page (sinon la clé de tri des récurrents bouge entre deux pages). Dès que `from`, `to` ou `order` est présent, chaque ligne porte `endDateSortFormat`. Envoyer un ISO 8601 AVEC offset (toISOString) : une date nue est lue en Europe/Paris par le legacy et en UTC par le backend Node.
|
|
4208
|
+
*/
|
|
4209
|
+
from?: string;
|
|
4210
|
+
/**
|
|
4211
|
+
* Mode LISTE seulement. Borne haute STRICTE sur la clé d'occurrence : ponctuels startDate < to ; récurrents prochaine occurrence < to. Même règle d'offset que `from`. « Les passés » = `to` = maintenant + `order` = desc + `recurrency` = false.
|
|
4212
|
+
*/
|
|
4213
|
+
to?: string;
|
|
4214
|
+
/**
|
|
4215
|
+
* Mode LISTE seulement — PAS de default déclaré : la lib injecte les defaults du contrat dans la requête, et la seule présence d'`order` déclenche le mode borné (endDateSortFormat). Défaut serveur : desc. Sens du tri sur la clé d'occurrence (startDateSort), départage _id dans le même sens ; la requête des ponctuels suit le même sens (top-K juste). « Les prochains à partir de maintenant » = `from` = maintenant + `order` = asc. Sans `from`/`to`/`order`, requête ET réponse sont strictement celles d'avant (DESC non borné, aucune clé nouvelle).
|
|
4216
|
+
*/
|
|
4217
|
+
order?: "asc" | "desc";
|
|
4206
4218
|
filters?: {
|
|
4207
4219
|
$or: {};
|
|
4208
4220
|
[k: string]: unknown;
|
|
@@ -4245,9 +4257,21 @@ export interface SearchEventsCostumData {
|
|
|
4245
4257
|
countType?: unknown[];
|
|
4246
4258
|
fediverse: boolean;
|
|
4247
4259
|
/**
|
|
4248
|
-
*
|
|
4260
|
+
* Inclure les événements récurrents (openingHours). Omis = inclure. `false` = exclure : en mode LISTE la requête des récurrents est sautée (comme avant 14c2caa1), en mode CALENDRIER les clauses openingHours.dayOfWeek ne sont pas posées. Depuis le 2026-09-04 le legacy parse la valeur en booléen (filter_var FILTER_VALIDATE_BOOLEAN) et le backend Node fait de même : `true`/`false` sont fiables sur les 2 serveurs (byte-parité prouvée). Historique : `=== true` strict (BUG-L-031, `true` excluait), puis truthy 14c2caa1 (la chaîne "false" INCLUAIT, BUG-L-259).
|
|
4261
|
+
*/
|
|
4262
|
+
recurrency?: boolean;
|
|
4263
|
+
/**
|
|
4264
|
+
* Mode LISTE seulement (sans startDateUTC/endDateUTC). Borne basse « pas encore terminé à from » : ponctuels endDate ≥ from (sinon startDate ≥ from, un multi-jours en cours reste servi) ; récurrents : prochaine occurrence calculée DEPUIS from au lieu de maintenant (un créneau en cours reste « la prochaine »). Sert d'ANCRE de pagination : renvoyer la même valeur à chaque page (sinon la clé de tri des récurrents bouge entre deux pages). Dès que `from`, `to` ou `order` est présent, chaque ligne porte `endDateSortFormat`. Envoyer un ISO 8601 AVEC offset (toISOString) : une date nue est lue en Europe/Paris par le legacy et en UTC par le backend Node.
|
|
4265
|
+
*/
|
|
4266
|
+
from?: string;
|
|
4267
|
+
/**
|
|
4268
|
+
* Mode LISTE seulement. Borne haute STRICTE sur la clé d'occurrence : ponctuels startDate < to ; récurrents prochaine occurrence < to. Même règle d'offset que `from`. « Les passés » = `to` = maintenant + `order` = desc + `recurrency` = false.
|
|
4269
|
+
*/
|
|
4270
|
+
to?: string;
|
|
4271
|
+
/**
|
|
4272
|
+
* Mode LISTE seulement — PAS de default déclaré : la lib injecte les defaults du contrat dans la requête, et la seule présence d'`order` déclenche le mode borné (endDateSortFormat). Défaut serveur : desc. Sens du tri sur la clé d'occurrence (startDateSort), départage _id dans le même sens ; la requête des ponctuels suit le même sens (top-K juste). « Les prochains à partir de maintenant » = `from` = maintenant + `order` = asc. Sans `from`/`to`/`order`, requête ET réponse sont strictement celles d'avant (DESC non borné, aucune clé nouvelle).
|
|
4249
4273
|
*/
|
|
4250
|
-
|
|
4274
|
+
order?: "asc" | "desc";
|
|
4251
4275
|
/**
|
|
4252
4276
|
* Filtres Mongo additionnels (buildFilters).
|
|
4253
4277
|
*/
|
package/types/costum/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type KnownCostumSlug = "CercleTravailleursSociauxLiberauxLaPlumeSociale" | "FabEn" | "LaReunionDesTiersLieux" | "LivingLabInnovationSocialeBraspanon" | "RoseLab" | "Santeentransition" | "alfph" | "ambitionTiersLieuxValDeLoire" | "assoKosasa" | "boclLe" | "bretagneTierslieux" | "caDuBassinDeThauTiersLieux" | "caDuBassinDeThauTiersLieux1" | "campagne" | "capTierslieux" | "catalyst" | "ccDesCaussesALaubracTiersLieux" | "chtitube" | "circuitCourt" | "cmcasHB" | "cmcasHauteBretagne" | "coFinancementTierslieux" | "coeurNumerique" | "communLundi" | "consortiumIledefranceTierslieux" | "copHautsdefrance" | "createchFablabDeLaMjcDeSaintjean" | "cressDeLaReunion1" | "cressReunion" | "cressReunionNetwork" | "ctenat" | "cyberReunion" | "daLocu" | "ecocentre" | "ekisphere" | "equipementsSportifs974" | "fabLimagne" | "fabdulys1" | "fablab3dplant" | "fablabChauxdefonds" | "federationDesCae" | "fianarantsoaAlimentation" | "formationGenerique" | "franceTierslieux" | "heraultTiersLieux" | "hinaura" | "hubmayotte" | "hubnouvellecaledonie" | "hubpolynesiefrancaise" | "hubreunion" | "hubterritoires" | "hubwallisetfutuna" | "hva" | "ibv2" | "institutBleu" | "journalInsoumisChambery" | "kpacite" | "laCompagnieDesTierslieux" | "laCooperativeTierslieux" | "laMaisonDesFaiseurs" | "laMinoterie1" | "laMyne" | "laReunionPourUnNumeriqueInclusif" | "laRosee" | "laSemaineDesTierslieux" | "laTresseTierslieu" | "labEnCommuns" | "labboite" | "lakou" | "lapossession" | "lattesTiersLieux" | "leFaugaTiersLieux" | "leTamponTiersLieux" | "lesCommunsDesTierslieux" | "lesImaginationsFertiles" | "lidairesTiersLieux" | "littoralHautsDeFrance" | "lotetgaronneTiersLieux" | "mayottePourUnNumeriqueInclusif" | "meir" | "montpellierMediterraneeMetropoleTiersLieux" | "montpellierTiersLieux" | "navigatorDesTierslieux" | "notragora" | "nouvellecaledoniePourUnNumeriqueInclusif" | "openAtlas" | "parent62" | "polynesieFrancaisePourUnNumeriqueInclusif" | "prdr" | "pyreneesatlantiquesTiersLieux" | "redlab" | "relief" | "reseauDesTierslieuxDeGuyane" | "reseauDesTierslieuxDeMayotte" | "reseauDesTierslieuxDuGrandEst" | "reseauNormandDesTierslieux" | "reseauRegionalDesTierslieuxGuadeloupe" | "reseauRegionalDesTierslieuxMartinique" | "reseauTierslieux" | "rfflabs" | "ries" | "sLieux" | "saintJosephTiersLieux" | "saintbenoitTiersLieux" | "saintbenoitTiersLieux1" | "saintbenoitTiersLieux2" | "saintpaulSport1" | "saintpaulTiersLieux" | "saintpierreTiersLieux" | "savoieTiersLieux" | "siteDuPactePourLaTransition" | "sportSanteBienetre" | "sudTierslieux" | "suppa" | "terramies" | "testeTplFormation" | "tiersLieuxGenerique" | "tierslieuxBfc" | "tierslieuxbelgique" | "tierslieuxorg" | "tierslieuxorg1" | "transiter" | "vhelioPeiTour2025" | "wallisetfutunaPourUnNumeriqueInclusif";
|
|
1
|
+
export type KnownCostumSlug = "CercleTravailleursSociauxLiberauxLaPlumeSociale" | "FabEn" | "LaReunionDesTiersLieux" | "LivingLabInnovationSocialeBraspanon" | "RoseLab" | "Santeentransition" | "alfph" | "ambitionTiersLieuxValDeLoire" | "assoKosasa" | "associationEkilibre" | "boclLe" | "bretagneTierslieux" | "caDuBassinDeThauTiersLieux" | "caDuBassinDeThauTiersLieux1" | "campagne" | "capTierslieux" | "catalyst" | "ccDesCaussesALaubracTiersLieux" | "chtitube" | "circuitCourt" | "cmcasHB" | "cmcasHauteBretagne" | "coFinancementTierslieux" | "coeurNumerique" | "communLundi" | "consortiumIledefranceTierslieux" | "copHautsdefrance" | "createchFablabDeLaMjcDeSaintjean" | "cressDeLaReunion1" | "cressReunion" | "cressReunionNetwork" | "ctenat" | "cyberReunion" | "daLocu" | "ecocentre" | "ekisphere" | "equipementsSportifs974" | "fabLimagne" | "fabdulys1" | "fablab3dplant" | "fablabChauxdefonds" | "federationDesCae" | "fianarantsoaAlimentation" | "formationGenerique" | "franceTierslieux" | "heraultTiersLieux" | "hinaura" | "hubmayotte" | "hubnouvellecaledonie" | "hubpolynesiefrancaise" | "hubreunion" | "hubterritoires" | "hubwallisetfutuna" | "hva" | "ibv2" | "institutBleu" | "journalInsoumisChambery" | "kpacite" | "laCompagnieDesTierslieux" | "laCooperativeTierslieux" | "laMaisonDesFaiseurs" | "laMinoterie1" | "laMyne" | "laReunionPourUnNumeriqueInclusif" | "laRosee" | "laSemaineDesTierslieux" | "laTresseTierslieu" | "labEnCommuns" | "labboite" | "lakou" | "lapossession" | "lattesTiersLieux" | "leFaugaTiersLieux" | "leTamponTiersLieux" | "lesCommunsDesTierslieux" | "lesImaginationsFertiles" | "lidairesTiersLieux" | "littoralHautsDeFrance" | "lotetgaronneTiersLieux" | "mayottePourUnNumeriqueInclusif" | "meir" | "montpellierMediterraneeMetropoleTiersLieux" | "montpellierTiersLieux" | "navigatorDesTierslieux" | "notragora" | "nouvellecaledoniePourUnNumeriqueInclusif" | "openAtlas" | "parent62" | "polynesieFrancaisePourUnNumeriqueInclusif" | "prdr" | "pyreneesatlantiquesTiersLieux" | "redlab" | "relief" | "reseauDesTierslieuxDeGuyane" | "reseauDesTierslieuxDeMayotte" | "reseauDesTierslieuxDuGrandEst" | "reseauNormandDesTierslieux" | "reseauRegionalDesTierslieuxGuadeloupe" | "reseauRegionalDesTierslieuxMartinique" | "reseauTierslieux" | "rfflabs" | "ries" | "sLieux" | "saintJosephTiersLieux" | "saintbenoitTiersLieux" | "saintbenoitTiersLieux1" | "saintbenoitTiersLieux2" | "saintpaulSport1" | "saintpaulTiersLieux" | "saintpierreTiersLieux" | "savoieTiersLieux" | "siteDuPactePourLaTransition" | "sportSanteBienetre" | "sudTierslieux" | "suppa" | "terramies" | "testeTplFormation" | "tiersLieuxGenerique" | "tierslieuxBfc" | "tierslieuxbelgique" | "tierslieuxorg" | "tierslieuxorg1" | "transiter" | "vhelioPeiTour2025" | "wallisetfutunaPourUnNumeriqueInclusif";
|
|
2
2
|
export type Collection = "addPhoto" | "badges" | "classifieds" | "crowdfunding" | "events" | "organizations" | "person" | "poi" | "projects" | "proposal" | "ressources";
|
|
3
3
|
export interface CostumExtensionField {
|
|
4
4
|
name: string;
|
|
@@ -143,6 +143,57 @@ export interface CostumFieldMap {
|
|
|
143
143
|
image?: string;
|
|
144
144
|
};
|
|
145
145
|
};
|
|
146
|
+
associationEkilibre: {
|
|
147
|
+
organizations: {
|
|
148
|
+
affiliate?: string | boolean;
|
|
149
|
+
affiliateTo?: string;
|
|
150
|
+
autreDescription?: string;
|
|
151
|
+
formLocality?: string;
|
|
152
|
+
image?: string;
|
|
153
|
+
infoGeneral?: Record<string, unknown>;
|
|
154
|
+
legalStatus?: string | string[];
|
|
155
|
+
link?: string;
|
|
156
|
+
linkedin?: string;
|
|
157
|
+
location?: string;
|
|
158
|
+
mobile?: string;
|
|
159
|
+
otherPersonInChargeTitle?: string;
|
|
160
|
+
otherRepresentativeTitle?: string;
|
|
161
|
+
personInChargeCivility?: string | string[];
|
|
162
|
+
personInChargeEmail?: string;
|
|
163
|
+
personInChargeFirstName?: string;
|
|
164
|
+
personInChargeName?: string;
|
|
165
|
+
personInChargeTelephone?: string | number;
|
|
166
|
+
personInChargeTitle?: "Président" | "Maire.sse" | "Chef.fe d'entreprise" | "Chef.fe d'établissement" | "Autre...";
|
|
167
|
+
representativeCivility?: string | string[];
|
|
168
|
+
representativeEmail?: string;
|
|
169
|
+
representativeFirstName?: string;
|
|
170
|
+
representativeName?: string;
|
|
171
|
+
representativeTelephone?: string | number;
|
|
172
|
+
representativeTitle?: "Président" | "Maire.sse" | "Chef.fe d'entreprise" | "Chef.fe d'établissement" | "Autre...";
|
|
173
|
+
responsableCivilePro?: Record<string, unknown>;
|
|
174
|
+
responsableSameAsRepresent?: string | boolean;
|
|
175
|
+
sextionInfo?: Record<string, unknown>;
|
|
176
|
+
sextionInfoRepresentant?: Record<string, unknown>;
|
|
177
|
+
sextionInfoResponsable?: Record<string, unknown>;
|
|
178
|
+
sigle?: string;
|
|
179
|
+
similarLink?: Record<string, unknown>;
|
|
180
|
+
siren?: string | number;
|
|
181
|
+
statusActor?: string | string[];
|
|
182
|
+
statusCommunale?: string | string[];
|
|
183
|
+
statusFile?: Record<string, unknown>;
|
|
184
|
+
statusPrimaire?: string | string[];
|
|
185
|
+
statusSecondaire?: string | string[];
|
|
186
|
+
youtube?: string;
|
|
187
|
+
};
|
|
188
|
+
poi: {
|
|
189
|
+
category?: string;
|
|
190
|
+
featured?: string | boolean;
|
|
191
|
+
link?: string;
|
|
192
|
+
publicationDate?: string;
|
|
193
|
+
publicationStatus?: string;
|
|
194
|
+
status?: string | string[];
|
|
195
|
+
};
|
|
196
|
+
};
|
|
146
197
|
boclLe: {
|
|
147
198
|
badges: {
|
|
148
199
|
thematic?: string | string[];
|