@communecter/cocolight-api-client 1.0.172 → 1.0.179

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@communecter/cocolight-api-client",
3
- "version": "1.0.172",
3
+ "version": "1.0.179",
4
4
  "description": "Client Axios simplifié pour l'API cocolight",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1999,12 +1999,20 @@ export declare class BaseEntity<TServerData = any> {
1999
1999
  result: boolean;
2000
2000
  msg?: string;
2001
2001
  }>;
2002
- /** Retire l'élément (type,id) de `reference.costum` du costum de cette entité + nettoie les liens. */
2002
+ /**
2003
+ * Retire l'élément (type,id) de `reference.costum` du costum de cette entité.
2004
+ * ⚠ PAS de `costumId`/`costumType` : aucun caller legacy n'envoie ces clés (institutBleu/meir/
2005
+ * essConnect admin.js postent `{id, type, origin, sourceKey}`), et leur présence déclenche la
2006
+ * branche « Clean links » de `Admin::removeSourceFromElement` — fatale (500) pour les types
2007
+ * absents de `Link::$linksTypes[parent]` (poi…), et destructrice pour les autres (elle
2008
+ * déconnecterait de VRAIS liens membres entre le porteur et l'élément dé-référencé).
2009
+ */
2003
2010
  removeReference(type: string, id: string): Promise<{
2004
2011
  result: boolean;
2005
2012
  msg?: string;
2006
2013
  }>;
2007
- /** Détache l'élément (type,id) de `source.keys` du costum de cette entité (dé-rattachement) + nettoie les liens. */
2014
+ /** Détache l'élément (type,id) de `source.keys` du costum de cette entité (dé-rattachement). Même
2015
+ * parité de payload que `removeReference` : jamais `costumId`/`costumType`. */
2008
2016
  removeFromSource(type: string, id: string): Promise<{
2009
2017
  result: boolean;
2010
2018
  msg?: string;
@@ -2289,6 +2297,43 @@ export declare class BaseEntity<TServerData = any> {
2289
2297
  }): {
2290
2298
  next: () => Promise<PaginatorPage<TOut>>;
2291
2299
  };
2300
+ /**
2301
+ * PÉRIMÈTRE d'une lecture de RELATION (« mes organisations », « les événements de cette orga »…).
2302
+ *
2303
+ * Ces lectures étaient réseau-wide par construction : le contrat imposait `notSourceKey: true`
2304
+ * (`const` + `default`), le client ne pouvait donc rien demander d'autre. Le contrat a été ouvert ;
2305
+ * ce helper porte désormais la règle, pour les neuf méthodes concernées.
2306
+ *
2307
+ * TROIS CAS, et un seul est neuf :
2308
+ * • l'appelant a tranché lui-même (`notSourceKey` présent dans ses données) → on ne touche à rien ;
2309
+ * • il demande un périmètre costum (`sourceKey` non vide) → la clé reste ABSENTE du corps ;
2310
+ * • il ne demande rien → on repose `notSourceKey: true`, le défaut historique, à l'octet près.
2311
+ *
2312
+ * POURQUOI L'ABSENCE, et pas `notSourceKey: false`. La garde serveur est un `empty()`
2313
+ * (`SearchNew.php:999-1002`, et son portage `shared/search.ts:389-391`) :
2314
+ * `if (!empty(sourceKey) && empty(notSourceKey)) buildSourceKey(...)`. Or ces endpoints sont en
2315
+ * `x-www-form-urlencoded` : un `false` part sur le fil en chaîne `"false"`, et `empty("false")` vaut
2316
+ * FAUX. Envoyer `false` désactiverait donc le périmètre exactement comme `true` — la clé est active
2317
+ * dès qu'elle est PRÉSENTE. C'est aussi pourquoi le `default` a dû quitter le contrat : l'AJV du
2318
+ * client tourne en `useDefaults` et l'aurait réinjectée après le finalizer.
2319
+ */
2320
+ protected _applyRelationScope<T extends Record<string, unknown>>(finalData: T): T;
2321
+ /**
2322
+ * Fusionne la clause de RELATION (appartenance, contribution, parenté…) avec les `filters` de
2323
+ * l'appelant, au lieu de l'écraser — et ne pose RIEN quand l'appelant n'envoie pas de `filters`, pour
2324
+ * que le défaut du contrat (résolu par AJV) reste la source et que le corps émis ne bouge pas.
2325
+ *
2326
+ * L'écrasement était la règle jusqu'ici (`getProjects`, `getEvents`, branches non-`isMe`), et il rend
2327
+ * le périmètre costum inutilisable : le `filters` métier de l'appelant emportait la clause. Le miroir
2328
+ * inverse existait aussi — `User.getOrganizations` en `isMe` laissait le `filters` de l'appelant
2329
+ * REMPLACER le défaut d'appartenance, et la liste devenait « toutes les entités » au lieu de
2330
+ * « les miennes ». `getEligiblePlaces` était seul à fusionner ; c'est ce comportement qu'on généralise.
2331
+ */
2332
+ protected _mergeRelationFilters<T extends {
2333
+ filters?: unknown;
2334
+ }>(finalData: T, clause: Record<string, unknown>, options?: {
2335
+ always?: boolean;
2336
+ }): T;
2292
2337
  /**
2293
2338
  * Injection de contexte Communecter dans une requête finalizer.
2294
2339
  */
@@ -1,5 +1,5 @@
1
1
  import type ApiClient from "../ApiClient.js";
2
- import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, SearchEventsCostumData, ShareEventsData, InviteMembersData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, DeleteCoformAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData } from "./EndpointApi.types.js";
2
+ import type { DocumentListData, PersonRegisterData, AuthenticateUrlData, RefreshTokenUrlData, PasswordRecoveryData, ServerExchangeTokenData, ChangePasswordData, DeleteAccountData, UpdateSettingsData, UpdateBlockDescriptionData, UpdateBlockInfoData, UpdateBlockSocialData, UpdateBlockLocalityData, UpdateBlockSlugData, CheckData, ProfilImageData, ProfilBannerData, GetElementsAboutData, MulticonnectData, GetNewsData, GetNewsByIdData, AddNewsData, AddImageNewsData, AddFileNewsData, DeleteNewsData, UpdateNewsData, ShareNewsData, GetCommentsData, AddCommentsData, DeleteCommentsData, UpdateCommentsData, SearchTagsData, ShowVoteData, GlobalAutocompleteData, CityAutocompleteData, CityAutocompleteByCountryData, SuggestionInputData, GetProjectsNoAdminData, GetProjectsAdminData, GetPoisNoAdminData, GetPoisAdminData, GlobalAutocompleteAdminCostumData, GetOrganizationsNoAdminData, GetOrganizationsAdminData, GetUserEligiblePlacesData, GetMembersNoAdminData, GetMembersAdminData, GetFriendsAdminData, GetSubscriptionsData, GetSubscriptionsAdminData, GetSubscribersData, GetSubscribersAdminData, GetContributorsNoAdminData, GetContributorsAdminData, GetBadgesData, GetBadgesFiltersData, ConnectData, DisconnectData, GetElementsKeyData, GetFavorisData, DeleteFavorisData, AddFavorisData, AddOrganizationData, AddProjectData, AddPoiData, AddEventData, DeleteElementData, AddImageElementData, LinkValidateData, SearchMemberAutocompleteData, GetNotificationsData, GetNotificationsCountData, NotificationUpdateData, MarkNotificationAsReadData, ActivitypubSearchData, ActivitypubLinkData, ActivitypubGetCommunityData, GetBadgeData, AddBadgesData, AssignBadgesData, GetEventsData, SearchEventsCostumData, ShareEventsData, InviteMembersData, FollowData, GetCostumJsonData, GlobalAutocompleteCostumData, NavigatorGettlData, CostumEventRequestActorsData, CostumEventRequestSubeventsData, CostumEventRequestElementEventData, CostumEventRequestCategoriesData, CostumEventRequestDatesData, CostumEventRequestEventData, CostumEventRequestLinkTlToEventData, CostumEventRequestLoadContextTagData, GetGalleryData, GetAttendeesNoAdminData, GetAttendeesAdminData, CoformAnswersSearchData, CoformAnswersByIdData, GetCoformByIdData, CoformUploadAnswerFileData, DeleteCoformAnswerFileData, CoformGetAnswerFilesData, GetCoformCatalogsData, SaveCoformAnswerData, GetCoformAnswerHistoryData, GetCoformMultievalDataData, GetCoformCommontableContributorsData, AddVoteData, AddReportAbuseData, UpdatePathValueData, DeleteDocumentByContextData, DeleteDocumentByIdData, DemoteAdminData, CostumFilterCoformData, CostumFilterCoformByPathData, GetCountriesData, SearchZonesData, CoformAnswersByFormsData, GenerateAnswerFromFormData, FundingEnvelopeData, CoremuOperationData, CostumProjectActionRequestNewData, CostumProjectActionRequestSetStatusData, CostumProjectActionRequestSetDateData, CostumProjectActionRequestSetContributorsData, CostumProjectActionRequestCancelData, CostumProjectActionRequestArchiveData, LinkDiscourseAccountData, UnlinkDiscourseAccountData, DiscourseProfileData, DiscourseCheckEmailData, DiscourseDismissLinkData, LinkMediawikiAccountData, UnlinkMediawikiAccountData, GetMediawikiContributionsData, AddClassifiedData, PersonActivateData, ImportPreviewData, ExportElementsData, ImportElementsData, GeocodageData, ValidateGroupData, SetSourceData, ModerateData, NewsModerateData, CommentModerateData, UploadDocumentData, ZoneGetShapeData, ZoneGetZonirisData, CostumListValuesData } from "./EndpointApi.types.js";
3
3
  /**
4
4
  * Classe EndpointApi générée automatiquement depuis endpoints-copie.json
5
5
  */
@@ -1530,5 +1530,14 @@ export declare class EndpointApi {
1530
1530
  * @throws {Error} - En cas d'erreur inattendue.
1531
1531
  */
1532
1532
  zoneGetZoniris(data: ZoneGetZonirisData): Promise<any>;
1533
+ /**
1534
+ * Valeurs d'une liste de costum : Résout UNE liste DYNAMIQUE déclarée d'un costum (costum.lists.<nom>) et renvoie ses VALEURS. Ne sert QUE les dynamiques — {collection,distinct,where} ou {type:badges,category} — car elles seules manquent au client : Costum::getAndConvertLists n'est appelée qu'au rendu des pages PHP et son résultat part dans le costum mis en cache, tandis que getcostumjson livre la déclaration BRUTE. Une liste STATIQUE (tableau, ou map valeur→libellé) porte au contraire ses valeurs dans sa déclaration : elle voyage déjà dans le costum que le client a en mémoire, la demander ici serait un aller-retour pour rien — elle est donc REFUSÉE, avec un message qui dit où la lire. La résolution est faite à la demande, hors cache : les valeurs sont FRAÎCHES, donc une valeur saisie librement apparaît aux suivants. Le client ne choisit ni la collection ni le champ — il demande une liste par son NOM, et c'est la déclaration en base qui porte collection/champ/filtre : la surface exposée est exactement celle que le costum a publiée. Une liste d'ENTITÉS ({collection,where,fields}) est refusée, ses clés étant des ObjectId et non des valeurs.
1535
+ * Constant : COSTUM_LIST_VALUES
1536
+ * @param data - Données envoyées à l'API
1537
+ * @returns Les données de réponse.
1538
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1539
+ * @throws {Error} - En cas d'erreur inattendue.
1540
+ */
1541
+ costumListValues(data: CostumListValuesData): Promise<any>;
1533
1542
  }
1534
1543
  export default EndpointApi;
@@ -298,21 +298,37 @@ export interface UpdateBlockLocalityData {
298
298
  level1: string;
299
299
  level1Name: string;
300
300
  /**
301
- * ID du département. Peut être vide pour les pays étrangers.
301
+ * ID du niveau administratif intermédiaire propre à certains pays (ex. Wallonie en Belgique, province malgache). Absent pour la France.
302
+ */
303
+ level2?: string;
304
+ /**
305
+ * Nom du niveau intermédiaire. Absent pour la France.
306
+ */
307
+ level2Name?: string;
308
+ /**
309
+ * ID de la région. Peut être vide pour les pays étrangers.
302
310
  */
303
311
  level3?: string;
304
312
  /**
305
- * Nom du département. Peut être vide pour les pays étrangers.
313
+ * Nom de la région. Peut être vide pour les pays étrangers.
306
314
  */
307
315
  level3Name?: string;
308
316
  /**
309
- * ID de la commune. Peut être vide pour les pays étrangers.
317
+ * ID du département. Peut être vide pour les pays étrangers.
310
318
  */
311
319
  level4?: string;
312
320
  /**
313
- * Nom de la commune. Peut être vide pour les pays étrangers.
321
+ * Nom du département. Peut être vide pour les pays étrangers.
314
322
  */
315
323
  level4Name?: string;
324
+ /**
325
+ * ID de l'EPCI (intercommunalité). Peut être vide.
326
+ */
327
+ level5?: string;
328
+ /**
329
+ * Nom de l'EPCI. Peut être vide.
330
+ */
331
+ level5Name?: string;
316
332
  postalCode?: string;
317
333
  streetAddress?: string;
318
334
  };
@@ -1139,15 +1155,15 @@ export interface GetProjectsNoAdminData {
1139
1155
  */
1140
1156
  countType: "projects"[];
1141
1157
  /**
1142
- * Flag pour ne pas filtrer sur une clé de source spécifique
1158
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1143
1159
  */
1144
- notSourceKey: true;
1160
+ notSourceKey?: boolean;
1161
+ /**
1162
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1163
+ */
1164
+ sourceKey?: string[];
1145
1165
  filters: {
1146
- $or?: Record<string, unknown>;
1147
- /**
1148
- * This interface was referenced by `undefined`'s JSON-Schema definition
1149
- * via the `patternProperty` "^links\.contributors\.(?:[a-f0-9]{24}|@\w+)$".
1150
- */
1166
+ $or: {};
1151
1167
  [k: string]: unknown;
1152
1168
  };
1153
1169
  /**
@@ -1217,15 +1233,15 @@ export interface GetProjectsAdminData {
1217
1233
  */
1218
1234
  countType: "projects"[];
1219
1235
  /**
1220
- * Flag pour ne pas filtrer sur une clé de source spécifique
1236
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1221
1237
  */
1222
- notSourceKey: true;
1238
+ notSourceKey?: boolean;
1239
+ /**
1240
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1241
+ */
1242
+ sourceKey?: string[];
1223
1243
  filters: {
1224
- $or?: Record<string, unknown>;
1225
- /**
1226
- * This interface was referenced by `undefined`'s JSON-Schema definition
1227
- * via the `patternProperty` "^links\.contributors\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$".
1228
- */
1244
+ $or: {};
1229
1245
  [k: string]: unknown;
1230
1246
  };
1231
1247
  /**
@@ -1306,17 +1322,15 @@ export interface GetPoisNoAdminData {
1306
1322
  */
1307
1323
  countType: "poi"[];
1308
1324
  /**
1309
- * Flag pour ne pas filtrer sur une clé de source spécifique
1325
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1310
1326
  */
1311
- notSourceKey: true;
1327
+ notSourceKey?: boolean;
1328
+ /**
1329
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1330
+ */
1331
+ sourceKey?: string[];
1312
1332
  filters: {
1313
- /**
1314
- * This interface was referenced by `undefined`'s JSON-Schema definition
1315
- * via the `patternProperty` "^parent\.(?:[a-f0-9]{24}|@\w+)$".
1316
- */
1317
- [k: string]: {
1318
- $exists: true;
1319
- };
1333
+ [k: string]: unknown;
1320
1334
  };
1321
1335
  /**
1322
1336
  * Localité vide ou spécifique
@@ -1385,17 +1399,15 @@ export interface GetPoisAdminData {
1385
1399
  */
1386
1400
  countType: "poi"[];
1387
1401
  /**
1388
- * Flag pour ne pas filtrer sur une clé de source spécifique
1402
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1389
1403
  */
1390
- notSourceKey: true;
1404
+ notSourceKey?: boolean;
1405
+ /**
1406
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1407
+ */
1408
+ sourceKey?: string[];
1391
1409
  filters: {
1392
- /**
1393
- * This interface was referenced by `undefined`'s JSON-Schema definition
1394
- * via the `patternProperty` "^parent\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$".
1395
- */
1396
- [k: string]: {
1397
- $exists: true;
1398
- };
1410
+ [k: string]: unknown;
1399
1411
  };
1400
1412
  /**
1401
1413
  * Localité vide ou spécifique
@@ -1658,10 +1670,16 @@ export interface GetOrganizationsNoAdminData {
1658
1670
  */
1659
1671
  countType: ("NGO" | "Cooperative" | "LocalBusiness" | "Group" | "GovernmentOrganization")[];
1660
1672
  /**
1661
- * Flag pour ne pas filtrer sur une clé de source spécifique
1673
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1662
1674
  */
1663
- notSourceKey: true;
1664
- filters: {};
1675
+ notSourceKey?: boolean;
1676
+ /**
1677
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1678
+ */
1679
+ sourceKey?: string[];
1680
+ filters: {
1681
+ [k: string]: unknown;
1682
+ };
1665
1683
  /**
1666
1684
  * Localité vide ou spécifique
1667
1685
  */
@@ -1729,9 +1747,13 @@ export interface GetOrganizationsAdminData {
1729
1747
  */
1730
1748
  countType: ("NGO" | "Cooperative" | "LocalBusiness" | "Group" | "GovernmentOrganization")[];
1731
1749
  /**
1732
- * Flag pour ne pas filtrer sur une clé de source spécifique
1750
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1733
1751
  */
1734
- notSourceKey: true;
1752
+ notSourceKey?: boolean;
1753
+ /**
1754
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1755
+ */
1756
+ sourceKey?: string[];
1735
1757
  filters: {
1736
1758
  [k: string]: unknown;
1737
1759
  };
@@ -1804,9 +1826,13 @@ export interface GetUserEligiblePlacesData {
1804
1826
  */
1805
1827
  countType?: string[];
1806
1828
  /**
1807
- * true = désactive le filtrage automatique par sourceKey du contexte (cf. SearchNew.php). Configurable dynamiquement selon la config du finder du formulaire.
1829
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
1808
1830
  */
1809
- notSourceKey: boolean;
1831
+ notSourceKey?: boolean;
1832
+ /**
1833
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
1834
+ */
1835
+ sourceKey?: string[];
1810
1836
  /**
1811
1837
  * Filtres MongoDB arbitraires : tags, source.key, links.members.{id}, etc. Les valeurs peuvent être une string (match exact), un tableau (any-of), ou un objet ($exists/$in/$ne/etc).
1812
1838
  */
@@ -2883,21 +2909,37 @@ export interface AddOrganizationData {
2883
2909
  level1: string;
2884
2910
  level1Name: string;
2885
2911
  /**
2886
- * ID du département. Peut être vide pour les pays étrangers.
2912
+ * ID du niveau administratif intermédiaire propre à certains pays (ex. Wallonie en Belgique, province malgache). Absent pour la France.
2913
+ */
2914
+ level2?: string;
2915
+ /**
2916
+ * Nom du niveau intermédiaire. Absent pour la France.
2917
+ */
2918
+ level2Name?: string;
2919
+ /**
2920
+ * ID de la région. Peut être vide pour les pays étrangers.
2887
2921
  */
2888
2922
  level3?: string;
2889
2923
  /**
2890
- * Nom du département. Peut être vide pour les pays étrangers.
2924
+ * Nom de la région. Peut être vide pour les pays étrangers.
2891
2925
  */
2892
2926
  level3Name?: string;
2893
2927
  /**
2894
- * ID de la commune. Peut être vide pour les pays étrangers.
2928
+ * ID du département. Peut être vide pour les pays étrangers.
2895
2929
  */
2896
2930
  level4?: string;
2897
2931
  /**
2898
- * Nom de la commune. Peut être vide pour les pays étrangers.
2932
+ * Nom du département. Peut être vide pour les pays étrangers.
2899
2933
  */
2900
2934
  level4Name?: string;
2935
+ /**
2936
+ * ID de l'EPCI (intercommunalité). Peut être vide.
2937
+ */
2938
+ level5?: string;
2939
+ /**
2940
+ * Nom de l'EPCI. Peut être vide.
2941
+ */
2942
+ level5Name?: string;
2901
2943
  postalCode?: string;
2902
2944
  streetAddress?: string;
2903
2945
  };
@@ -3166,21 +3208,37 @@ export interface AddProjectData {
3166
3208
  level1: string;
3167
3209
  level1Name: string;
3168
3210
  /**
3169
- * ID du département. Peut être vide pour les pays étrangers.
3211
+ * ID du niveau administratif intermédiaire propre à certains pays (ex. Wallonie en Belgique, province malgache). Absent pour la France.
3212
+ */
3213
+ level2?: string;
3214
+ /**
3215
+ * Nom du niveau intermédiaire. Absent pour la France.
3216
+ */
3217
+ level2Name?: string;
3218
+ /**
3219
+ * ID de la région. Peut être vide pour les pays étrangers.
3170
3220
  */
3171
3221
  level3?: string;
3172
3222
  /**
3173
- * Nom du département. Peut être vide pour les pays étrangers.
3223
+ * Nom de la région. Peut être vide pour les pays étrangers.
3174
3224
  */
3175
3225
  level3Name?: string;
3176
3226
  /**
3177
- * ID de la commune. Peut être vide pour les pays étrangers.
3227
+ * ID du département. Peut être vide pour les pays étrangers.
3178
3228
  */
3179
3229
  level4?: string;
3180
3230
  /**
3181
- * Nom de la commune. Peut être vide pour les pays étrangers.
3231
+ * Nom du département. Peut être vide pour les pays étrangers.
3182
3232
  */
3183
3233
  level4Name?: string;
3234
+ /**
3235
+ * ID de l'EPCI (intercommunalité). Peut être vide.
3236
+ */
3237
+ level5?: string;
3238
+ /**
3239
+ * Nom de l'EPCI. Peut être vide.
3240
+ */
3241
+ level5Name?: string;
3184
3242
  postalCode?: string;
3185
3243
  streetAddress?: string;
3186
3244
  };
@@ -3286,21 +3344,37 @@ export interface AddPoiData {
3286
3344
  level1: string;
3287
3345
  level1Name: string;
3288
3346
  /**
3289
- * ID du département. Peut être vide pour les pays étrangers.
3347
+ * ID du niveau administratif intermédiaire propre à certains pays (ex. Wallonie en Belgique, province malgache). Absent pour la France.
3348
+ */
3349
+ level2?: string;
3350
+ /**
3351
+ * Nom du niveau intermédiaire. Absent pour la France.
3352
+ */
3353
+ level2Name?: string;
3354
+ /**
3355
+ * ID de la région. Peut être vide pour les pays étrangers.
3290
3356
  */
3291
3357
  level3?: string;
3292
3358
  /**
3293
- * Nom du département. Peut être vide pour les pays étrangers.
3359
+ * Nom de la région. Peut être vide pour les pays étrangers.
3294
3360
  */
3295
3361
  level3Name?: string;
3296
3362
  /**
3297
- * ID de la commune. Peut être vide pour les pays étrangers.
3363
+ * ID du département. Peut être vide pour les pays étrangers.
3298
3364
  */
3299
3365
  level4?: string;
3300
3366
  /**
3301
- * Nom de la commune. Peut être vide pour les pays étrangers.
3367
+ * Nom du département. Peut être vide pour les pays étrangers.
3302
3368
  */
3303
3369
  level4Name?: string;
3370
+ /**
3371
+ * ID de l'EPCI (intercommunalité). Peut être vide.
3372
+ */
3373
+ level5?: string;
3374
+ /**
3375
+ * Nom de l'EPCI. Peut être vide.
3376
+ */
3377
+ level5Name?: string;
3304
3378
  postalCode?: string;
3305
3379
  streetAddress?: string;
3306
3380
  };
@@ -3580,21 +3654,37 @@ export interface AddEventData {
3580
3654
  level1: string;
3581
3655
  level1Name: string;
3582
3656
  /**
3583
- * ID du département. Peut être vide pour les pays étrangers.
3657
+ * ID du niveau administratif intermédiaire propre à certains pays (ex. Wallonie en Belgique, province malgache). Absent pour la France.
3658
+ */
3659
+ level2?: string;
3660
+ /**
3661
+ * Nom du niveau intermédiaire. Absent pour la France.
3662
+ */
3663
+ level2Name?: string;
3664
+ /**
3665
+ * ID de la région. Peut être vide pour les pays étrangers.
3584
3666
  */
3585
3667
  level3?: string;
3586
3668
  /**
3587
- * Nom du département. Peut être vide pour les pays étrangers.
3669
+ * Nom de la région. Peut être vide pour les pays étrangers.
3588
3670
  */
3589
3671
  level3Name?: string;
3590
3672
  /**
3591
- * ID de la commune. Peut être vide pour les pays étrangers.
3673
+ * ID du département. Peut être vide pour les pays étrangers.
3592
3674
  */
3593
3675
  level4?: string;
3594
3676
  /**
3595
- * Nom de la commune. Peut être vide pour les pays étrangers.
3677
+ * Nom du département. Peut être vide pour les pays étrangers.
3596
3678
  */
3597
3679
  level4Name?: string;
3680
+ /**
3681
+ * ID de l'EPCI (intercommunalité). Peut être vide.
3682
+ */
3683
+ level5?: string;
3684
+ /**
3685
+ * Nom de l'EPCI. Peut être vide.
3686
+ */
3687
+ level5Name?: string;
3598
3688
  postalCode?: string;
3599
3689
  streetAddress?: string;
3600
3690
  };
@@ -3927,6 +4017,14 @@ export interface AssignBadgesData {
3927
4017
  [k: string]: unknown;
3928
4018
  }
3929
4019
  export interface GetEventsData {
4020
+ /**
4021
+ * Périmètre(s) costum. Le serveur en fait `$or[ source.keys ∈, reference.costum ∈ ]` (SearchNew::searchSourceKey) — les deux voies de rattachement comptent. N'a d'effet que si `notSourceKey` est ABSENT du corps.
4022
+ */
4023
+ sourceKey?: string[];
4024
+ /**
4025
+ * Périmètre RÉSEAU. PRÉSENT (quelle que soit sa valeur) = le filtrage par sourceKey est désactivé ; ABSENT = `sourceKey` s'applique. La garde serveur est un `empty()` (SearchNew.php:999) : en x-www-form-urlencoded un `false` part en chaîne "false", qui n'est pas vide — envoyer `false` désactiverait donc le périmètre, comme `true`. Sans `default` au contrat : le défaut historique (réseau) est posé par le finalizer, seul endroit d'où la clé peut aussi être OMISE.
4026
+ */
4027
+ notSourceKey?: boolean;
3930
4028
  searchType: "events"[];
3931
4029
  indexMin: number;
3932
4030
  indexStep: number;
@@ -3966,11 +4064,7 @@ export interface GetEventsData {
3966
4064
  */
3967
4065
  recurrency?: false;
3968
4066
  filters?: {
3969
- $or?: Record<string, unknown>;
3970
- /**
3971
- * This interface was referenced by `undefined`'s JSON-Schema definition
3972
- * via the `patternProperty` "^links\.attendees\.(?:[a-f0-9]{24}|@\w+)$".
3973
- */
4067
+ $or: {};
3974
4068
  [k: string]: unknown;
3975
4069
  };
3976
4070
  [k: string]: unknown;
@@ -6193,6 +6287,8 @@ export interface AddClassifiedData {
6193
6287
  level3Name?: string;
6194
6288
  level4?: string;
6195
6289
  level4Name?: string;
6290
+ level5?: string;
6291
+ level5Name?: string;
6196
6292
  postalCode?: string;
6197
6293
  streetAddress?: string;
6198
6294
  };
@@ -6572,3 +6668,22 @@ export interface ZoneGetZonirisData {
6572
6668
  sourceKey?: string[];
6573
6669
  [k: string]: unknown;
6574
6670
  }
6671
+ export interface CostumListValuesData {
6672
+ /**
6673
+ * Slug du costum (élément porteur ou document `costum`).
6674
+ */
6675
+ slug: string;
6676
+ /**
6677
+ * Nom de la liste déclarée dans `costum.lists`.
6678
+ */
6679
+ list: string;
6680
+ /**
6681
+ * Recherche SERVEUR sur les valeurs. Comparaison canonique — minuscules, accents dépliés, ponctuation retirée — donc « economie » trouve « Économie ». C'est la MÊME normalisation que la clé de tri (`sansAccents` / `cleTri`), pour que les deux ports filtrent exactement le même ensemble. Sans `q`, la liste entière est rendue.
6682
+ */
6683
+ q?: string;
6684
+ /**
6685
+ * Nombre MAXIMAL de valeurs rendues, appliqué APRÈS `q`, le dédoublonnage et le tri — donc sur une liste déjà déterministe. Quand il coupe, la réponse porte `total` et `truncated`. Sans `limit`, la liste entière est rendue (comportement historique).
6686
+ */
6687
+ limit?: number;
6688
+ [k: string]: unknown;
6689
+ }
@@ -48,6 +48,8 @@ export interface PostalAddress {
48
48
  level3Name?: string;
49
49
  level4?: string;
50
50
  level4Name?: string;
51
+ level5?: string;
52
+ level5Name?: string;
51
53
  addressCountry?: string;
52
54
  localityId?: string;
53
55
  inseeDensity?: number;