@communecter/cocolight-api-client 1.0.12 → 1.0.14

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.
@@ -69,7 +69,7 @@ class EndpointApi {
69
69
  /**
70
70
  * Enregistrement d'un utilisateur : Permet d’enregistrer un nouvel utilisateur avec ses informations personnelles.
71
71
  * Constant : PERSON_REGISTER
72
- * @param {Object} data - Les données à envoyer.
72
+ * @param {object} data - data
73
73
  * @param {string} data.name - Nom complet de l'utilisateur
74
74
  * @param {string} data.username - Pseudo ou identifiant unique
75
75
  * @param {string} data.email - Adresse email de l'utilisateur
@@ -89,7 +89,7 @@ class EndpointApi {
89
89
  /**
90
90
  * Authentification : Permet de se connecter en utilisant une adresse email et un mot de passe.
91
91
  * Constant : AUTHENTICATE_URL
92
- * @param {Object} data - Les données à envoyer.
92
+ * @param {object} data - data
93
93
  * @param {string} data.email - Adresse email de l'utilisateur
94
94
  * @param {string} data.password - Mot de passe de l'utilisateur
95
95
  * @returns {Promise<Object>} - Les données de réponse.
@@ -103,7 +103,7 @@ class EndpointApi {
103
103
  /**
104
104
  * Rafraîchir un token : Permet de rafraîchir un token d'accès expiré en utilisant un token de rafraîchissement.
105
105
  * Constant : REFRESH_TOKEN_URL
106
- * @param {Object} data - Les données à envoyer.
106
+ * @param {object} data - Permet de rafraîchir un token d'accès expiré en utilisant un token de rafraîchissement.
107
107
  * @param {string} data.refreshToken - Token de rafraîchissement
108
108
  * @returns {Promise<Object>} - Les données de réponse.
109
109
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -128,9 +128,9 @@ class EndpointApi {
128
128
  /**
129
129
  * Récupération de mot de passe : Envoie un email pour récupérer le mot de passe.
130
130
  * Constant : PASSWORD_RECOVERY
131
- * @param {Object} data - Les données à envoyer.
131
+ * @param {object} data - data
132
132
  * @param {string} data.email - Adresse email de l'utilisateur
133
- * @param {string} data.type - Type d'email envoyé (default: "password")
133
+ * @param {"password"} data.type - Type d'email envoyé (default: "password")
134
134
  * @returns {Promise<Object>} - Les données de réponse.
135
135
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
136
136
  * @throws {Error} - En cas d'erreur inattendue.
@@ -142,7 +142,7 @@ class EndpointApi {
142
142
  /**
143
143
  * Échange de token avec un autre serveur : Permet de se connecter à un autre serveur Communecter en échangeant un token.
144
144
  * Constant : SERVER_EXCHANGE_TOKEN
145
- * @param {Object} data - Les données à envoyer.
145
+ * @param {object} data - data
146
146
  * @param {string} data.serverUrl - URL du serveur distant
147
147
  * @returns {Promise<Object>} - Les données de réponse.
148
148
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -156,8 +156,8 @@ class EndpointApi {
156
156
  /**
157
157
  * Changer le mot de passe : Permet de changer le mot de passe d'un utilisateur.
158
158
  * Constant : CHANGE_PASSWORD
159
- * @param {Object} data - Les données à envoyer.
160
- * @param {string} data.mode - Mode ou contexte du changement (default: "changePassword")
159
+ * @param {object} data - data
160
+ * @param {"changePassword"} data.mode - Mode ou contexte du changement (default: "changePassword")
161
161
  * @param {string} data.userId - Identifiant de l'utilisateur (default: "@userId")
162
162
  * @param {string} data.oldPassword - Ancien mot de passe
163
163
  * @param {string} data.newPassword - Nouveau mot de passe
@@ -175,9 +175,9 @@ class EndpointApi {
175
175
  /**
176
176
  * Supprimer un compte : Permet de supprimer un compte utilisateur.
177
177
  * Constant : DELETE_ACCOUNT
178
- * @param {Object} data - Les données à envoyer.
178
+ * @param {object} data - data
179
179
  * @param {string} data.reason - Raison de la suppression (default: "")
180
- * @param {Object} data.pathParams - Les paramètres de chemin.
180
+ * @param {object} data.pathParams - data.pathParams
181
181
  * @param {string} data.pathParams.id - Identifiant de l'utilisateur à supprimer (default: "@userId")
182
182
  * @returns {Promise<Object>} - Les données de réponse.
183
183
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -191,10 +191,10 @@ class EndpointApi {
191
191
  /**
192
192
  * Mettre à jour les paramètres d'un élément : Mise à jour des paramètres spécifiques d'un élément.
193
193
  * Constant : UPDATE_SETTINGS
194
- * @param {Object} data - Les données à envoyer.
194
+ * @param {object} data - data
195
195
  * @param {string} data.type - data.type
196
- * @param {undefined} data.value - data.value
197
- * @param {string} data.typeEntity - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
196
+ * @param {any} data.value - data.value
197
+ * @param {"citoyens" | "projects" | "organizations"} data.typeEntity - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
198
198
  * @param {string} data.idEntity - Id de l'élément
199
199
  * @returns {Promise<Object>} - Les données de réponse.
200
200
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -208,9 +208,9 @@ class EndpointApi {
208
208
  /**
209
209
  * Mettre à jour la description d'un élément : Permet de mettre à jour la description courte et complète d'un élément.
210
210
  * Constant : UPDATE_BLOCK_DESCRIPTION
211
- * @param {Object} data - Les données à envoyer.
212
- * @param {string} data.block - Nom du bloc à mettre à jour (doit être 'descriptions') (default: "descriptions")
213
- * @param {string} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
211
+ * @param {object} data - data
212
+ * @param {"descriptions"} data.block - Nom du bloc à mettre à jour (doit être 'descriptions') (default: "descriptions")
213
+ * @param {"citoyens" | "projects" | "organizations"} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
214
214
  * @param {string} data.id - ID de l'élément concerné
215
215
  * @param {string | null} data.scope - Périmètre de mise à jour (default: "")
216
216
  * @param {string} data.descMentions - Mentions dans la description (default: "")
@@ -228,9 +228,9 @@ class EndpointApi {
228
228
  /**
229
229
  * Mettre à jour les informations d'un élément : Permet de mettre à jour les informations générales d'un élément (nom, contacts, etc.).
230
230
  * Constant : UPDATE_BLOCK_INFO
231
- * @param {Object} data - Les données à envoyer.
232
- * @param {string} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
233
- * @param {string} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
231
+ * @param {object} data - data
232
+ * @param {"info"} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
233
+ * @param {"citoyens" | "projects" | "organizations"} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
234
234
  * @param {string} data.id - ID de l'élément concerné
235
235
  * @param {string} data.scope - Périmètre de mise à jour (default: "")
236
236
  * @returns {Promise<Object>} - Les données de réponse.
@@ -245,9 +245,9 @@ class EndpointApi {
245
245
  /**
246
246
  * Mettre à jour les réseaux sociaux d'un élément : Permet de mettre à jour les liens vers les réseaux sociaux d'un élément.
247
247
  * Constant : UPDATE_BLOCK_SOCIAL
248
- * @param {Object} data - Les données à envoyer.
249
- * @param {string} data.block - Nom du bloc à mettre à jour (doit être 'network') (default: "network")
250
- * @param {string} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
248
+ * @param {object} data - data
249
+ * @param {"network"} data.block - Nom du bloc à mettre à jour (doit être 'network') (default: "network")
250
+ * @param {"citoyens" | "projects" | "organizations"} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
251
251
  * @param {string} data.id - ID de l'élément concerné
252
252
  * @param {string} data.scope - Périmètre de mise à jour (default: "")
253
253
  * @param {string} data.gitlab - Compte Gitlab
@@ -271,21 +271,21 @@ class EndpointApi {
271
271
  /**
272
272
  * Mettre à jour les localités d'un élément : Permet de mettre à jour l'adresse et les informations géographiques d'un élément.
273
273
  * Constant : UPDATE_BLOCK_LOCALITY
274
- * @param {Object} data - Les données à envoyer.
275
- * @param {string} data.block - Nom du bloc à mettre à jour (doit être 'localities') (default: "localities")
276
- * @param {string} data.typeElement - Type d'élément (default: "citoyens")
274
+ * @param {object} data - data
275
+ * @param {"localities"} data.block - Nom du bloc à mettre à jour (doit être 'localities') (default: "localities")
276
+ * @param {"citoyens" | "projects" | "organizations"} data.typeElement - Type d'élément (default: "citoyens")
277
277
  * @param {string} data.id - ID de l'élément concerné
278
278
  * @param {string} data.scope - Périmètre de mise à jour (default: "")
279
279
  * @param {object} data.geo - Coordonnées géographiques
280
- * @param {string} data.geo.@type - data.geo.@type
280
+ * @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
281
281
  * @param {string | number} data.geo.latitude - data.geo.latitude
282
282
  * @param {string | number} data.geo.longitude - data.geo.longitude
283
283
  * @param {object} data.geoPosition - Position géographique GeoJSON
284
- * @param {string} data.geoPosition.type - Type GeoJSON (doit être 'Point')
284
+ * @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
285
285
  * @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
286
- * @param {boolean} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
286
+ * @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
287
287
  * @param {object} data.address - data.address
288
- * @param {string} data.address.@type - data.address.@type
288
+ * @param {"PostalAddress"} data.address.@type - data.address.@type
289
289
  * @param {string} data.address.addressCountry - data.address.addressCountry
290
290
  * @param {string} data.address.codeInsee - data.address.codeInsee
291
291
  * @param {string} data.address.addressLocality - data.address.addressLocality
@@ -310,9 +310,9 @@ class EndpointApi {
310
310
  /**
311
311
  * Mettre à jour le slug d'un élément : Permet de mettre à jour le slug pour une URL simplifiée.
312
312
  * Constant : UPDATE_BLOCK_SLUG
313
- * @param {Object} data - Les données à envoyer.
314
- * @param {string} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
315
- * @param {string} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
313
+ * @param {object} data - data
314
+ * @param {"info"} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
315
+ * @param {"citoyens" | "projects" | "organizations"} data.typeElement - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
316
316
  * @param {string} data.id - ID de l'élément concerné
317
317
  * @param {string} data.scope - data.scope (default: "")
318
318
  * @param {string} data.slug - Slug simplifié pour URL
@@ -328,10 +328,10 @@ class EndpointApi {
328
328
  /**
329
329
  * Vérifier l'état d'une URL : Vérifie si une URL (slug) est valide ou disponible.
330
330
  * Constant : CHECK
331
- * @param {Object} data - Les données à envoyer.
332
- * @param {string} data.block - Nom du bloc (default: "info")
331
+ * @param {object} data - data
332
+ * @param {"info"} data.block - Nom du bloc (default: "info")
333
333
  * @param {string} data.id - ID de l'élément
334
- * @param {string} data.type - Type d'élément (default: "citoyens")
334
+ * @param {"citoyens" | "projects" | "organizations"} data.type - Type d'élément (default: "citoyens")
335
335
  * @param {string} data.slug - Slug à vérifier
336
336
  * @returns {Promise<Object>} - Les données de réponse.
337
337
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -345,10 +345,10 @@ class EndpointApi {
345
345
  /**
346
346
  * Mettre à jour l'image de profil : Permet de mettre à jour l'image de profil d'un utilisateur ou d'une entité.
347
347
  * Constant : PROFIL_IMAGE
348
- * @param {Object} data - Les données à envoyer.
349
- * @param {undefined} data.profil_avatar - Fichier image de profil au format binaire
350
- * @param {Object} data.pathParams - Les paramètres de chemin.
351
- * @param {string} data.pathParams.folder - Type d'entité (default: "citoyens")
348
+ * @param {object} data - data
349
+ * @param {any} data.profil_avatar - Fichier image de profil au format binaire
350
+ * @param {object} data.pathParams - data.pathParams
351
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.folder - Type d'entité (default: "citoyens")
352
352
  * @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité
353
353
  * @returns {Promise<Object>} - Les données de réponse.
354
354
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -362,10 +362,10 @@ class EndpointApi {
362
362
  /**
363
363
  * Obtenir les éléments liés : Récupère les informations détaillées d'un élément et de ses éléments liés.
364
364
  * Constant : GET_ELEMENTS_ABOUT
365
- * @param {Object} data - Les données à envoyer.
366
- * @param {string} data.tpl - Template utilisé (ex: ficheInfoElement) (default: "ficheInfoElement")
367
- * @param {Object} data.pathParams - Les paramètres de chemin.
368
- * @param {string} data.pathParams.type - Type d'entité (default: "citoyens")
365
+ * @param {object} data - data
366
+ * @param {"ficheInfoElement"} data.tpl - Template utilisé (ex: ficheInfoElement) (default: "ficheInfoElement")
367
+ * @param {object} data.pathParams - data.pathParams
368
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.type - Type d'entité (default: "citoyens")
369
369
  * @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
370
370
  * @returns {Promise<Object>} - Les données de réponse.
371
371
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -378,11 +378,11 @@ class EndpointApi {
378
378
  /**
379
379
  * Gérer des connexions multiples : Permet d’inviter ou de connecter plusieurs utilisateurs en même temps à une entité.
380
380
  * Constant : MULTICONNECT
381
- * @param {Object} data - Les données à envoyer.
381
+ * @param {object} data - data
382
382
  * @param {string} data.parentId - ID de l'entité parente
383
- * @param {string} data.parentType - Type de l'entité parente (default: "citoyens")
383
+ * @param {"citoyens" | "projects" | "organizations"} data.parentType - Type de l'entité parente (default: "citoyens")
384
384
  * @param {object} data.listInvite - Liste des citoyens invités
385
- * @param {Object.<string, object>} data.listInvite - Objet dont les clés keys matching ^(citoyens|projects|organizations)$
385
+ * @param {Object.<string, object | any>} data.listInvite - Clés matching "^(citoyens|projects|organizations)$"
386
386
  * @returns {Promise<Object>} - Les données de réponse.
387
387
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
388
388
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -395,14 +395,14 @@ class EndpointApi {
395
395
  /**
396
396
  * Récupérer les actualités : Récupère la liste d’actualités selon plusieurs critères.
397
397
  * Constant : GET_NEWS
398
- * @param {Object} data - Les données à envoyer.
398
+ * @param {object} data - data
399
399
  * @param {number} data.dateLimit - Limite de date timestamp ou 0 (default: 0)
400
400
  * @param {object} data.search - data.search
401
401
  * @param {string} data.search.name - Nom ou terme recherché (default: "")
402
402
  * @param {number} data.indexStep - Nombre de résultats par page (default: 12)
403
- * @param {Object} data.pathParams - Les paramètres de chemin.
403
+ * @param {object} data.pathParams - data.pathParams
404
404
  * @param {boolean} data.pathParams.isLive - Indique si l'actualité est en direct (default: true)
405
- * @param {string} data.pathParams.type - Type d'actualité (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
405
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.type - Type d'actualité (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
406
406
  * @param {string} data.pathParams.id - ID de l'élément (ex: ID d'un utilisateur, d'un projet ou d'une organisation)
407
407
  * @returns {Promise<Object>} - Les données de réponse.
408
408
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -415,7 +415,7 @@ class EndpointApi {
415
415
  /**
416
416
  * Récupérer des actualités par IDs : Récupère des actualités à partir d’une liste d’identifiants.
417
417
  * Constant : GET_NEWS_BY_ID
418
- * @param {Object} data - Les données à envoyer.
418
+ * @param {object} data - data
419
419
  * @param {Array<string>} data.ids - Liste des IDs d’actualités à récupérer
420
420
  * @returns {Promise<Object>} - Les données de réponse.
421
421
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -428,14 +428,14 @@ class EndpointApi {
428
428
  /**
429
429
  * Ajouter une actualité : Ajoute une nouvelle actualité.
430
430
  * Constant : ADD_NEWS
431
- * @param {Object} data - Les données à envoyer.
431
+ * @param {object} data - data
432
432
  * @param {string} data.text - Contenu de l’actualité
433
- * @param {string} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
433
+ * @param {"public" | "private" | "restricted"} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
434
434
  * @param {boolean} data.markdownActive - Markdown activé (true/false) (default: true)
435
435
  * @param {string} data.parentId - ID de l'entité parente
436
- * @param {string} data.parentType - Type de l'entité parente (default: "citoyens")
437
- * @param {string} data.type - Type de l'objet, toujours 'news'. (default: "news")
438
- * @param {boolean} data.json - Indique que la réponse est au format JSON. (default: true)
436
+ * @param {"citoyens" | "projects" | "organizations"} data.parentType - Type de l'entité parente (default: "citoyens")
437
+ * @param {"news"} data.type - Type de l'objet, toujours 'news'. (default: "news")
438
+ * @param {true} data.json - Indique que la réponse est au format JSON. (default: true)
439
439
  * @param {array | string} data.tags - Tags : "" pour effacer tous les tags, ou tableau de mots-clés.
440
440
  * @param {object} data.mediaImg - Optionnel. Informations sur les images associées à la news.
441
441
  * @param {number} data.mediaImg.countImages - Nombre d'images.
@@ -443,8 +443,7 @@ class EndpointApi {
443
443
  * @param {object} data.mediaFile - Optionnel. Informations sur les fichiers associés à la news.
444
444
  * @param {number} data.mediaFile.countFiles - Nombre de fichiers.
445
445
  * @param {Array<string>} data.mediaFile.files - Liste des identifiants ou chemins de fichiers.
446
- * @param {object} data.mentions - Liste des mentions sous forme d'objet avec des clés dynamiques représentant l'indice de la mention.
447
- * @param {Object.<string, object>} data.mentions - Objet dont les clés keys matching ^[0-9]+$
446
+ * @param {Array<object>} data.mentions - Optionnel. Liste des personnes mentionnées.
448
447
  * @returns {Promise<Object>} - Les données de réponse.
449
448
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
450
449
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -457,10 +456,10 @@ class EndpointApi {
457
456
  /**
458
457
  * Ajouter une image à une actualité : Ajoute une images à une actualité.
459
458
  * Constant : ADD_IMAGE_NEWS
460
- * @param {Object} data - Les données à envoyer.
461
- * @param {undefined} data.newsImage - Fichier image à télécharger
462
- * @param {Object} data.pathParams - Les paramètres de chemin.
463
- * @param {string} data.pathParams.folder - Type de l'entité parente (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
459
+ * @param {object} data - data
460
+ * @param {any} data.newsImage - Fichier image à télécharger
461
+ * @param {object} data.pathParams - data.pathParams
462
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.folder - Type de l'entité parente (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
464
463
  * @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité parente
465
464
  * @returns {Promise<Object>} - Les données de réponse.
466
465
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -474,10 +473,10 @@ class EndpointApi {
474
473
  /**
475
474
  * Ajouter un fichier à une actualité : Ajoute un fichier à une actualité.
476
475
  * Constant : ADD_FILE_NEWS
477
- * @param {Object} data - Les données à envoyer.
478
- * @param {undefined} data.newsFile - Fichier image à télécharger
479
- * @param {Object} data.pathParams - Les paramètres de chemin.
480
- * @param {string} data.pathParams.folder - Type de l'entité parente (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
476
+ * @param {object} data - data
477
+ * @param {any} data.newsFile - Fichier image à télécharger
478
+ * @param {object} data.pathParams - data.pathParams
479
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.folder - Type de l'entité parente (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
481
480
  * @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité parente
482
481
  * @returns {Promise<Object>} - Les données de réponse.
483
482
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -491,9 +490,9 @@ class EndpointApi {
491
490
  /**
492
491
  * Supprimer une actualité : Supprime une actualité existante.
493
492
  * Constant : DELETE_NEWS
494
- * @param {Object} data - Les données à envoyer.
493
+ * @param {object} data - data
495
494
  * @param {boolean} data.isLive - data.isLive (default: false)
496
- * @param {Object} data.pathParams - Les paramètres de chemin.
495
+ * @param {object} data.pathParams - data.pathParams
497
496
  * @param {string} data.pathParams.id - ID de l'actualité à supprimer
498
497
  * @returns {Promise<Object>} - Les données de réponse.
499
498
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -507,14 +506,14 @@ class EndpointApi {
507
506
  /**
508
507
  * Mettre à jour une actualité : Met à jour le contenu d’une actualité existante.
509
508
  * Constant : UPDATE_NEWS
510
- * @param {Object} data - Les données à envoyer.
509
+ * @param {object} data - data
511
510
  * @param {string} data.idNews - ID de l'actualité à mettre à jour
512
511
  * @param {string} data.text - Contenu de l’actualité
513
- * @param {string} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
512
+ * @param {"public" | "private" | "restricted"} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
514
513
  * @param {boolean} data.markdownActive - Markdown activé (true/false) (default: true)
515
514
  * @param {string} data.parentId - ID de l'entité parente
516
- * @param {string} data.parentType - Type de l'entité parente (default: "citoyens")
517
- * @param {string} data.type - Type de l'objet, toujours 'news'. (default: "news")
515
+ * @param {"citoyens" | "projects" | "organizations"} data.parentType - Type de l'entité parente (default: "citoyens")
516
+ * @param {"news"} data.type - Type de l'objet, toujours 'news'. (default: "news")
518
517
  * @param {array | string} data.tags - Tags : "" pour effacer tous les tags, ou tableau de mots-clés.
519
518
  * @param {object} data.mediaImg - Optionnel. Informations sur les images associées à la news.
520
519
  * @param {number} data.mediaImg.countImages - Nombre d'images.
@@ -522,8 +521,7 @@ class EndpointApi {
522
521
  * @param {object} data.mediaFile - Optionnel. Informations sur les fichiers associés à la news.
523
522
  * @param {number} data.mediaFile.countFiles - Nombre de fichiers.
524
523
  * @param {Array<string>} data.mediaFile.files - Liste des identifiants ou chemins de fichiers.
525
- * @param {object} data.mentions - Liste des mentions sous forme d'objet avec des clés dynamiques représentant l'indice de la mention.
526
- * @param {Object.<string, object>} data.mentions - Objet dont les clés keys matching ^[0-9]+$
524
+ * @param {Array<object>} data.mentions - Optionnel. Liste des personnes mentionnées.
527
525
  * @returns {Promise<Object>} - Les données de réponse.
528
526
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
529
527
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -536,12 +534,12 @@ class EndpointApi {
536
534
  /**
537
535
  * Partager une actualité : Partage une actualité avec une entité ou un utilisateur.
538
536
  * Constant : SHARE_NEWS
539
- * @param {Object} data - Les données à envoyer.
537
+ * @param {object} data - data
540
538
  * @param {string} data.parentId - ID de l'actualité à partager
541
- * @param {string} data.parentType - Type de l'objet, toujours 'news'. (default: "news")
539
+ * @param {"news"} data.parentType - Type de l'objet, toujours 'news'. (default: "news")
542
540
  * @param {string} data.childId - ID de l'entité partageante
543
- * @param {string} data.childType - Type de l'entité partageante (default: "citoyens")
544
- * @param {string} data.connectType - Type de connexion, toujours 'share'. (default: "share")
541
+ * @param {"citoyens" | "projects" | "organizations"} data.childType - Type de l'entité partageante (default: "citoyens")
542
+ * @param {"share"} data.connectType - Type de connexion, toujours 'share'. (default: "share")
545
543
  * @param {string} data.comment - Commentaire de partage
546
544
  * @returns {Promise<Object>} - Les données de réponse.
547
545
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -555,8 +553,8 @@ class EndpointApi {
555
553
  /**
556
554
  * Récupérer les commentaires : Récupère les commentaires d’un élément.
557
555
  * Constant : GET_COMMENTS
558
- * @param {Object} data.pathParams - Les paramètres de chemin.
559
- * @param {string} data.pathParams.type - Type de l'élément (default: "news")
556
+ * @param {object} data.pathParams - data.pathParams
557
+ * @param {"news"} data.pathParams.type - Type de l'élément (default: "news")
560
558
  * @param {string} data.pathParams.id - ID de l'élément dont on veut récupérer les commentaires
561
559
  * @returns {Promise<Object>} - Les données de réponse.
562
560
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -569,11 +567,11 @@ class EndpointApi {
569
567
  /**
570
568
  * Ajouter un commentaire : Ajoute un commentaire à une actualité ou autre contexte.
571
569
  * Constant : ADD_COMMENTS
572
- * @param {Object} data - Les données à envoyer.
570
+ * @param {object} data - data
573
571
  * @param {string} data.parentCommentId - ID du commentaire parent (optionnel)
574
572
  * @param {string} data.text - Contenu du commentaire
575
573
  * @param {string} data.contextId - ID de l'élément auquel le commentaire est associé
576
- * @param {string} data.contextType - Type de l'élément auquel le commentaire est associé (default: "news")
574
+ * @param {"news"} data.contextType - Type de l'élément auquel le commentaire est associé (default: "news")
577
575
  * @param {string} data.argval - Valeur de l'argument (optionnel) (default: "")
578
576
  * @param {string} data.path - Chemin de l'élément (optionnel) (default: "")
579
577
  * @param {Array<object>} data.mentions - data.mentions
@@ -589,7 +587,7 @@ class EndpointApi {
589
587
  /**
590
588
  * Supprimer un commentaire : Supprime un commentaire existant.
591
589
  * Constant : DELETE_COMMENTS
592
- * @param {Object} data.pathParams - Les paramètres de chemin.
590
+ * @param {object} data.pathParams - data.pathParams
593
591
  * @param {string} data.pathParams.id - ID du commentaire à supprimer
594
592
  * @returns {Promise<Object>} - Les données de réponse.
595
593
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -603,7 +601,7 @@ class EndpointApi {
603
601
  /**
604
602
  * Mettre à jour un commentaire : Met à jour le contenu d’un commentaire.
605
603
  * Constant : UPDATE_COMMENTS
606
- * @param {Object} data - Les données à envoyer.
604
+ * @param {object} data - data
607
605
  * @param {string} data.id - ID du commentaire à mettre à jour
608
606
  * @param {object} data.params - data.params
609
607
  * @param {string} data.params.text - Nouveau texte du commentaire
@@ -620,7 +618,7 @@ class EndpointApi {
620
618
  /**
621
619
  * Rechercher des tags : Recherche des tags correspondant à un mot-clé.
622
620
  * Constant : SEARCH_TAGS
623
- * @param {Object} data.pathParams - Les paramètres de chemin.
621
+ * @param {object} data.pathParams - data.pathParams
624
622
  * @param {string} data.pathParams.q - Mot-clé de recherche
625
623
  * @returns {Promise<Object>} - Les données de réponse.
626
624
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -633,8 +631,8 @@ class EndpointApi {
633
631
  /**
634
632
  * Afficher les votes d'une actualité : Récupère la liste des votes (like, love, etc.) sur une actualité.
635
633
  * Constant : SHOW_VOTE
636
- * @param {Object} data.pathParams - Les paramètres de chemin.
637
- * @param {string} data.pathParams.type - Type de l'élément (default: "news")
634
+ * @param {object} data.pathParams - data.pathParams
635
+ * @param {"news"} data.pathParams.type - Type de l'élément (default: "news")
638
636
  * @param {string} data.pathParams.id - ID de l'élément dont on veut récupérer les votes
639
637
  * @returns {Promise<Object>} - Les données de réponse.
640
638
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -647,22 +645,22 @@ class EndpointApi {
647
645
  /**
648
646
  * Recherche globale avec autocomplétion : Effectue une recherche globale avec possibilité d’autocomplétion.
649
647
  * Constant : GLOBAL_AUTOCOMPLETE
650
- * @param {Object} data - Les données à envoyer.
648
+ * @param {object} data - data
651
649
  * @param {string} data.name - Nom ou mot-clé de la recherche
652
650
  * @param {object} data.locality - Liste des localités ciblées avec leur identifiant et leur type (city ou level1)
653
- * @param {Object.<string, object>} data.locality - Objet dont les clés keys matching ^[^\s]+$
651
+ * @param {Object.<string, { id: string, type: "cities" | "level1" } | any>} data.locality - Clés matching "^[^\s]+$"
654
652
  * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche
655
653
  * @param {Array<string>} data.searchTags - Balises (tags) à utiliser pour filtrer la recherche
656
654
  * @param {object} data.ranges - Configuration des plages de résultats pour chaque type de recherche
657
- * @param {Object.<string, object>} data.ranges - Objet dont les clés keys matching ^[^\s]+$
658
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects","citoyens","poi"])
659
- * @param {number} data.indexMin - Index de départ global pour la pagination (toujours 0) (default: 0)
655
+ * @param {Object.<string, { indexMin: number, indexMax: number } | any>} data.ranges - Clés matching "^[^\s]+$"
656
+ * @param {["NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects","citoyens","poi"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects","citoyens","poi"])
657
+ * @param {0} data.indexMin - Index de départ global pour la pagination (toujours 0) (default: 0)
660
658
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination)
661
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
662
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
663
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
664
- * @param {string} data.filters - Filtres additionnels appliqués à la recherche (actuellement vide) (default: "")
665
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
659
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
660
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
661
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
662
+ * @param {""} data.filters - Filtres additionnels appliqués à la recherche (actuellement vide) (default: "")
663
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
666
664
  * @returns {Promise<Object>} - Les données de réponse.
667
665
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
668
666
  * @throws {Error} - En cas d'erreur inattendue.
@@ -674,11 +672,11 @@ class EndpointApi {
674
672
  /**
675
673
  * Recherche de villes avec autocomplétion : Recherche des villes en fonction d’un nom, autocomplétion rapide.
676
674
  * Constant : CITY_AUTOCOMPLETE
677
- * @param {Object} data - Les données à envoyer.
675
+ * @param {object} data - data
678
676
  * @param {string} data.name - Nom de la ville
679
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
680
- * @param {Array<string>} data.searchType - data.searchType (default: ["cities"])
681
- * @param {string} data.searchBy - Mode de recherche (ex: ALL) (default: "ALL")
677
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
678
+ * @param {["cities"]} data.searchType - data.searchType (default: ["cities"])
679
+ * @param {"ALL"} data.searchBy - Mode de recherche (ex: ALL) (default: "ALL")
682
680
  * @param {number} data.indexMin - Index minimum
683
681
  * @param {number} data.indexMax - Index maximum
684
682
  * @returns {Promise<Object>} - Les données de réponse.
@@ -692,7 +690,7 @@ class EndpointApi {
692
690
  /**
693
691
  * Suggestions d'entrée : Fournit des suggestions basées sur le nom recherché, etc.
694
692
  * Constant : SUGGESTION_INPUT
695
- * @param {Object} data - Les données à envoyer.
693
+ * @param {object} data - data
696
694
  * @param {string} data.name - Nom ou terme recherché
697
695
  * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche
698
696
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
@@ -708,21 +706,21 @@ class EndpointApi {
708
706
  /**
709
707
  * Récupérer les projets non administrables : Récupère les projets accessibles sans droits d'administration.
710
708
  * Constant : GET_PROJECTS_NO_ADMIN
711
- * @param {Object} data - Les données à envoyer.
709
+ * @param {object} data - data
712
710
  * @param {string} data.name - Nom ou terme recherché
713
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["projects"])
711
+ * @param {["projects"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["projects"])
714
712
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
715
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
716
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
717
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["projects"])
713
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
714
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
715
+ * @param {["projects"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["projects"])
718
716
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
719
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
717
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
720
718
  * @param {object} data.filters - data.filters (default: {"$or":{"links.contributors.@userId":{"$exists":true},"parent.@userId":{"$exists":true}},"links.contributors.@userId":{"$exists":true}})
721
719
  * @param {object} data.filters.$or - data.filters.$or
722
- * @param {Object.<string, object>} data.filters.$or - Objet dont les clés keys matching ^links\.contributors\.(?:[a-f0-9]{24}|@\w+)$ and keys matching ^parent\.(?:[a-f0-9]{24}|@\w+)$
723
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.contributors\.(?:[a-f0-9]{24}|@\w+)$
724
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
725
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
720
+ * @param {Object.<string, { $exists: true } | any>} data.filters.$or - Clés matching "^links\.contributors\.(?:[a-f0-9]{24}|@\w+)$", "^parent\.(?:[a-f0-9]{24}|@\w+)$"
721
+ * @param {Object.<string, { $exists: true } | any>} data.filters - Clés matching "^links\.contributors\.(?:[a-f0-9]{24}|@\w+)$"
722
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
723
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
726
724
  * @returns {Promise<Object>} - Les données de réponse.
727
725
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
728
726
  * @throws {Error} - En cas d'erreur inattendue.
@@ -734,23 +732,23 @@ class EndpointApi {
734
732
  /**
735
733
  * Récupérer les projets administrables : Récupère les projets pour lesquels l'utilisateur a des droits d'administration.
736
734
  * Constant : GET_PROJECTS_ADMIN
737
- * @param {Object} data - Les données à envoyer.
735
+ * @param {object} data - data
738
736
  * @param {string} data.name - Nom ou terme recherché
739
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["projects"])
737
+ * @param {["projects"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["projects"])
740
738
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
741
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
742
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
743
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["projects"])
739
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
740
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
741
+ * @param {["projects"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["projects"])
744
742
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
745
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
743
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
746
744
  * @param {object} data.filters - data.filters (default: {"$or":{"links.contributors.@{pathParams.id}":{"$exists":true},"parent.@{pathParams.id}":{"$exists":true}},"links.contributors.@{pathParams.id}":{"$exists":true}})
747
745
  * @param {object} data.filters.$or - data.filters.$or
748
- * @param {Object.<string, object>} data.filters.$or - Objet dont les clés keys matching ^links\.contributors\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^parent\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$
749
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.contributors\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$
750
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
751
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
752
- * @param {Object} data.pathParams - Les paramètres de chemin.
753
- * @param {string} data.pathParams.type - Type d'entité (default: "citoyens")
746
+ * @param {Object.<string, { $exists: true } | any>} data.filters.$or - Clés matching "^links\.contributors\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^parent\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$"
747
+ * @param {Object.<string, { $exists: true } | any>} data.filters - Clés matching "^links\.contributors\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$"
748
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
749
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
750
+ * @param {object} data.pathParams - data.pathParams
751
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.type - Type d'entité (default: "citoyens")
754
752
  * @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
755
753
  * @returns {Promise<Object>} - Les données de réponse.
756
754
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -764,19 +762,19 @@ class EndpointApi {
764
762
  /**
765
763
  * Récupérer les POIs non administrables : Récupère la liste des POIs accessibles sans droits d'administration.
766
764
  * Constant : GET_POIS_NO_ADMIN
767
- * @param {Object} data - Les données à envoyer.
765
+ * @param {object} data - data
768
766
  * @param {string} data.name - Nom ou terme recherché
769
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
767
+ * @param {["poi"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
770
768
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
771
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
772
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
773
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["poi"])
769
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
770
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
771
+ * @param {["poi"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["poi"])
774
772
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
775
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
773
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
776
774
  * @param {object} data.filters - data.filters (default: {"parent.@userId":{"$exists":true}})
777
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^parent\.(?:[a-f0-9]{24}|@\w+)$
778
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
779
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
775
+ * @param {Object.<string, { $exists: true } | any>} data.filters - Clés matching "^parent\.(?:[a-f0-9]{24}|@\w+)$"
776
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
777
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
780
778
  * @returns {Promise<Object>} - Les données de réponse.
781
779
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
782
780
  * @throws {Error} - En cas d'erreur inattendue.
@@ -788,21 +786,21 @@ class EndpointApi {
788
786
  /**
789
787
  * Récupérer les POIs administrables : Récupère la liste des POIs administrables par l’utilisateur.
790
788
  * Constant : GET_POIS_ADMIN
791
- * @param {Object} data - Les données à envoyer.
789
+ * @param {object} data - data
792
790
  * @param {string} data.name - Nom ou terme recherché
793
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
791
+ * @param {["poi"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
794
792
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
795
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
796
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
797
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["poi"])
793
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
794
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
795
+ * @param {["poi"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["poi"])
798
796
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
799
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
797
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
800
798
  * @param {object} data.filters - data.filters (default: {"parent.@{pathParams.id}":{"$exists":true}})
801
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^parent\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$
802
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
803
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
804
- * @param {Object} data.pathParams - Les paramètres de chemin.
805
- * @param {string} data.pathParams.type - Type d'entité (default: "citoyens")
799
+ * @param {Object.<string, { $exists: true } | any>} data.filters - Clés matching "^parent\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$"
800
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
801
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
802
+ * @param {object} data.pathParams - data.pathParams
803
+ * @param {"citoyens" | "projects" | "organizations"} data.pathParams.type - Type d'entité (default: "citoyens")
806
804
  * @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
807
805
  * @returns {Promise<Object>} - Les données de réponse.
808
806
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -816,19 +814,19 @@ class EndpointApi {
816
814
  /**
817
815
  * Récupérer les organisations non administrables : Récupère la liste des organisations auxquelles l’utilisateur appartient sans les administrer.
818
816
  * Constant : GET_ORGANIZATIONS_NO_ADMIN
819
- * @param {Object} data - Les données à envoyer.
817
+ * @param {object} data - data
820
818
  * @param {string} data.name - Nom ou terme recherché
821
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
819
+ * @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
822
820
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
823
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
824
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
825
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
821
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
822
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
823
+ * @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
826
824
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
827
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
825
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
828
826
  * @param {object} data.filters - data.filters (default: {"links.members.@userId":{"$exists":true},"links.members.@userId.toBeValidated":{"$exists":false},"links.members.@userId.isInviting":{"$exists":false}})
829
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.members\.(?:[a-f0-9]{24}|@\w+)$ and keys matching ^links\.members\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$ and keys matching ^links\.members\.(?:[a-f0-9]{24}|@\w+)\.isInviting$
830
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
831
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
827
+ * @param {Object.<string, { $exists: true } | { $exists: false } | any>} data.filters - Clés matching "^links\.members\.(?:[a-f0-9]{24}|@\w+)$", "^links\.members\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$", "^links\.members\.(?:[a-f0-9]{24}|@\w+)\.isInviting$"
828
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
829
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
832
830
  * @returns {Promise<Object>} - Les données de réponse.
833
831
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
834
832
  * @throws {Error} - En cas d'erreur inattendue.
@@ -840,21 +838,21 @@ class EndpointApi {
840
838
  /**
841
839
  * Récupérer les organisations administrables : Récupère les organisations administrées par l’utilisateur.
842
840
  * Constant : GET_ORGANIZATIONS_ADMIN
843
- * @param {Object} data - Les données à envoyer.
841
+ * @param {object} data - data
844
842
  * @param {string} data.name - Nom ou terme recherché
845
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
843
+ * @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
846
844
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
847
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
848
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
849
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
845
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
846
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
847
+ * @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
850
848
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
851
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
849
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
852
850
  * @param {object} data.filters - data.filters (default: {"links.members.@{pathParams.id}":{"$exists":true},"links.members.@{pathParams.id}.toBeValidated":{"$exists":false},"links.members.@{pathParams.id}.isInviting":{"$exists":false}})
853
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$
854
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
855
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
856
- * @param {Object} data.pathParams - Les paramètres de chemin.
857
- * @param {string} data.pathParams.type - Type d'entité (default: "citoyens")
851
+ * @param {Object.<string, { $exists: true } | { $exists: false } | any>} data.filters - Clés matching "^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.members\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$"
852
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
853
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
854
+ * @param {object} data.pathParams - data.pathParams
855
+ * @param {"citoyens" | "organizations"} data.pathParams.type - Type d'entité (default: "citoyens")
858
856
  * @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
859
857
  * @returns {Promise<Object>} - Les données de réponse.
860
858
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -868,19 +866,19 @@ class EndpointApi {
868
866
  /**
869
867
  * Récupérer les membres non administrables : Récupère les membres d’une organisation sans droits d’admin.
870
868
  * Constant : GET_MEMBERS_NO_ADMIN
871
- * @param {Object} data - Les données à envoyer.
869
+ * @param {object} data - data
872
870
  * @param {string} data.name - Nom ou terme recherché
873
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
871
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
874
872
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
875
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
876
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
877
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
873
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
874
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
875
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
878
876
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
879
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
877
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
880
878
  * @param {object} data.filters - data.filters
881
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.isInviting$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.isAdmin$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.roles$
882
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
883
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
879
+ * @param {Object.<string, { $exists: true } | { $exists: false } | { $exists: boolean } | { $in: Array<string> } | any>} data.filters - Clés matching "^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)$", "^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$", "^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.isInviting$", "^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.isAdmin$", "^links\.memberOf\.(?:[a-f0-9]{24}|@\w+)\.roles$"
880
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
881
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
884
882
  * @returns {Promise<Object>} - Les données de réponse.
885
883
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
886
884
  * @throws {Error} - En cas d'erreur inattendue.
@@ -892,20 +890,20 @@ class EndpointApi {
892
890
  /**
893
891
  * Récupérer les membres administrables : Récupère les membres d’une organisation administrée par l’utilisateur.
894
892
  * Constant : GET_MEMBERS_ADMIN
895
- * @param {Object} data - Les données à envoyer.
893
+ * @param {object} data - data
896
894
  * @param {string} data.name - Nom ou terme recherché
897
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
895
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
898
896
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
899
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
900
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
901
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
897
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
898
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
899
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
902
900
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
903
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
901
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
904
902
  * @param {object} data.filters - data.filters (default: {"links.memberOf.@{pathParams.id}":{"$exists":true},"links.memberOf.@{pathParams.id}.toBeValidated":{"$exists":false},"links.memberOf.@{pathParams.id}.isInviting":{"$exists":false}})
905
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isAdmin$ and keys matching ^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.roles$
906
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
907
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
908
- * @param {Object} data.pathParams - Les paramètres de chemin.
903
+ * @param {Object.<string, { $exists: true } | { $exists: boolean } | { $in: Array<string> } | any>} data.filters - Clés matching "^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$", "^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isAdmin$", "^links\.memberOf\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.roles$"
904
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
905
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
906
+ * @param {object} data.pathParams - data.pathParams
909
907
  * @param {string} data.pathParams.id - ID de l'organisation
910
908
  * @returns {Promise<Object>} - Les données de réponse.
911
909
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -919,20 +917,20 @@ class EndpointApi {
919
917
  /**
920
918
  * Récupérer les amis administrables : Récupère les amis administrée par l’utilisateur.
921
919
  * Constant : GET_FRIENDS_ADMIN
922
- * @param {Object} data - Les données à envoyer.
920
+ * @param {object} data - data
923
921
  * @param {string} data.name - Nom ou terme recherché
924
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
922
+ * @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
925
923
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
926
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
927
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
928
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
924
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
925
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
926
+ * @param {["citoyens"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
929
927
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
930
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
928
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
931
929
  * @param {object} data.filters - data.filters (default: {"links.friends.@{pathParams.id}":{"$exists":true},"links.friends.@{pathParams.id}.toBeValidated":{"$exists":false},"links.friends.@{pathParams.id}.isInviting":{"$exists":false}})
932
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$
933
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
934
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
935
- * @param {Object} data.pathParams - Les paramètres de chemin.
930
+ * @param {Object.<string, { $exists: true } | { $exists: boolean } | any>} data.filters - Clés matching "^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.friends\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$"
931
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
932
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
933
+ * @param {object} data.pathParams - data.pathParams
936
934
  * @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
937
935
  * @returns {Promise<Object>} - Les données de réponse.
938
936
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -946,19 +944,19 @@ class EndpointApi {
946
944
  /**
947
945
  * Récupérer les suivis non administrables : Liste les entités suivies sans droits d’admin.
948
946
  * Constant : GET_SUBSCRIPTIONS
949
- * @param {Object} data - Les données à envoyer.
947
+ * @param {object} data - data
950
948
  * @param {string} data.name - Nom ou terme recherché
951
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
949
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
952
950
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
953
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
954
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
955
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
951
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
952
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
953
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
956
954
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
957
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
955
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
958
956
  * @param {object} data.filters - data.filters (default: {"links.followers.@userId":{"$exists":true},"links.followers.@{userId}.toBeValidated":{"$exists":false},"links.followers.@{userId}.isInviting":{"$exists":false}})
959
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$
960
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
961
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
957
+ * @param {Object.<string, { $exists: true } | { $exists: false } | any>} data.filters - Clés matching "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$"
958
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
959
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
962
960
  * @returns {Promise<Object>} - Les données de réponse.
963
961
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
964
962
  * @throws {Error} - En cas d'erreur inattendue.
@@ -970,20 +968,20 @@ class EndpointApi {
970
968
  /**
971
969
  * Récupérer les suivis administrables : Liste les entités suivies par l’utilisateur, sur lesquelles il est admin.
972
970
  * Constant : GET_SUBSCRIPTIONS_ADMIN
973
- * @param {Object} data - Les données à envoyer.
971
+ * @param {object} data - data
974
972
  * @param {string} data.name - Nom ou terme recherché
975
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
973
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
976
974
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
977
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
978
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
979
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
975
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
976
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
977
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative","projects"])
980
978
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
981
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
979
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
982
980
  * @param {object} data.filters - data.filters (default: {"links.followers.@{pathParams.id}":{"$exists":true},"links.followers.@{pathParams.id}.toBeValidated":{"$exists":false},"links.followers.@{pathParams.id}.isInviting":{"$exists":false}})
983
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$
984
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
985
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
986
- * @param {Object} data.pathParams - Les paramètres de chemin.
981
+ * @param {Object.<string, { $exists: true } | { $exists: false } | any>} data.filters - Clés matching "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.followers\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$"
982
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
983
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
984
+ * @param {object} data.pathParams - data.pathParams
987
985
  * @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
988
986
  * @returns {Promise<Object>} - Les données de réponse.
989
987
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -997,19 +995,19 @@ class EndpointApi {
997
995
  /**
998
996
  * Récupérer les abonnés non administrables : Liste les abonnés sans droits d’admin.
999
997
  * Constant : GET_SUBSCRIBERS
1000
- * @param {Object} data - Les données à envoyer.
998
+ * @param {object} data - data
1001
999
  * @param {string} data.name - Nom ou terme recherché
1002
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
1000
+ * @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
1003
1001
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1004
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1005
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1006
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
1002
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1003
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1004
+ * @param {["citoyens"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
1007
1005
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1008
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1006
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1009
1007
  * @param {object} data.filters - data.filters (default: {"links.follows.@userId":{"$exists":true},"links.follows.@{userId}.toBeValidated":{"$exists":false},"links.follows.@{userId}.isInviting":{"$exists":false}})
1010
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$
1011
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1012
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1008
+ * @param {Object.<string, { $exists: true } | { $exists: false } | any>} data.filters - Clés matching "^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$"
1009
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1010
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1013
1011
  * @returns {Promise<Object>} - Les données de réponse.
1014
1012
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1015
1013
  * @throws {Error} - En cas d'erreur inattendue.
@@ -1021,21 +1019,21 @@ class EndpointApi {
1021
1019
  /**
1022
1020
  * Récupérer les abonnés administrables : Liste les abonnés d’une entité administrée par l’utilisateur.
1023
1021
  * Constant : GET_SUBSCRIBERS_ADMIN
1024
- * @param {Object} data - Les données à envoyer.
1022
+ * @param {object} data - data
1025
1023
  * @param {string} data.name - Nom ou terme recherché
1026
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
1024
+ * @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
1027
1025
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1028
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1029
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1030
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
1026
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1027
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1028
+ * @param {["citoyens"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens"])
1031
1029
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1032
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1030
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1033
1031
  * @param {object} data.filters - data.filters (default: {"links.follows.@{pathParams.id}":{"$exists":true}})
1034
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$
1035
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1036
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1037
- * @param {Object} data.pathParams - Les paramètres de chemin.
1038
- * @param {string} data.pathParams.type - Type d'entité (default: "citoyens")
1032
+ * @param {Object.<string, { $exists: true } | any>} data.filters - Clés matching "^links\.follows\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$"
1033
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1034
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1035
+ * @param {object} data.pathParams - data.pathParams
1036
+ * @param {"citoyens" | "organizations" | "projects"} data.pathParams.type - Type d'entité (default: "citoyens")
1039
1037
  * @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
1040
1038
  * @returns {Promise<Object>} - Les données de réponse.
1041
1039
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1049,19 +1047,19 @@ class EndpointApi {
1049
1047
  /**
1050
1048
  * Récupérer les contributeurs non administrables : Récupère les contributeurs sans droits d’admin.
1051
1049
  * Constant : GET_CONTRIBUTORS
1052
- * @param {Object} data - Les données à envoyer.
1050
+ * @param {object} data - data
1053
1051
  * @param {string} data.name - Nom ou terme recherché
1054
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1052
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1055
1053
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1056
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1057
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1058
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1054
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1055
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1056
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1059
1057
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1060
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1058
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1061
1059
  * @param {object} data.filters - data.filters
1062
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.projects\.(?:[a-f0-9]{24}|@\w+)$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.isInviting$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.isAdmin$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.roles$
1063
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1064
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1060
+ * @param {Object.<string, { $exists: true } | { $exists: false } | { $exists: boolean } | { $in: Array<string> } | any>} data.filters - Clés matching "^links\.projects\.(?:[a-f0-9]{24}|@\w+)$", "^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.toBeValidated$", "^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.isInviting$", "^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.isAdmin$", "^links\.projects\.(?:[a-f0-9]{24}|@\w+)\.roles$"
1061
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1062
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1065
1063
  * @returns {Promise<Object>} - Les données de réponse.
1066
1064
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1067
1065
  * @throws {Error} - En cas d'erreur inattendue.
@@ -1073,20 +1071,20 @@ class EndpointApi {
1073
1071
  /**
1074
1072
  * Récupérer les contributeurs administrables : Récupère les contributeurs d’un project l’utilisateur est admin.
1075
1073
  * Constant : GET_CONTRIBUTORS_ADMIN
1076
- * @param {Object} data - Les données à envoyer.
1074
+ * @param {object} data - data
1077
1075
  * @param {string} data.name - Nom ou terme recherché
1078
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1076
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1079
1077
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1080
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1081
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1082
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1078
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1079
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1080
+ * @param {["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1083
1081
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1084
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1082
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1085
1083
  * @param {object} data.filters - data.filters (default: {"links.projects.@{pathParams.id}":{"$exists":true},"links.projects.@{pathParams.id}.toBeValidated":{"$exists":false},"links.projects.@{pathParams.id}.isInviting":{"$exists":false}})
1086
- * @param {Object.<string, object>} data.filters - Objet dont les clés keys matching ^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isAdmin$ and keys matching ^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.roles$
1087
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1088
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1089
- * @param {Object} data.pathParams - Les paramètres de chemin.
1084
+ * @param {Object.<string, { $exists: true } | { $exists: boolean } | { $in: Array<string> } | any>} data.filters - Clés matching "^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))$", "^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.toBeValidated$", "^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isInviting$", "^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.isAdmin$", "^links\.projects\.(?:[a-f0-9]{24}|@(?:\{[^}]+\}|[A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)?))\.roles$"
1085
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1086
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1087
+ * @param {object} data.pathParams - data.pathParams
1090
1088
  * @param {string} data.pathParams.id - ID du projet
1091
1089
  * @returns {Promise<Object>} - Les données de réponse.
1092
1090
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1100,22 +1098,22 @@ class EndpointApi {
1100
1098
  /**
1101
1099
  * Recherche globale des badges : Recherche des badges publics en fonction de divers critères.
1102
1100
  * Constant : GET_BADGES
1103
- * @param {Object} data - Les données à envoyer.
1101
+ * @param {object} data - data
1104
1102
  * @param {string} data.name - Nom ou terme recherché
1105
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["badges"])
1103
+ * @param {["badges"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["badges"])
1106
1104
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1107
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1108
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1109
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["badges"])
1105
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1106
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1107
+ * @param {["badges"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["badges"])
1110
1108
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1111
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1109
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1112
1110
  * @param {object} data.filters - data.filters
1113
- * @param {boolean} data.filters.preferences.private - Indique si le badge est privé ou public (default: false)
1111
+ * @param {false} data.filters.preferences.private - Indique si le badge est privé ou public (default: false)
1114
1112
  * @param {boolean} data.filters.isParcours - Indique si le badge est un parcours
1115
1113
  * @param {object} data.filters.$or - data.filters.$or
1116
- * @param {Object.<string, object>} data.filters.$or - Objet dont les clés keys matching ^issuer\.(?:[a-f0-9]{24}|@\w+)$
1117
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1118
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1114
+ * @param {Object.<string, { $exists: true } | any>} data.filters.$or - Clés matching "^issuer\.(?:[a-f0-9]{24}|@\w+)$"
1115
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1116
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1119
1117
  * @returns {Promise<Object>} - Les données de réponse.
1120
1118
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1121
1119
  * @throws {Error} - En cas d'erreur inattendue.
@@ -1127,21 +1125,21 @@ class EndpointApi {
1127
1125
  /**
1128
1126
  * Recherche globale des badges : Recherche des badges publics en fonction de divers critères.
1129
1127
  * Constant : GET_BADGES_FILTERS
1130
- * @param {Object} data - Les données à envoyer.
1128
+ * @param {object} data - data
1131
1129
  * @param {string} data.name - Nom ou terme recherché
1132
- * @param {Array<string>} data.fields - data.fields (default: ["badges"])
1133
- * @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1130
+ * @param {["badges"]} data.fields - data.fields (default: ["badges"])
1131
+ * @param {["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1134
1132
  * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1135
- * @param {string} data.initType - Type initial de la recherche, vide par défaut (default: "")
1136
- * @param {boolean} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1137
- * @param {Array<string>} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1133
+ * @param {""} data.initType - Type initial de la recherche, vide par défaut (default: "")
1134
+ * @param {true} data.count - Indique si les types doivent être comptés dans les résultats (default: true)
1135
+ * @param {["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"]} data.countType - Liste fixe des types à compter dans les résultats (default: ["citoyens","projects","NGO","LocalBusiness","Group","GovernmentOrganization","Cooperative"])
1138
1136
  * @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
1139
- * @param {boolean} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1137
+ * @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
1140
1138
  * @param {object} data.ranges - data.ranges (default: {"citoyens":{"indexMin":0,"indexMax":30},"projects":{"indexMin":0,"indexMax":30},"NGO":{"indexMin":0,"indexMax":30},"LocalBusiness":{"indexMin":0,"indexMax":30},"Group":{"indexMin":0,"indexMax":30},"GovernmentOrganization":{"indexMin":0,"indexMax":30},"Cooperative":{"indexMin":0,"indexMax":30}})
1141
- * @param {Object.<string, object>} data.ranges - Objet dont les clés keys matching ^[a-zA-Z][a-zA-Z0-9]*$
1139
+ * @param {Object.<string, { indexMin: number, indexMax: number } | any>} data.ranges - Clés matching "^[a-zA-Z][a-zA-Z0-9]*$"
1142
1140
  * @param {object} data.filters - data.filters
1143
- * @param {string} data.locality - Localité vide ou spécifique (default: "")
1144
- * @param {boolean} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1141
+ * @param {""} data.locality - Localité vide ou spécifique (default: "")
1142
+ * @param {false} data.fediverse - Indique si la recherche doit s'étendre au Fediverse (toujours désactivé) (default: false)
1145
1143
  * @returns {Promise<Object>} - Les données de réponse.
1146
1144
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1147
1145
  * @throws {Error} - En cas d'erreur inattendue.
@@ -1153,12 +1151,12 @@ class EndpointApi {
1153
1151
  /**
1154
1152
  * Suivre un élément : Permet à un utilisateur de suivre un élément (projet, organisation...).
1155
1153
  * Constant : CONNECT
1156
- * @param {Object} data - Les données à envoyer.
1154
+ * @param {object} data - data
1157
1155
  * @param {string} data.childId - ID de l'élément à suivre (projet, organisation...) (default: "@userId")
1158
- * @param {string} data.childType - Type de l'élément à suivre (default: "citoyens")
1159
- * @param {string} data.parentType - Type de l'élément parent (projet, organisation...)
1156
+ * @param {"citoyens"} data.childType - Type de l'élément à suivre (default: "citoyens")
1157
+ * @param {"citoyens" | "organizations" | "projects" | "events"} data.parentType - Type de l'élément parent (projet, organisation...)
1160
1158
  * @param {string} data.parentId - ID de l'élément parent
1161
- * @param {string} data.connectType - Type de connexion
1159
+ * @param {"admin" | "member" | "contributor" | "attendee" | "friend" | "connect"} data.connectType - Type de connexion
1162
1160
  * @returns {Promise<Object>} - Les données de réponse.
1163
1161
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1164
1162
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1171,12 +1169,12 @@ class EndpointApi {
1171
1169
  /**
1172
1170
  * Se déconnecter d'un élément : Permet de supprimer le lien entre un utilisateur et un élément.
1173
1171
  * Constant : DISCONNECT
1174
- * @param {Object} data - Les données à envoyer.
1172
+ * @param {object} data - data
1175
1173
  * @param {string} data.childId - ID de l'élément à déconnecter (projet, organisation...) (default: "@userId")
1176
- * @param {string} data.childType - Type de l'élément à déconnecter (default: "citoyens")
1177
- * @param {string} data.parentType - Type de l'élément parent (projet, organisation...)
1174
+ * @param {"citoyens"} data.childType - Type de l'élément à déconnecter (default: "citoyens")
1175
+ * @param {"citoyens" | "organizations" | "projects" | "events"} data.parentType - Type de l'élément parent (projet, organisation...)
1178
1176
  * @param {string} data.parentId - ID de l'élément parent
1179
- * @param {string} data.connectType - Type de connexion
1177
+ * @param {"admin" | "member" | "contributor" | "attendee" | "friend"} data.connectType - Type de connexion
1180
1178
  * @returns {Promise<Object>} - Les données de réponse.
1181
1179
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1182
1180
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1189,7 +1187,7 @@ class EndpointApi {
1189
1187
  /**
1190
1188
  * Récuperer l'id et la collection d'un element en fonction du slug : Récuperer l'id et la collection d'un element en fonction du slug
1191
1189
  * Constant : GET_ELEMENTS_KEY
1192
- * @param {Object} data.pathParams - Les paramètres de chemin.
1190
+ * @param {object} data.pathParams - data.pathParams
1193
1191
  * @param {string} data.pathParams.slug - Slug de l'élément à récupérer
1194
1192
  * @returns {Promise<Object>} - Les données de réponse.
1195
1193
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1202,7 +1200,7 @@ class EndpointApi {
1202
1200
  /**
1203
1201
  * Récupérer les favoris d'un utilisateur : Récupère la liste des favoris d’un utilisateur.
1204
1202
  * Constant : GET_FAVORIS
1205
- * @param {Object} data.pathParams - Les paramètres de chemin.
1203
+ * @param {object} data.pathParams - data.pathParams
1206
1204
  * @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
1207
1205
  * @returns {Promise<Object>} - Les données de réponse.
1208
1206
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1216,13 +1214,13 @@ class EndpointApi {
1216
1214
  /**
1217
1215
  * Supprimer un favori : Supprime un élément des favoris de l’utilisateur.
1218
1216
  * Constant : DELETE_FAVORIS
1219
- * @param {Object} data - Les données à envoyer.
1220
- * @param {string} data.id - ID de l’utilisateur (default: "@userId")
1221
- * @param {string} data.collection - data.collection (default: "citoyens")
1222
- * @param {string} data.path - Chemin à retirer (default: "preferences.search.@{pathParams.index}")
1223
- * @param {string} data.pull - data.pull
1224
- * @param {string} data.value - Valeur (default: "")
1225
- * @param {Object} data.pathParams - Les paramètres de chemin.
1217
+ * @param {object} data - data
1218
+ * @param {"@userId"} data.id - ID de l’utilisateur (default: "@userId")
1219
+ * @param {"citoyens"} data.collection - data.collection (default: "citoyens")
1220
+ * @param {"preferences.search.@{pathParams.index}"} data.path - Chemin à retirer (default: "preferences.search.@{pathParams.index}")
1221
+ * @param {"preferences.search"} data.pull - data.pull
1222
+ * @param {""} data.value - Valeur (default: "")
1223
+ * @param {object} data.pathParams - data.pathParams
1226
1224
  * @param {number} data.pathParams.index - Index du favoris à supprimer
1227
1225
  * @returns {Promise<Object>} - Les données de réponse.
1228
1226
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1236,18 +1234,18 @@ class EndpointApi {
1236
1234
  /**
1237
1235
  * Ajouter un favori : Ajoute un élément aux favoris de l’utilisateur.
1238
1236
  * Constant : ADD_FAVORIS
1239
- * @param {Object} data - Les données à envoyer.
1240
- * @param {string} data.id - ID de l’utilisateur (default: "@userId")
1241
- * @param {string} data.collection - data.collection (default: "citoyens")
1242
- * @param {string} data.path - Chemin à ajouter (default: "preferences.search")
1243
- * @param {boolean} data.arrayForm - data.arrayForm
1237
+ * @param {object} data - data
1238
+ * @param {"@userId"} data.id - ID de l’utilisateur (default: "@userId")
1239
+ * @param {"citoyens"} data.collection - data.collection (default: "citoyens")
1240
+ * @param {"preferences.search"} data.path - Chemin à ajouter (default: "preferences.search")
1241
+ * @param {true} data.arrayForm - data.arrayForm
1244
1242
  * @param {object} data.value - data.value
1245
1243
  * @param {string} data.value.url - data.value.url
1246
1244
  * @param {string} data.value.name - data.value.name
1247
1245
  * @param {string} data.value.description - data.value.description
1248
1246
  * @param {Array<string>} data.value.tags - data.value.tags
1249
1247
  * @param {object} data.value.locality - data.value.locality
1250
- * @param {Object.<string, undefined>} data.value.locality - Objet dont les clés keys matching ^[a-f0-9]{24}$
1248
+ * @param {Object.<string, any>} data.value.locality - Clés matching "^[a-f0-9]{24}$"
1251
1249
  * @returns {Promise<Object>} - Les données de réponse.
1252
1250
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1253
1251
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1260,13 +1258,13 @@ class EndpointApi {
1260
1258
  /**
1261
1259
  * Créer une organisation : Crée une nouvelle organisation.
1262
1260
  * Constant : ADD_ORGANIZATION
1263
- * @param {Object} data - Les données à envoyer.
1261
+ * @param {object} data - data
1264
1262
  * @param {string} data.id - ID de l’organisation
1265
- * @param {string} data.collection - Collection de l’organisation (default: "organizations")
1266
- * @param {string} data.key - data.key (default: "organization")
1263
+ * @param {"organizations"} data.collection - Collection de l’organisation (default: "organizations")
1264
+ * @param {"organization"} data.key - data.key (default: "organization")
1267
1265
  * @param {string} data.name - Nom de l’organisation
1268
- * @param {string} data.type - Type d’organisation
1269
- * @param {string} data.role - Rôle principal de l’organisation
1266
+ * @param {"NGO" | "LocalBusiness" | "Group" | "GovernmentOrganization" | "Cooperative"} data.type - Type d’organisation
1267
+ * @param {"admin" | "member"} data.role - Rôle principal de l’organisation
1270
1268
  * @param {Array<string>} data.tags - data.tags
1271
1269
  * @param {string} data.email - Email de l’organisation
1272
1270
  * @param {string} data.shortDescription - Description courte
@@ -1275,15 +1273,15 @@ class EndpointApi {
1275
1273
  * @param {boolean} data.preferences.isOpenData - Open data (true/false) (default: true)
1276
1274
  * @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: true)
1277
1275
  * @param {object} data.geo - Coordonnées géographiques
1278
- * @param {string} data.geo.@type - data.geo.@type
1276
+ * @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
1279
1277
  * @param {string | number} data.geo.latitude - data.geo.latitude
1280
1278
  * @param {string | number} data.geo.longitude - data.geo.longitude
1281
1279
  * @param {object} data.geoPosition - Position géographique GeoJSON
1282
- * @param {string} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1280
+ * @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1283
1281
  * @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
1284
- * @param {boolean} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1282
+ * @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1285
1283
  * @param {object} data.address - data.address
1286
- * @param {string} data.address.@type - data.address.@type
1284
+ * @param {"PostalAddress"} data.address.@type - data.address.@type
1287
1285
  * @param {string} data.address.addressCountry - data.address.addressCountry
1288
1286
  * @param {string} data.address.codeInsee - data.address.codeInsee
1289
1287
  * @param {string} data.address.addressLocality - data.address.addressLocality
@@ -1296,7 +1294,7 @@ class EndpointApi {
1296
1294
  * @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
1297
1295
  * @param {string} data.address.postalCode - data.address.postalCode
1298
1296
  * @param {string} data.address.streetAddress - data.address.streetAddress
1299
- * @param {string} data.scope - data.scope (default: "")
1297
+ * @param {""} data.scope - data.scope (default: "")
1300
1298
  * @returns {Promise<Object>} - Les données de réponse.
1301
1299
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1302
1300
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1309,12 +1307,12 @@ class EndpointApi {
1309
1307
  /**
1310
1308
  * Créer un projet : Crée un nouveau projet avec des informations de base et des options supplémentaires.
1311
1309
  * Constant : ADD_PROJECT
1312
- * @param {Object} data - Les données à envoyer.
1310
+ * @param {object} data - data
1313
1311
  * @param {string} data.id - ID
1314
- * @param {string} data.collection - Collection (default: "projects")
1315
- * @param {string} data.key - data.key (default: "project")
1312
+ * @param {"projects"} data.collection - Collection (default: "projects")
1313
+ * @param {"project"} data.key - data.key (default: "project")
1316
1314
  * @param {object} data.parent - Objet contenant les entités parentes (clé = ID). null signifie que les parents ne sont pas modifiés. (default: {"@userId":{"type":"citoyens"}})
1317
- * @param {Object.<string, object>} data.parent - Objet dont les clés keys matching ^(?:[a-f0-9]{24}|@userId)$
1315
+ * @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
1318
1316
  * @param {string} data.name - Nom du projet
1319
1317
  * @param {boolean} data.public - Visibilité (true/false) (default: true)
1320
1318
  * @param {Array<string>} data.tags - data.tags
@@ -1325,15 +1323,15 @@ class EndpointApi {
1325
1323
  * @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: false)
1326
1324
  * @param {boolean} data.preferences.crowdfunding - Crowdfunding (true/false) (default: true)
1327
1325
  * @param {object} data.geo - Coordonnées géographiques
1328
- * @param {string} data.geo.@type - data.geo.@type
1326
+ * @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
1329
1327
  * @param {string | number} data.geo.latitude - data.geo.latitude
1330
1328
  * @param {string | number} data.geo.longitude - data.geo.longitude
1331
1329
  * @param {object} data.geoPosition - Position géographique GeoJSON
1332
- * @param {string} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1330
+ * @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1333
1331
  * @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
1334
- * @param {boolean} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1332
+ * @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1335
1333
  * @param {object} data.address - data.address
1336
- * @param {string} data.address.@type - data.address.@type
1334
+ * @param {"PostalAddress"} data.address.@type - data.address.@type
1337
1335
  * @param {string} data.address.addressCountry - data.address.addressCountry
1338
1336
  * @param {string} data.address.codeInsee - data.address.codeInsee
1339
1337
  * @param {string} data.address.addressLocality - data.address.addressLocality
@@ -1346,7 +1344,7 @@ class EndpointApi {
1346
1344
  * @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
1347
1345
  * @param {string} data.address.postalCode - data.address.postalCode
1348
1346
  * @param {string} data.address.streetAddress - data.address.streetAddress
1349
- * @param {string} data.scope - data.scope (default: "")
1347
+ * @param {""} data.scope - data.scope (default: "")
1350
1348
  * @returns {Promise<Object>} - Les données de réponse.
1351
1349
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1352
1350
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1359,27 +1357,27 @@ class EndpointApi {
1359
1357
  /**
1360
1358
  * Créer un POI : Crée un nouveau POI (Point d'Intérêt).
1361
1359
  * Constant : ADD_POI
1362
- * @param {Object} data - Les données à envoyer.
1360
+ * @param {object} data - data
1363
1361
  * @param {string} data.id - ID du POI
1364
- * @param {string} data.collection - Collection du POI (default: "poi")
1365
- * @param {string} data.key - data.key (default: "poi")
1366
- * @param {string} data.type - Type de POI
1362
+ * @param {"poi"} data.collection - Collection du POI (default: "poi")
1363
+ * @param {"poi"} data.key - data.key (default: "poi")
1364
+ * @param {"link" | "tool" | "machine" | "software" | "rh" | "Resource material" | "Financial Ressource" | "ficheBlanche" | "geoJson" | "compostPickup" | "video" | "sharedLibrary" | "recoveryCenter" | "trash" | "history" | "something2See" | "funPlace" | "place" | "artPiece" | "streetArts" | "openScene" | "stand" | "parking" | "other"} data.type - Type de POI
1367
1365
  * @param {object} data.parent - Objet contenant les entités parentes (clé = ID). null signifie que les parents ne sont pas modifiés. (default: {"@userId":{"type":"citoyens"}})
1368
- * @param {Object.<string, object>} data.parent - Objet dont les clés keys matching ^(?:[a-f0-9]{24}|@userId)$
1366
+ * @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
1369
1367
  * @param {string} data.name - Nom du poi
1370
1368
  * @param {string} data.description - Description
1371
1369
  * @param {Array<string>} data.tags - data.tags
1372
1370
  * @param {Array<string>} data.urls - URLs externes associées
1373
1371
  * @param {object} data.geo - Coordonnées géographiques
1374
- * @param {string} data.geo.@type - data.geo.@type
1372
+ * @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
1375
1373
  * @param {string | number} data.geo.latitude - data.geo.latitude
1376
1374
  * @param {string | number} data.geo.longitude - data.geo.longitude
1377
1375
  * @param {object} data.geoPosition - Position géographique GeoJSON
1378
- * @param {string} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1376
+ * @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1379
1377
  * @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
1380
- * @param {boolean} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1378
+ * @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1381
1379
  * @param {object} data.address - data.address
1382
- * @param {string} data.address.@type - data.address.@type
1380
+ * @param {"PostalAddress"} data.address.@type - data.address.@type
1383
1381
  * @param {string} data.address.addressCountry - data.address.addressCountry
1384
1382
  * @param {string} data.address.codeInsee - data.address.codeInsee
1385
1383
  * @param {string} data.address.addressLocality - data.address.addressLocality
@@ -1392,7 +1390,7 @@ class EndpointApi {
1392
1390
  * @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
1393
1391
  * @param {string} data.address.postalCode - data.address.postalCode
1394
1392
  * @param {string} data.address.streetAddress - data.address.streetAddress
1395
- * @param {string} data.scope - data.scope (default: "")
1393
+ * @param {""} data.scope - data.scope (default: "")
1396
1394
  * @returns {Promise<Object>} - Les données de réponse.
1397
1395
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1398
1396
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1405,16 +1403,16 @@ class EndpointApi {
1405
1403
  /**
1406
1404
  * Créer un événement : Crée un nouvel événement.
1407
1405
  * Constant : ADD_EVENT
1408
- * @param {Object} data - Les données à envoyer.
1406
+ * @param {object} data - data
1409
1407
  * @param {string} data.id - ID de l’événement
1410
- * @param {string} data.collection - Collection de l’événement (default: "events")
1411
- * @param {string} data.key - data.key (default: "event")
1412
- * @param {string} data.type - Type d’événement
1408
+ * @param {"events"} data.collection - Collection de l’événement (default: "events")
1409
+ * @param {"event"} data.key - data.key (default: "event")
1410
+ * @param {"workshop" | "competition" | "concert" | "contest" | "conference" | "debate" | "exhibition" | "festival" | "crowdfunding" | "fair" | "course" | "protest" | "market" | "film" | "getTogether" | "meeting" | "spectacle" | "internship" | "stand" | "others"} data.type - Type d’événement
1413
1411
  * @param {boolean} data.public - Visibilité (true/false) (default: true)
1414
1412
  * @param {object} data.organizer - Objet contenant les entités parentes (clé = ID). null signifie que les parents ne sont pas modifiés. (default: {"@userId":{"type":"citoyens"}})
1415
- * @param {Object.<string, object>} data.organizer - Objet dont les clés keys matching ^(?:[a-f0-9]{24}|@userId)$
1413
+ * @param {Object.<string, { type: string, name?: string } | any>} data.organizer - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
1416
1414
  * @param {object} data.parent - Objet contenant les entités parentes (clé = ID). null signifie que les parents ne sont pas modifiés.
1417
- * @param {Object.<string, object>} data.parent - Objet dont les clés keys matching ^(?:[a-f0-9]{24}|@userId)$
1415
+ * @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
1418
1416
  * @param {string} data.name - Nom du poi
1419
1417
  * @param {string} data.shortDescription - Description courte
1420
1418
  * @param {Array<string>} data.tags - data.tags
@@ -1429,15 +1427,15 @@ class EndpointApi {
1429
1427
  * @param {string} data.endDate - Date et heure de fin (ISO 8601 avec offset)
1430
1428
  * @param {Array<any>} data.openingHours - Liste ordonnée des jours de la semaine avec leurs horaires d'ouverture ou une chaîne vide pour ignorer le jour (default: ["","","","","","",""])
1431
1429
  * @param {object} data.geo - Coordonnées géographiques
1432
- * @param {string} data.geo.@type - data.geo.@type
1430
+ * @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
1433
1431
  * @param {string | number} data.geo.latitude - data.geo.latitude
1434
1432
  * @param {string | number} data.geo.longitude - data.geo.longitude
1435
1433
  * @param {object} data.geoPosition - Position géographique GeoJSON
1436
- * @param {string} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1434
+ * @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
1437
1435
  * @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
1438
- * @param {boolean} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1436
+ * @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
1439
1437
  * @param {object} data.address - data.address
1440
- * @param {string} data.address.@type - data.address.@type
1438
+ * @param {"PostalAddress"} data.address.@type - data.address.@type
1441
1439
  * @param {string} data.address.addressCountry - data.address.addressCountry
1442
1440
  * @param {string} data.address.codeInsee - data.address.codeInsee
1443
1441
  * @param {string} data.address.addressLocality - data.address.addressLocality
@@ -1450,7 +1448,7 @@ class EndpointApi {
1450
1448
  * @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
1451
1449
  * @param {string} data.address.postalCode - data.address.postalCode
1452
1450
  * @param {string} data.address.streetAddress - data.address.streetAddress
1453
- * @param {string} data.scope - data.scope (default: "")
1451
+ * @param {""} data.scope - data.scope (default: "")
1454
1452
  * @returns {Promise<Object>} - Les données de réponse.
1455
1453
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1456
1454
  * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
@@ -1463,9 +1461,9 @@ class EndpointApi {
1463
1461
  /**
1464
1462
  * Supprimer un POI : Supprime un POI existant.
1465
1463
  * Constant : DELETE_POI
1466
- * @param {Object} data - Les données à envoyer.
1464
+ * @param {object} data - data
1467
1465
  * @param {string} data.reason - Raison de la suppression (default: "")
1468
- * @param {Object} data.pathParams - Les paramètres de chemin.
1466
+ * @param {object} data.pathParams - data.pathParams
1469
1467
  * @param {string} data.pathParams.id - ID de l'élément à supprimer
1470
1468
  * @returns {Promise<Object>} - Les données de réponse.
1471
1469
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1479,9 +1477,9 @@ class EndpointApi {
1479
1477
  /**
1480
1478
  * Supprimer un événement : Supprime un événement spécifique.
1481
1479
  * Constant : DELETE_EVENT
1482
- * @param {Object} data - Les données à envoyer.
1480
+ * @param {object} data - data
1483
1481
  * @param {string} data.reason - Raison de la suppression (default: "")
1484
- * @param {Object} data.pathParams - Les paramètres de chemin.
1482
+ * @param {object} data.pathParams - data.pathParams
1485
1483
  * @param {string} data.pathParams.id - ID de l'élément à supprimer
1486
1484
  * @returns {Promise<Object>} - Les données de réponse.
1487
1485
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1495,9 +1493,9 @@ class EndpointApi {
1495
1493
  /**
1496
1494
  * Supprimer un élément : Supprime un élément existant.
1497
1495
  * Constant : DELETE_ELEMENT
1498
- * @param {Object} data - Les données à envoyer.
1496
+ * @param {object} data - data
1499
1497
  * @param {string} data.reason - Raison de la suppression (default: "")
1500
- * @param {Object} data.pathParams - Les paramètres de chemin.
1498
+ * @param {object} data.pathParams - data.pathParams
1501
1499
  * @param {string} data.pathParams.type - Type d'élément à supprimer
1502
1500
  * @param {string} data.pathParams.id - ID de l'élément à supprimer
1503
1501
  * @returns {Promise<Object>} - Les données de réponse.
@@ -1512,13 +1510,13 @@ class EndpointApi {
1512
1510
  /**
1513
1511
  * Ajouter une image à un élément : Ajoute une image à un élément.
1514
1512
  * Constant : ADD_IMAGE_ELEMENT
1515
- * @param {Object} data - Les données à envoyer.
1513
+ * @param {object} data - data
1516
1514
  * @param {string} data.qquuid - ID unique du fichier
1517
1515
  * @param {string} data.qqfilename - Nom du fichier
1518
1516
  * @param {number} data.qqtotalfilesize - Taille totale du fichier
1519
- * @param {undefined} data.qqfile - Données binaires de l'image
1520
- * @param {Object} data.pathParams - Les paramètres de chemin.
1521
- * @param {string} data.pathParams.folder - Dossier de destination
1517
+ * @param {any} data.qqfile - Données binaires de l'image
1518
+ * @param {object} data.pathParams - data.pathParams
1519
+ * @param {"badges" | "events"} data.pathParams.folder - Dossier de destination
1522
1520
  * @param {string} data.pathParams.ownerId - ID du propriétaire de l'image
1523
1521
  * @returns {Promise<Object>} - Les données de réponse.
1524
1522
  * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
@@ -1529,6 +1527,303 @@ class EndpointApi {
1529
1527
  return this.callIsConnected("ADD_IMAGE_ELEMENT", data);
1530
1528
  }
1531
1529
 
1530
+ /**
1531
+ * Valider un lien : Permet de valider un lien (ex: rejoindre un projet, accepter un membre...).
1532
+ * Constant : LINK_VALIDATE
1533
+ * @param {object} data - data
1534
+ * @param {string} data.childId - ID de l’enfant (default: "@userId")
1535
+ * @param {"citoyens"} data.childType - Type de l’enfant (default: "citoyens")
1536
+ * @param {"citoyens" | "organizations" | "projects" | "events"} data.parentType - Type du parent
1537
+ * @param {string} data.parentId - ID du parent
1538
+ * @param {"isInviting" | "toBeValidated" | "isAdminPending"} data.linkOption - Type de validation
1539
+ * @returns {Promise<Object>} - Les données de réponse.
1540
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1541
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1542
+ * @throws {Error} - En cas d'erreur inattendue.
1543
+ */
1544
+ async linkValidate(data = {}) {
1545
+ return this.callIsConnected("LINK_VALIDATE", data);
1546
+ }
1547
+
1548
+ /**
1549
+ * Recherche avec autocomplétion (membres) : Recherche des membres avec autocomplétion.
1550
+ * Constant : SEARCH_MEMBER_AUTOCOMPLETE
1551
+ * @param {object} data - data
1552
+ * @param {string} data.search - Terme recherché
1553
+ * @param {"personOnly" | "organizationOnly" | "mixte"} data.searchMode - Mode de recherche (default: "personOnly")
1554
+ * @returns {Promise<Object>} - Les données de réponse.
1555
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1556
+ * @throws {Error} - En cas d'erreur inattendue.
1557
+ */
1558
+ async searchMemberAutocomplete(data = {}) {
1559
+ return this.call("SEARCH_MEMBER_AUTOCOMPLETE", data);
1560
+ }
1561
+
1562
+ /**
1563
+ * Récupérer les notifications : Récupère la liste des notifications pour un utilisateur.
1564
+ * Constant : GET_NOTIFICATIONS
1565
+ * @param {object} data - data
1566
+ * @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
1567
+ * @param {object} data.pathParams - data.pathParams
1568
+ * @param {"citoyens"} data.pathParams.type - Type de notification (default: "citoyens")
1569
+ * @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
1570
+ * @returns {Promise<Object>} - Les données de réponse.
1571
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1572
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1573
+ * @throws {Error} - En cas d'erreur inattendue.
1574
+ */
1575
+ async getNotifications(data = {}) {
1576
+ return this.callIsConnected("GET_NOTIFICATIONS", data);
1577
+ }
1578
+
1579
+ /**
1580
+ * Récupérer le nombre de notifications : Récupère le nombre de notifications pour un utilisateur.
1581
+ * Constant : GET_NOTIFICATIONS_COUNT
1582
+ * @param {object} data - data
1583
+ * @param {number} data.refreshTimestamp - Timestamp de rafraîchissement
1584
+ * @param {object} data.pathParams - data.pathParams
1585
+ * @param {"citoyens"} data.pathParams.type - Type de notification (default: "citoyens")
1586
+ * @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
1587
+ * @returns {Promise<Object>} - Les données de réponse.
1588
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1589
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1590
+ * @throws {Error} - En cas d'erreur inattendue.
1591
+ */
1592
+ async getNotificationsCount(data = {}) {
1593
+ return this.callIsConnected("GET_NOTIFICATIONS_COUNT", data);
1594
+ }
1595
+
1596
+ /**
1597
+ * Mettre à jour toutes les notifications : Marque toutes les notifications comme vues ou lues.
1598
+ * Constant : NOTIFICATION_UPDATE
1599
+ * @param {object} data - data
1600
+ * @param {"seen" | "read"} data.action - Action à effectuer
1601
+ * @param {true} data.all - Marquer toutes les notifications comme vues ou lues (default: true)
1602
+ * @returns {Promise<Object>} - Les données de réponse.
1603
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1604
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1605
+ * @throws {Error} - En cas d'erreur inattendue.
1606
+ */
1607
+ async notificationUpdate(data = {}) {
1608
+ return this.callIsConnected("NOTIFICATION_UPDATE", data);
1609
+ }
1610
+
1611
+ /**
1612
+ * Supprimer toutes les notifications : Supprime toutes les notifications de l’utilisateur.
1613
+ * Constant : REMOVE_ALL_NOTIFICATIONS
1614
+ * @returns {Promise<Object>} - Les données de réponse.
1615
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1616
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1617
+ * @throws {Error} - En cas d'erreur inattendue.
1618
+ */
1619
+ async removeAllNotifications(data = {}) {
1620
+ return this.callIsConnected("REMOVE_ALL_NOTIFICATIONS", data);
1621
+ }
1622
+
1623
+ /**
1624
+ * Marquer une notification comme lue : Marque une notification spécifique comme lue.
1625
+ * Constant : MARK_NOTIFICATION_AS_READ
1626
+ * @param {object} data - data
1627
+ * @param {string} data.id - ID de la notification
1628
+ * @returns {Promise<Object>} - Les données de réponse.
1629
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1630
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1631
+ * @throws {Error} - En cas d'erreur inattendue.
1632
+ */
1633
+ async markNotificationAsRead(data = {}) {
1634
+ return this.callIsConnected("MARK_NOTIFICATION_AS_READ", data);
1635
+ }
1636
+
1637
+ /**
1638
+ * Recherche ActivityPub : Recherche des éléments ActivityPub selon une adresse ou un terme.
1639
+ * Constant : ACTIVITYPUB_SEARCH
1640
+ * @param {object} data.pathParams - data.pathParams
1641
+ * @param {string} data.pathParams.address - Adresse à rechercher
1642
+ * @returns {Promise<Object>} - Les données de réponse.
1643
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1644
+ * @throws {Error} - En cas d'erreur inattendue.
1645
+ */
1646
+ async activitypubSearch(data = {}) {
1647
+ return this.call("ACTIVITYPUB_SEARCH", data);
1648
+ }
1649
+
1650
+ /**
1651
+ * Mettre à jour une activité (ActivityPub) : Met à jour une activité ActivityPub avec une action et un payload.
1652
+ * Constant : ACTIVITYPUB_LINK
1653
+ * @param {object} data - data
1654
+ * @param {"undo_follow" | "accept_invitation" | "reject_invitation" | "undo_accept" | "undo_request_follow" | "follow" | "remove_follow" | "accept_follower" | "reject_follower" | "remove_follower" | "remove_invitation"} data.action - data.action
1655
+ * @param {string} data.payload - data.payload
1656
+ * @param {object} data.actor - data.actor
1657
+ * @param {string} data.actor.id - data.actor.id
1658
+ * @param {"person"} data.actor.type - data.actor.type
1659
+ * @param {string} data.actor.name - data.actor.name
1660
+ * @returns {Promise<Object>} - Les données de réponse.
1661
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1662
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1663
+ * @throws {Error} - En cas d'erreur inattendue.
1664
+ */
1665
+ async activitypubLink(data = {}) {
1666
+ return this.callIsConnected("ACTIVITYPUB_LINK", data);
1667
+ }
1668
+
1669
+ /**
1670
+ * Obtenir la liste ActivityPub : Obtient la liste des communautés ActivityPub pour un utilisateur.
1671
+ * Constant : ACTIVITYPUB_GET_COMMUNITY
1672
+ * @param {object} data.pathParams - data.pathParams
1673
+ * @param {string} data.pathParams.userId - ID de l'utilisateur
1674
+ * @param {"follows" | "followers"} data.pathParams.type - Type de communauté
1675
+ * @returns {Promise<Object>} - Les données de réponse.
1676
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1677
+ * @throws {Error} - En cas d'erreur inattendue.
1678
+ */
1679
+ async activitypubGetCommunity(data = {}) {
1680
+ return this.call("ACTIVITYPUB_GET_COMMUNITY", data);
1681
+ }
1682
+
1683
+ /**
1684
+ * Récupérer les informations d'un badge : Récupère les détails d’un badge par son ID.
1685
+ * Constant : GET_BADGE
1686
+ * @param {object} data.pathParams - data.pathParams
1687
+ * @param {string} data.pathParams.id - ID du badge
1688
+ * @returns {Promise<Object>} - Les données de réponse.
1689
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1690
+ * @throws {Error} - En cas d'erreur inattendue.
1691
+ */
1692
+ async getBadge(data = {}) {
1693
+ return this.call("GET_BADGE", data);
1694
+ }
1695
+
1696
+ /**
1697
+ * Obtenir la liste des émetteurs de badges : Récupère la liste des émetteurs pour les badges.
1698
+ * Constant : GET_EMETTEUR_BADGES
1699
+ * @returns {Promise<Object>} - Les données de réponse.
1700
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1701
+ * @throws {Error} - En cas d'erreur inattendue.
1702
+ */
1703
+ async getEmetteurBadges(data = {}) {
1704
+ return this.call("GET_EMETTEUR_BADGES", data);
1705
+ }
1706
+
1707
+ /**
1708
+ * Créer un badge : Crée un nouveau badge avec des informations détaillées.
1709
+ * Constant : ADD_BADGES
1710
+ * @param {object} data - data
1711
+ * @param {string} data.id - ID
1712
+ * @param {"badges"} data.collection - Collection (default: "badges")
1713
+ * @param {"badge"} data.key - data.key (default: "badge")
1714
+ * @param {object} data.parent - Objet contenant les badges parents (clé = ID). null signifie que les parents ne sont pas modifiés.
1715
+ * @param {Object.<string, { type: "badges", name?: string } | any>} data.parent - Clés matching "^[a-f0-9]{24}$"
1716
+ * @param {string} data.name - Nom du badge
1717
+ * @param {boolean} data.public - Visibilité (true/false) (default: true)
1718
+ * @param {Array<string>} data.tags - data.tags
1719
+ * @param {boolean} data.isParcours - Est-ce un parcours (true/false)? (default: false)
1720
+ * @param {string} data.description - Description
1721
+ * @param {object} data.preferences - data.preferences (default: {"isOpenData":true,"isOpenEdition":true})
1722
+ * @param {boolean} data.preferences.isOpenData - Open data (true/false) (default: true)
1723
+ * @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: true)
1724
+ * @param {""} data.scope - data.scope (default: "")
1725
+ * @param {object} data.criteria - data.criteria
1726
+ * @param {string} data.criteria.narrative - Critères d’obtention
1727
+ * @param {object} data.issuer - Objet contenant les émetteurs (clé = ID). null signifie que les émetteurs ne sont pas modifiés.
1728
+ * @param {Object.<string, { type: "citoyens" | "organizations" | "projects", name?: string } | any>} data.issuer - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
1729
+ * @returns {Promise<Object>} - Les données de réponse.
1730
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1731
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1732
+ * @throws {Error} - En cas d'erreur inattendue.
1733
+ */
1734
+ async addBadges(data = {}) {
1735
+ return this.callIsConnected("ADD_BADGES", data);
1736
+ }
1737
+
1738
+ /**
1739
+ * Attribuer un badge : Attribue un badge à une ou plusieurs personnes ou entités.
1740
+ * Constant : ASSIGN_BADGES
1741
+ * @param {object} data - data
1742
+ * @param {"badge"} data.key - data.key (default: "badge")
1743
+ * @param {"badges"} data.collection - data.collection (default: "badges")
1744
+ * @param {string} data.narative - Message/narratif
1745
+ * @param {string} data.badgeId - ID du badge
1746
+ * @param {object} data.award - Objet contenant les cibles (clé = ID). null signifie que les cibles ne sont pas modifiées.
1747
+ * @param {Object.<string, { type: string, name: string } | any>} data.award - Clés matching "^[0-9a-f]{24}$"
1748
+ * @param {Array<object>} data.evidences - Preuves
1749
+ * @param {""} data.scope - data.scope (default: "")
1750
+ * @returns {Promise<Object>} - Les données de réponse.
1751
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1752
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1753
+ * @throws {Error} - En cas d'erreur inattendue.
1754
+ */
1755
+ async assignBadges(data = {}) {
1756
+ return this.callIsConnected("ASSIGN_BADGES", data);
1757
+ }
1758
+
1759
+ /**
1760
+ * Obtenir la liste des événements : Permet de rechercher des événements selon plusieurs critères (dates, nom, type...).
1761
+ * Constant : GET_EVENTS
1762
+ * @param {object} data - data
1763
+ * @param {["events"]} data.searchType - data.searchType (default: ["events"])
1764
+ * @param {number} data.indexMin - data.indexMin (default: 0)
1765
+ * @param {number} data.indexStep - data.indexStep (default: 100)
1766
+ * @param {number} data.startDate - Timestamp de début
1767
+ * @param {string} data.startDateUTC - Date de début (UTC)
1768
+ * @param {string} data.endDateUTC - Date de fin (UTC)
1769
+ * @param {string} data.name - Nom ou terme
1770
+ * @param {"workshop" | "competition" | "concert" | "contest" | "conference" | "debate" | "exhibition" | "festival" | "crowdfunding" | "fair" | "course" | "protest" | "market" | "film" | "getTogether" | "meeting" | "spectacle" | "internship" | "stand" | "others"} data.type - Type d’événement
1771
+ * @param {object} data.locality - Liste des localités ciblées
1772
+ * @param {Object.<string, object | any>} data.locality - Clés matching "^[^\s]+$"
1773
+ * @param {boolean} data.count - data.count (default: false)
1774
+ * @param {["events"]} data.countType - data.countType (default: ["events"])
1775
+ * @param {boolean} data.fediverse - data.fediverse (default: false)
1776
+ * @returns {Promise<Object>} - Les données de réponse.
1777
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1778
+ * @throws {Error} - En cas d'erreur inattendue.
1779
+ */
1780
+ async getEvents(data = {}) {
1781
+ return this.call("GET_EVENTS", data);
1782
+ }
1783
+
1784
+ /**
1785
+ * Partager un événement : Partage un événement avec d’autres utilisateurs ou entités.
1786
+ * Constant : SHARE_EVENTS
1787
+ * @param {object} data - data
1788
+ * @param {string} data.parentId - ID de l’événement à partager
1789
+ * @param {"events"} data.parentType - Type de l’entité parent (events) (default: "events")
1790
+ * @param {string} data.childId - ID de l'entité partageante
1791
+ * @param {"citoyens" | "projects" | "organizations"} data.childType - Type de l'entité partageante (default: "citoyens")
1792
+ * @param {"share"} data.connectType - Type de connexion (share) (default: "share")
1793
+ * @param {string} data.comment - Commentaire de partage
1794
+ * @returns {Promise<Object>} - Les données de réponse.
1795
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1796
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1797
+ * @throws {Error} - En cas d'erreur inattendue.
1798
+ */
1799
+ async shareEvents(data = {}) {
1800
+ return this.callIsConnected("SHARE_EVENTS", data);
1801
+ }
1802
+
1803
+ /**
1804
+ * Inviter des participants à un événement : Invite plusieurs utilisateurs ou entités à participer à un événement.
1805
+ * Constant : INVITE_EVENT
1806
+ * @param {object} data - data
1807
+ * @param {string} data.parentId - ID de l'entité parente
1808
+ * @param {"citoyens" | "projects" | "organizations"} data.parentType - Type de l'entité parente (default: "citoyens")
1809
+ * @param {object} data.listInvite - Liste des citoyens invités
1810
+ * @param {object} data.listInvite.citoyens - data.listInvite.citoyens
1811
+ * @param {Object.<string, { name: string, isAdmin?: "" | "admin", roles?: Array<string> } | any>} data.listInvite.citoyens - Clés matching "^[0-9a-f]{24}$"
1812
+ * @param {object} data.listInvite.projects - data.listInvite.projects
1813
+ * @param {Object.<string, { name: string, isAdmin?: "" | "admin", roles?: Array<string> } | any>} data.listInvite.projects - Clés matching "^[0-9a-f]{24}$"
1814
+ * @param {object} data.listInvite.organizations - data.listInvite.organizations
1815
+ * @param {Object.<string, { name: string, isAdmin?: "" | "admin", roles?: Array<string> } | any>} data.listInvite.organizations - Clés matching "^[0-9a-f]{24}$"
1816
+ * @param {object} data.listInvite.invites - data.listInvite.invites
1817
+ * @param {Object.<string, { name: string, email: string, msg?: string, isAdmin?: "" | "admin", roles?: Array<string> } | any>} data.listInvite.invites - Clés matching "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
1818
+ * @returns {Promise<Object>} - Les données de réponse.
1819
+ * @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
1820
+ * @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
1821
+ * @throws {Error} - En cas d'erreur inattendue.
1822
+ */
1823
+ async inviteEvent(data = {}) {
1824
+ return this.callIsConnected("INVITE_EVENT", data);
1825
+ }
1826
+
1532
1827
  }
1533
1828
 
1534
1829
  export default EndpointApi;