@communecter/cocolight-api-client 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cocolight-api-client.browser.js +2 -2
- package/dist/cocolight-api-client.cjs +1 -1
- package/dist/cocolight-api-client.mjs.js +1 -1
- package/package.json +2 -1
- package/src/api/BaseEntity.js +1412 -35
- package/src/api/EndpointApi.js +518 -1010
- package/src/api/EndpointApi.types.d.ts +3463 -0
- package/src/api/Organization.js +77 -0
- package/src/api/User.js +22 -45
- package/src/mixin/DraftStateMixin.js +0 -176
- package/src/mixin/EntityMixin.js +0 -428
- package/src/mixin/MutualEntityMixin.js +0 -269
- package/src/mixin/UtilMixin.js +0 -300
package/src/api/EndpointApi.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
// Fichier généré automatiquement
|
|
2
|
-
//
|
|
3
|
-
import { ApiAuthenticationError
|
|
2
|
+
// @ts-check
|
|
3
|
+
import { ApiAuthenticationError } from "../error.js";
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* @typedef {import("../error.js").ApiResponseError} ApiResponseError
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Classe EndpointApi générée automatiquement depuis endpoints-copie.json
|
|
11
|
+
*/
|
|
5
12
|
class EndpointApi {
|
|
6
|
-
/**
|
|
7
|
-
* @param {Object} apiClient - Instance du client API.
|
|
8
|
-
*/
|
|
9
13
|
constructor(apiClient) {
|
|
10
14
|
this.apiClient = apiClient;
|
|
11
15
|
}
|
|
@@ -17,15 +21,7 @@ class EndpointApi {
|
|
|
17
21
|
get userId() {
|
|
18
22
|
return this.apiClient.userId;
|
|
19
23
|
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Appelle l'endpoint identifié par la constante et vérifie la réponse.
|
|
23
|
-
*
|
|
24
|
-
* @param {string} constant - La constante identifiant l'endpoint.
|
|
25
|
-
* @param {Object} data - Les données à envoyer.
|
|
26
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
27
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
28
|
-
*/
|
|
24
|
+
|
|
29
25
|
async call(constant, data = {}) {
|
|
30
26
|
return this.apiClient.safeCall(async () => {
|
|
31
27
|
const response = await this.apiClient.callEndpoint(constant, data);
|
|
@@ -33,86 +29,67 @@ class EndpointApi {
|
|
|
33
29
|
return response.data;
|
|
34
30
|
});
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Appelle l'endpoint sans être connecté et vérifie la réponse.
|
|
39
|
-
*
|
|
40
|
-
* @param {string} constant - La constante identifiant l'endpoint.
|
|
41
|
-
* @param {Object} data - Les données à envoyer.
|
|
42
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
43
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
44
|
-
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
45
|
-
*/
|
|
32
|
+
|
|
46
33
|
async callNoConnected(constant, data = {}) {
|
|
47
34
|
if (this.isConnected) {
|
|
48
35
|
throw new ApiAuthenticationError("Vous ne devez pas être connecté pour faire cette action.");
|
|
49
36
|
}
|
|
50
37
|
return this.call(constant, data);
|
|
51
38
|
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Appelle l'endpoint si l'utilisateur est connecté et vérifie la réponse.
|
|
55
|
-
*
|
|
56
|
-
* @param {string} constant - La constante identifiant l'endpoint.
|
|
57
|
-
* @param {Object} data - Les données à envoyer.
|
|
58
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
59
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
60
|
-
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
61
|
-
*/
|
|
39
|
+
|
|
62
40
|
async callIsConnected(constant, data = {}) {
|
|
63
41
|
if (!this.isConnected) {
|
|
64
42
|
throw new ApiAuthenticationError("Vous devez être connecté pour effectuer cette action.");
|
|
65
43
|
}
|
|
66
44
|
return this.call(constant, data);
|
|
67
45
|
}
|
|
46
|
+
|
|
68
47
|
|
|
69
48
|
/**
|
|
70
49
|
* Enregistrement d'un utilisateur : Permet d’enregistrer un nouvel utilisateur avec ses informations personnelles.
|
|
71
50
|
* Constant : PERSON_REGISTER
|
|
72
|
-
* @param {
|
|
73
|
-
* @param {string} data.name - Nom complet de l'utilisateur
|
|
74
|
-
* @param {string} data.username - Pseudo ou identifiant unique
|
|
75
|
-
* @param {string} data.email - Adresse email de l'utilisateur
|
|
76
|
-
* @param {string} data.pwd - Mot de passe
|
|
77
|
-
* @param {string} data.app - Nom de l'application
|
|
78
|
-
* @param {string} data.pendingUserId - ID d’un utilisateur en attente (facultatif)
|
|
79
|
-
* @param {string} data.mode - Mode d’enregistrement
|
|
80
|
-
* @param {boolean} data.isInvitation - Indique s’il s’agit d’une invitation (facultatif)
|
|
51
|
+
* @param {import("./EndpointApi.types").PersonRegisterData} data - Données envoyées à l'API
|
|
81
52
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
82
53
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
83
54
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
84
55
|
*/
|
|
85
|
-
async personRegister(data
|
|
56
|
+
async personRegister(data) {
|
|
57
|
+
if (!data || typeof data !== "object") {
|
|
58
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
59
|
+
}
|
|
86
60
|
return this.callNoConnected("PERSON_REGISTER", data);
|
|
87
61
|
}
|
|
88
|
-
|
|
62
|
+
|
|
89
63
|
/**
|
|
90
64
|
* Authentification : Permet de se connecter en utilisant une adresse email et un mot de passe.
|
|
91
65
|
* Constant : AUTHENTICATE_URL
|
|
92
|
-
* @param {
|
|
93
|
-
* @param {string} data.email - Adresse email de l'utilisateur
|
|
94
|
-
* @param {string} data.password - Mot de passe de l'utilisateur
|
|
66
|
+
* @param {import("./EndpointApi.types").AuthenticateUrlData} data - Données envoyées à l'API
|
|
95
67
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
96
68
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
97
69
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
98
70
|
*/
|
|
99
|
-
async authenticateUrl(data
|
|
71
|
+
async authenticateUrl(data) {
|
|
72
|
+
if (!data || typeof data !== "object") {
|
|
73
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
74
|
+
}
|
|
100
75
|
return this.callNoConnected("AUTHENTICATE_URL", data);
|
|
101
76
|
}
|
|
102
|
-
|
|
77
|
+
|
|
103
78
|
/**
|
|
104
79
|
* Rafraîchir un token : Permet de rafraîchir un token d'accès expiré en utilisant un token de rafraîchissement.
|
|
105
80
|
* Constant : REFRESH_TOKEN_URL
|
|
106
|
-
* @param {
|
|
107
|
-
* @param {string} data.refreshToken - Token de rafraîchissement
|
|
81
|
+
* @param {import("./EndpointApi.types").RefreshTokenUrlData} data - Données envoyées à l'API
|
|
108
82
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
109
83
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
110
84
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
111
85
|
*/
|
|
112
|
-
async refreshTokenUrl(data
|
|
86
|
+
async refreshTokenUrl(data) {
|
|
87
|
+
if (!data || typeof data !== "object") {
|
|
88
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
89
|
+
}
|
|
113
90
|
return this.call("REFRESH_TOKEN_URL", data);
|
|
114
91
|
}
|
|
115
|
-
|
|
92
|
+
|
|
116
93
|
/**
|
|
117
94
|
* Récupérer les informations utilisateur : Récupère les informations du profil utilisateur pour un token donné.
|
|
118
95
|
* Constant : ME_INFO_URL
|
|
@@ -121,1493 +98,1061 @@ class EndpointApi {
|
|
|
121
98
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
122
99
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
123
100
|
*/
|
|
124
|
-
async meInfoUrl(
|
|
125
|
-
return this.callIsConnected("ME_INFO_URL"
|
|
101
|
+
async meInfoUrl() {
|
|
102
|
+
return this.callIsConnected("ME_INFO_URL");
|
|
126
103
|
}
|
|
127
|
-
|
|
104
|
+
|
|
128
105
|
/**
|
|
129
106
|
* Récupération de mot de passe : Envoie un email pour récupérer le mot de passe.
|
|
130
107
|
* Constant : PASSWORD_RECOVERY
|
|
131
|
-
* @param {
|
|
132
|
-
* @param {string} data.email - Adresse email de l'utilisateur
|
|
133
|
-
* @param {"password"} data.type - Type d'email envoyé (default: "password")
|
|
108
|
+
* @param {import("./EndpointApi.types").PasswordRecoveryData} data - Données envoyées à l'API
|
|
134
109
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
135
110
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
136
111
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
137
112
|
*/
|
|
138
|
-
async passwordRecovery(data
|
|
113
|
+
async passwordRecovery(data) {
|
|
114
|
+
if (!data || typeof data !== "object") {
|
|
115
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
116
|
+
}
|
|
139
117
|
return this.callNoConnected("PASSWORD_RECOVERY", data);
|
|
140
118
|
}
|
|
141
|
-
|
|
119
|
+
|
|
142
120
|
/**
|
|
143
121
|
* Échange de token avec un autre serveur : Permet de se connecter à un autre serveur Communecter en échangeant un token.
|
|
144
122
|
* Constant : SERVER_EXCHANGE_TOKEN
|
|
145
|
-
* @param {
|
|
146
|
-
* @param {string} data.serverUrl - URL du serveur distant
|
|
123
|
+
* @param {import("./EndpointApi.types").ServerExchangeTokenData} data - Données envoyées à l'API
|
|
147
124
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
148
125
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
149
126
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
150
127
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
151
128
|
*/
|
|
152
|
-
async serverExchangeToken(data
|
|
129
|
+
async serverExchangeToken(data) {
|
|
130
|
+
if (!data || typeof data !== "object") {
|
|
131
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
132
|
+
}
|
|
153
133
|
return this.callIsConnected("SERVER_EXCHANGE_TOKEN", data);
|
|
154
134
|
}
|
|
155
|
-
|
|
135
|
+
|
|
156
136
|
/**
|
|
157
137
|
* Changer le mot de passe : Permet de changer le mot de passe d'un utilisateur.
|
|
158
138
|
* Constant : CHANGE_PASSWORD
|
|
159
|
-
* @param {
|
|
160
|
-
* @param {"changePassword"} data.mode - Mode ou contexte du changement (default: "changePassword")
|
|
161
|
-
* @param {string} data.userId - Identifiant de l'utilisateur (default: "@userId")
|
|
162
|
-
* @param {string} data.oldPassword - Ancien mot de passe
|
|
163
|
-
* @param {string} data.newPassword - Nouveau mot de passe
|
|
164
|
-
* @param {string} data.newPassword2 - Confirmation du nouveau mot de passe
|
|
165
|
-
* @param {string} data.scope - Périmètre concerné (default: "")
|
|
139
|
+
* @param {import("./EndpointApi.types").ChangePasswordData} data - Données envoyées à l'API
|
|
166
140
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
167
141
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
168
142
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
169
143
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
170
144
|
*/
|
|
171
|
-
async changePassword(data
|
|
145
|
+
async changePassword(data) {
|
|
146
|
+
if (!data || typeof data !== "object") {
|
|
147
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
148
|
+
}
|
|
172
149
|
return this.callIsConnected("CHANGE_PASSWORD", data);
|
|
173
150
|
}
|
|
174
|
-
|
|
151
|
+
|
|
175
152
|
/**
|
|
176
153
|
* Supprimer un compte : Permet de supprimer un compte utilisateur.
|
|
177
154
|
* Constant : DELETE_ACCOUNT
|
|
178
|
-
* @param {
|
|
179
|
-
* @param {string} data.reason - Raison de la suppression (default: "")
|
|
180
|
-
* @param {object} data.pathParams - data.pathParams
|
|
181
|
-
* @param {string} data.pathParams.id - Identifiant de l'utilisateur à supprimer (default: "@userId")
|
|
155
|
+
* @param {import("./EndpointApi.types").DeleteAccountData} data - Données envoyées à l'API
|
|
182
156
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
183
157
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
184
158
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
185
159
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
186
160
|
*/
|
|
187
|
-
async deleteAccount(data
|
|
161
|
+
async deleteAccount(data) {
|
|
162
|
+
if (!data || typeof data !== "object") {
|
|
163
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
164
|
+
}
|
|
188
165
|
return this.callIsConnected("DELETE_ACCOUNT", data);
|
|
189
166
|
}
|
|
190
|
-
|
|
167
|
+
|
|
191
168
|
/**
|
|
192
169
|
* Mettre à jour les paramètres d'un élément : Mise à jour des paramètres spécifiques d'un élément.
|
|
193
170
|
* Constant : UPDATE_SETTINGS
|
|
194
|
-
* @param {
|
|
195
|
-
* @param {string} data.type - data.type
|
|
196
|
-
* @param {any} data.value - data.value
|
|
197
|
-
* @param {"citoyens" | "projects" | "organizations"} data.typeEntity - Type d'élément (citoyens, projects, organizations) (default: "citoyens")
|
|
198
|
-
* @param {string} data.idEntity - Id de l'élément
|
|
171
|
+
* @param {import("./EndpointApi.types").UpdateSettingsData} data - Données envoyées à l'API
|
|
199
172
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
200
173
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
201
174
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
202
175
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
203
176
|
*/
|
|
204
|
-
async updateSettings(data
|
|
177
|
+
async updateSettings(data) {
|
|
178
|
+
if (!data || typeof data !== "object") {
|
|
179
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
180
|
+
}
|
|
205
181
|
return this.callIsConnected("UPDATE_SETTINGS", data);
|
|
206
182
|
}
|
|
207
|
-
|
|
183
|
+
|
|
208
184
|
/**
|
|
209
185
|
* Mettre à jour la description d'un élément : Permet de mettre à jour la description courte et complète d'un élément.
|
|
210
186
|
* Constant : UPDATE_BLOCK_DESCRIPTION
|
|
211
|
-
* @param {
|
|
212
|
-
* @param {"descriptions"} data.block - Nom du bloc à mettre à jour (doit être 'descriptions') (default: "descriptions")
|
|
213
|
-
* @param {"citoyens" | "projects" | "organizations" | "poi"} data.typeElement - Type d'élément (citoyens, projects, organizations, poi) (default: "citoyens")
|
|
214
|
-
* @param {string} data.id - ID de l'élément concerné
|
|
215
|
-
* @param {string | null} data.scope - Périmètre de mise à jour (default: "")
|
|
216
|
-
* @param {string} data.descMentions - Mentions dans la description (default: "")
|
|
217
|
-
* @param {string} data.shortDescription - Courte description
|
|
218
|
-
* @param {string} data.description - Description complète
|
|
187
|
+
* @param {import("./EndpointApi.types").UpdateBlockDescriptionData} data - Données envoyées à l'API
|
|
219
188
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
220
189
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
221
190
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
222
191
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
223
192
|
*/
|
|
224
|
-
async updateBlockDescription(data
|
|
193
|
+
async updateBlockDescription(data) {
|
|
194
|
+
if (!data || typeof data !== "object") {
|
|
195
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
196
|
+
}
|
|
225
197
|
return this.callIsConnected("UPDATE_BLOCK_DESCRIPTION", data);
|
|
226
198
|
}
|
|
227
|
-
|
|
199
|
+
|
|
228
200
|
/**
|
|
229
201
|
* 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
202
|
* Constant : UPDATE_BLOCK_INFO
|
|
231
|
-
* @param {
|
|
232
|
-
* @param {"info"} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
|
|
233
|
-
* @param {"citoyens" | "projects" | "organizations" | "poi"} data.typeElement - Type d'élément (citoyens, projects, organizations, poi) (default: "citoyens")
|
|
234
|
-
* @param {string} data.id - ID de l'élément concerné
|
|
235
|
-
* @param {string} data.scope - Périmètre de mise à jour (default: "")
|
|
203
|
+
* @param {import("./EndpointApi.types").UpdateBlockInfoData} data - Données envoyées à l'API
|
|
236
204
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
237
205
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
238
206
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
239
207
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
240
208
|
*/
|
|
241
|
-
async updateBlockInfo(data
|
|
209
|
+
async updateBlockInfo(data) {
|
|
210
|
+
if (!data || typeof data !== "object") {
|
|
211
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
212
|
+
}
|
|
242
213
|
return this.callIsConnected("UPDATE_BLOCK_INFO", data);
|
|
243
214
|
}
|
|
244
|
-
|
|
215
|
+
|
|
245
216
|
/**
|
|
246
217
|
* 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
218
|
* Constant : UPDATE_BLOCK_SOCIAL
|
|
248
|
-
* @param {
|
|
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
|
-
* @param {string} data.id - ID de l'élément concerné
|
|
252
|
-
* @param {string} data.scope - Périmètre de mise à jour (default: "")
|
|
253
|
-
* @param {string} data.gitlab - Compte Gitlab
|
|
254
|
-
* @param {string} data.github - Compte Github
|
|
255
|
-
* @param {string} data.twitter - Compte Twitter
|
|
256
|
-
* @param {string} data.facebook - Compte Facebook
|
|
257
|
-
* @param {string} data.instagram - Compte Instagram
|
|
258
|
-
* @param {string} data.diaspora - Compte Diaspora
|
|
259
|
-
* @param {string} data.mastodon - Compte Mastodon
|
|
260
|
-
* @param {string} data.telegram - Compte Telegram
|
|
261
|
-
* @param {string} data.signal - Compte Signal
|
|
219
|
+
* @param {import("./EndpointApi.types").UpdateBlockSocialData} data - Données envoyées à l'API
|
|
262
220
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
263
221
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
264
222
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
265
223
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
266
224
|
*/
|
|
267
|
-
async updateBlockSocial(data
|
|
225
|
+
async updateBlockSocial(data) {
|
|
226
|
+
if (!data || typeof data !== "object") {
|
|
227
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
228
|
+
}
|
|
268
229
|
return this.callIsConnected("UPDATE_BLOCK_SOCIAL", data);
|
|
269
230
|
}
|
|
270
|
-
|
|
231
|
+
|
|
271
232
|
/**
|
|
272
233
|
* 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
234
|
* Constant : UPDATE_BLOCK_LOCALITY
|
|
274
|
-
* @param {
|
|
275
|
-
* @param {"localities"} data.block - Nom du bloc à mettre à jour (doit être 'localities') (default: "localities")
|
|
276
|
-
* @param {"citoyens" | "projects" | "organizations" | "poi"} data.typeElement - Type d'élément (default: "citoyens")
|
|
277
|
-
* @param {string} data.id - ID de l'élément concerné
|
|
278
|
-
* @param {string} data.scope - Périmètre de mise à jour (default: "")
|
|
279
|
-
* @param {object} data.geo - Coordonnées géographiques
|
|
280
|
-
* @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
|
|
281
|
-
* @param {string | number} data.geo.latitude - data.geo.latitude
|
|
282
|
-
* @param {string | number} data.geo.longitude - data.geo.longitude
|
|
283
|
-
* @param {object} data.geoPosition - Position géographique GeoJSON
|
|
284
|
-
* @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
|
|
285
|
-
* @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
|
|
286
|
-
* @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
|
|
287
|
-
* @param {object} data.address - data.address
|
|
288
|
-
* @param {"PostalAddress"} data.address.@type - data.address.@type
|
|
289
|
-
* @param {string} data.address.addressCountry - data.address.addressCountry
|
|
290
|
-
* @param {string} data.address.codeInsee - data.address.codeInsee
|
|
291
|
-
* @param {string} data.address.addressLocality - data.address.addressLocality
|
|
292
|
-
* @param {string} data.address.localityId - data.address.localityId
|
|
293
|
-
* @param {string} data.address.level1 - data.address.level1
|
|
294
|
-
* @param {string} data.address.level1Name - data.address.level1Name
|
|
295
|
-
* @param {string} data.address.level3 - ID du département. Peut être vide pour les pays étrangers.
|
|
296
|
-
* @param {string} data.address.level3Name - Nom du département. Peut être vide pour les pays étrangers.
|
|
297
|
-
* @param {string} data.address.level4 - ID de la commune. Peut être vide pour les pays étrangers.
|
|
298
|
-
* @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
|
|
299
|
-
* @param {string} data.address.postalCode - data.address.postalCode
|
|
300
|
-
* @param {string} data.address.streetAddress - data.address.streetAddress
|
|
235
|
+
* @param {import("./EndpointApi.types").UpdateBlockLocalityData} data - Données envoyées à l'API
|
|
301
236
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
302
237
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
303
238
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
304
239
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
305
240
|
*/
|
|
306
|
-
async updateBlockLocality(data
|
|
241
|
+
async updateBlockLocality(data) {
|
|
242
|
+
if (!data || typeof data !== "object") {
|
|
243
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
244
|
+
}
|
|
307
245
|
return this.callIsConnected("UPDATE_BLOCK_LOCALITY", data);
|
|
308
246
|
}
|
|
309
|
-
|
|
247
|
+
|
|
310
248
|
/**
|
|
311
249
|
* Mettre à jour le slug d'un élément : Permet de mettre à jour le slug pour une URL simplifiée.
|
|
312
250
|
* Constant : UPDATE_BLOCK_SLUG
|
|
313
|
-
* @param {
|
|
314
|
-
* @param {"info"} data.block - Nom du bloc à mettre à jour (doit être 'info') (default: "info")
|
|
315
|
-
* @param {"citoyens" | "projects" | "organizations" | "poi"} data.typeElement - Type d'élément (citoyens, projects, organizations, poi) (default: "citoyens")
|
|
316
|
-
* @param {string} data.id - ID de l'élément concerné
|
|
317
|
-
* @param {string} data.scope - data.scope (default: "")
|
|
318
|
-
* @param {string} data.slug - Slug simplifié pour URL
|
|
251
|
+
* @param {import("./EndpointApi.types").UpdateBlockSlugData} data - Données envoyées à l'API
|
|
319
252
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
320
253
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
321
254
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
322
255
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
323
256
|
*/
|
|
324
|
-
async updateBlockSlug(data
|
|
257
|
+
async updateBlockSlug(data) {
|
|
258
|
+
if (!data || typeof data !== "object") {
|
|
259
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
260
|
+
}
|
|
325
261
|
return this.callIsConnected("UPDATE_BLOCK_SLUG", data);
|
|
326
262
|
}
|
|
327
|
-
|
|
263
|
+
|
|
328
264
|
/**
|
|
329
265
|
* Vérifier l'état d'une URL : Vérifie si une URL (slug) est valide ou disponible.
|
|
330
266
|
* Constant : CHECK
|
|
331
|
-
* @param {
|
|
332
|
-
* @param {"info"} data.block - Nom du bloc (default: "info")
|
|
333
|
-
* @param {string} data.id - ID de l'élément
|
|
334
|
-
* @param {"citoyens" | "projects" | "organizations"} data.type - Type d'élément (default: "citoyens")
|
|
335
|
-
* @param {string} data.slug - Slug à vérifier
|
|
267
|
+
* @param {import("./EndpointApi.types").CheckData} data - Données envoyées à l'API
|
|
336
268
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
337
269
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
338
270
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
339
271
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
340
272
|
*/
|
|
341
|
-
async check(data
|
|
273
|
+
async check(data) {
|
|
274
|
+
if (!data || typeof data !== "object") {
|
|
275
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
276
|
+
}
|
|
342
277
|
return this.callIsConnected("CHECK", data);
|
|
343
278
|
}
|
|
344
|
-
|
|
279
|
+
|
|
345
280
|
/**
|
|
346
281
|
* Mettre à jour l'image de profil : Permet de mettre à jour l'image de profil d'un utilisateur ou d'une entité.
|
|
347
282
|
* Constant : PROFIL_IMAGE
|
|
348
|
-
* @param {
|
|
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" | "events" | "poi"} data.pathParams.folder - Type d'entité (default: "citoyens")
|
|
352
|
-
* @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité
|
|
283
|
+
* @param {import("./EndpointApi.types").ProfilImageData} data - Données envoyées à l'API
|
|
353
284
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
354
285
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
355
286
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
356
287
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
357
288
|
*/
|
|
358
|
-
async profilImage(data
|
|
289
|
+
async profilImage(data) {
|
|
290
|
+
if (!data || typeof data !== "object") {
|
|
291
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
292
|
+
}
|
|
359
293
|
return this.callIsConnected("PROFIL_IMAGE", data);
|
|
360
294
|
}
|
|
361
|
-
|
|
295
|
+
|
|
362
296
|
/**
|
|
363
297
|
* 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
298
|
* Constant : GET_ELEMENTS_ABOUT
|
|
365
|
-
* @param {
|
|
366
|
-
* @param {"ficheInfoElement"} data.tpl - Template utilisé (ex: ficheInfoElement) (default: "ficheInfoElement")
|
|
367
|
-
* @param {object} data.pathParams - data.pathParams
|
|
368
|
-
* @param {"citoyens" | "projects" | "organizations" | "events" | "poi" | "badges"} data.pathParams.type - Type d'entité (default: "citoyens")
|
|
369
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
|
|
299
|
+
* @param {import("./EndpointApi.types").GetElementsAboutData} data - Données envoyées à l'API
|
|
370
300
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
371
301
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
372
302
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
373
303
|
*/
|
|
374
|
-
async getElementsAbout(data
|
|
304
|
+
async getElementsAbout(data) {
|
|
305
|
+
if (!data || typeof data !== "object") {
|
|
306
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
307
|
+
}
|
|
375
308
|
return this.call("GET_ELEMENTS_ABOUT", data);
|
|
376
309
|
}
|
|
377
|
-
|
|
310
|
+
|
|
378
311
|
/**
|
|
379
312
|
* Gérer des connexions multiples : Permet d’inviter ou de connecter plusieurs utilisateurs en même temps à une entité.
|
|
380
313
|
* Constant : MULTICONNECT
|
|
381
|
-
* @param {
|
|
382
|
-
* @param {string} data.parentId - ID de l'entité parente
|
|
383
|
-
* @param {"citoyens" | "projects" | "organizations"} data.parentType - Type de l'entité parente (default: "citoyens")
|
|
384
|
-
* @param {object} data.listInvite - Liste des citoyens invités
|
|
385
|
-
* @param {Object.<string, object | any>} data.listInvite - Clés matching "^(citoyens|projects|organizations)$"
|
|
314
|
+
* @param {import("./EndpointApi.types").MulticonnectData} data - Données envoyées à l'API
|
|
386
315
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
387
316
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
388
317
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
389
318
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
390
319
|
*/
|
|
391
|
-
async multiconnect(data
|
|
320
|
+
async multiconnect(data) {
|
|
321
|
+
if (!data || typeof data !== "object") {
|
|
322
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
323
|
+
}
|
|
392
324
|
return this.callIsConnected("MULTICONNECT", data);
|
|
393
325
|
}
|
|
394
|
-
|
|
326
|
+
|
|
395
327
|
/**
|
|
396
328
|
* Récupérer les actualités : Récupère la liste d’actualités selon plusieurs critères.
|
|
397
329
|
* Constant : GET_NEWS
|
|
398
|
-
* @param {
|
|
399
|
-
* @param {number} data.dateLimit - Limite de date timestamp ou 0 (default: 0)
|
|
400
|
-
* @param {object} data.search - data.search
|
|
401
|
-
* @param {string} data.search.name - Nom ou terme recherché (default: "")
|
|
402
|
-
* @param {number} data.indexStep - Nombre de résultats par page (default: 12)
|
|
403
|
-
* @param {object} data.pathParams - data.pathParams
|
|
404
|
-
* @param {boolean} data.pathParams.isLive - Indique si l'actualité est en direct (default: true)
|
|
405
|
-
* @param {"citoyens" | "projects" | "organizations"} data.pathParams.type - Type d'actualité (ex: 'citoyens', 'projects', 'organizations') (default: "citoyens")
|
|
406
|
-
* @param {string} data.pathParams.id - ID de l'élément (ex: ID d'un utilisateur, d'un projet ou d'une organisation)
|
|
330
|
+
* @param {import("./EndpointApi.types").GetNewsData} data - Données envoyées à l'API
|
|
407
331
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
408
332
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
409
333
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
410
334
|
*/
|
|
411
|
-
async getNews(data
|
|
335
|
+
async getNews(data) {
|
|
336
|
+
if (!data || typeof data !== "object") {
|
|
337
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
338
|
+
}
|
|
412
339
|
return this.call("GET_NEWS", data);
|
|
413
340
|
}
|
|
414
|
-
|
|
341
|
+
|
|
415
342
|
/**
|
|
416
343
|
* Récupérer des actualités par IDs : Récupère des actualités à partir d’une liste d’identifiants.
|
|
417
344
|
* Constant : GET_NEWS_BY_ID
|
|
418
|
-
* @param {
|
|
419
|
-
* @param {Array<string>} data.ids - Liste des IDs d’actualités à récupérer
|
|
345
|
+
* @param {import("./EndpointApi.types").GetNewsByIdData} data - Données envoyées à l'API
|
|
420
346
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
421
347
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
422
348
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
423
349
|
*/
|
|
424
|
-
async getNewsById(data
|
|
350
|
+
async getNewsById(data) {
|
|
351
|
+
if (!data || typeof data !== "object") {
|
|
352
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
353
|
+
}
|
|
425
354
|
return this.call("GET_NEWS_BY_ID", data);
|
|
426
355
|
}
|
|
427
|
-
|
|
356
|
+
|
|
428
357
|
/**
|
|
429
358
|
* Ajouter une actualité : Ajoute une nouvelle actualité.
|
|
430
359
|
* Constant : ADD_NEWS
|
|
431
|
-
* @param {
|
|
432
|
-
* @param {string} data.text - Contenu de l’actualité
|
|
433
|
-
* @param {"public" | "private" | "restricted"} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
|
|
434
|
-
* @param {boolean} data.markdownActive - Markdown activé (true/false) (default: true)
|
|
435
|
-
* @param {string} data.parentId - ID de l'entité parente
|
|
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
|
-
* @param {array | string} data.tags - Tags : "" pour effacer tous les tags, ou tableau de mots-clés.
|
|
440
|
-
* @param {object} data.mediaImg - Optionnel. Informations sur les images associées à la news.
|
|
441
|
-
* @param {number} data.mediaImg.countImages - Nombre d'images.
|
|
442
|
-
* @param {Array<string>} data.mediaImg.images - Liste des identifiants ou chemins d'images.
|
|
443
|
-
* @param {object} data.mediaFile - Optionnel. Informations sur les fichiers associés à la news.
|
|
444
|
-
* @param {number} data.mediaFile.countFiles - Nombre de fichiers.
|
|
445
|
-
* @param {Array<string>} data.mediaFile.files - Liste des identifiants ou chemins de fichiers.
|
|
446
|
-
* @param {Array<object>} data.mentions - Optionnel. Liste des personnes mentionnées.
|
|
360
|
+
* @param {import("./EndpointApi.types").AddNewsData} data - Données envoyées à l'API
|
|
447
361
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
448
362
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
449
363
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
450
364
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
451
365
|
*/
|
|
452
|
-
async addNews(data
|
|
366
|
+
async addNews(data) {
|
|
367
|
+
if (!data || typeof data !== "object") {
|
|
368
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
369
|
+
}
|
|
453
370
|
return this.callIsConnected("ADD_NEWS", data);
|
|
454
371
|
}
|
|
455
|
-
|
|
372
|
+
|
|
456
373
|
/**
|
|
457
374
|
* Ajouter une image à une actualité : Ajoute une images à une actualité.
|
|
458
375
|
* Constant : ADD_IMAGE_NEWS
|
|
459
|
-
* @param {
|
|
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")
|
|
463
|
-
* @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité parente
|
|
376
|
+
* @param {import("./EndpointApi.types").AddImageNewsData} data - Données envoyées à l'API
|
|
464
377
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
465
378
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
466
379
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
467
380
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
468
381
|
*/
|
|
469
|
-
async addImageNews(data
|
|
382
|
+
async addImageNews(data) {
|
|
383
|
+
if (!data || typeof data !== "object") {
|
|
384
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
385
|
+
}
|
|
470
386
|
return this.callIsConnected("ADD_IMAGE_NEWS", data);
|
|
471
387
|
}
|
|
472
|
-
|
|
388
|
+
|
|
473
389
|
/**
|
|
474
390
|
* Ajouter un fichier à une actualité : Ajoute un fichier à une actualité.
|
|
475
391
|
* Constant : ADD_FILE_NEWS
|
|
476
|
-
* @param {
|
|
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")
|
|
480
|
-
* @param {string} data.pathParams.ownerId - ID de l'utilisateur ou de l'entité parente
|
|
392
|
+
* @param {import("./EndpointApi.types").AddFileNewsData} data - Données envoyées à l'API
|
|
481
393
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
482
394
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
483
395
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
484
396
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
485
397
|
*/
|
|
486
|
-
async addFileNews(data
|
|
398
|
+
async addFileNews(data) {
|
|
399
|
+
if (!data || typeof data !== "object") {
|
|
400
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
401
|
+
}
|
|
487
402
|
return this.callIsConnected("ADD_FILE_NEWS", data);
|
|
488
403
|
}
|
|
489
|
-
|
|
404
|
+
|
|
490
405
|
/**
|
|
491
406
|
* Supprimer une actualité : Supprime une actualité existante.
|
|
492
407
|
* Constant : DELETE_NEWS
|
|
493
|
-
* @param {
|
|
494
|
-
* @param {boolean} data.isLive - data.isLive (default: false)
|
|
495
|
-
* @param {object} data.pathParams - data.pathParams
|
|
496
|
-
* @param {string} data.pathParams.id - ID de l'actualité à supprimer
|
|
408
|
+
* @param {import("./EndpointApi.types").DeleteNewsData} data - Données envoyées à l'API
|
|
497
409
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
498
410
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
499
411
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
500
412
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
501
413
|
*/
|
|
502
|
-
async deleteNews(data
|
|
414
|
+
async deleteNews(data) {
|
|
415
|
+
if (!data || typeof data !== "object") {
|
|
416
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
417
|
+
}
|
|
503
418
|
return this.callIsConnected("DELETE_NEWS", data);
|
|
504
419
|
}
|
|
505
|
-
|
|
420
|
+
|
|
506
421
|
/**
|
|
507
422
|
* Mettre à jour une actualité : Met à jour le contenu d’une actualité existante.
|
|
508
423
|
* Constant : UPDATE_NEWS
|
|
509
|
-
* @param {
|
|
510
|
-
* @param {string} data.idNews - ID de l'actualité à mettre à jour
|
|
511
|
-
* @param {string} data.text - Contenu de l’actualité
|
|
512
|
-
* @param {"public" | "private" | "restricted"} data.scope - Portée de l'actualité (ex: public, privé...) (default: "public")
|
|
513
|
-
* @param {boolean} data.markdownActive - Markdown activé (true/false) (default: true)
|
|
514
|
-
* @param {string} data.parentId - ID de l'entité parente
|
|
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")
|
|
517
|
-
* @param {array | string} data.tags - Tags : "" pour effacer tous les tags, ou tableau de mots-clés.
|
|
518
|
-
* @param {object} data.mediaImg - Optionnel. Informations sur les images associées à la news.
|
|
519
|
-
* @param {number} data.mediaImg.countImages - Nombre d'images.
|
|
520
|
-
* @param {Array<string>} data.mediaImg.images - Liste des identifiants ou chemins d'images.
|
|
521
|
-
* @param {object} data.mediaFile - Optionnel. Informations sur les fichiers associés à la news.
|
|
522
|
-
* @param {number} data.mediaFile.countFiles - Nombre de fichiers.
|
|
523
|
-
* @param {Array<string>} data.mediaFile.files - Liste des identifiants ou chemins de fichiers.
|
|
524
|
-
* @param {Array<object>} data.mentions - Optionnel. Liste des personnes mentionnées.
|
|
424
|
+
* @param {import("./EndpointApi.types").UpdateNewsData} data - Données envoyées à l'API
|
|
525
425
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
526
426
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
527
427
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
528
428
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
529
429
|
*/
|
|
530
|
-
async updateNews(data
|
|
430
|
+
async updateNews(data) {
|
|
431
|
+
if (!data || typeof data !== "object") {
|
|
432
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
433
|
+
}
|
|
531
434
|
return this.callIsConnected("UPDATE_NEWS", data);
|
|
532
435
|
}
|
|
533
|
-
|
|
436
|
+
|
|
534
437
|
/**
|
|
535
438
|
* Partager une actualité : Partage une actualité avec une entité ou un utilisateur.
|
|
536
439
|
* Constant : SHARE_NEWS
|
|
537
|
-
* @param {
|
|
538
|
-
* @param {string} data.parentId - ID de l'actualité à partager
|
|
539
|
-
* @param {"news"} data.parentType - Type de l'objet, toujours 'news'. (default: "news")
|
|
540
|
-
* @param {string} data.childId - ID de l'entité partageante
|
|
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")
|
|
543
|
-
* @param {string} data.comment - Commentaire de partage
|
|
440
|
+
* @param {import("./EndpointApi.types").ShareNewsData} data - Données envoyées à l'API
|
|
544
441
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
545
442
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
546
443
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
547
444
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
548
445
|
*/
|
|
549
|
-
async shareNews(data
|
|
446
|
+
async shareNews(data) {
|
|
447
|
+
if (!data || typeof data !== "object") {
|
|
448
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
449
|
+
}
|
|
550
450
|
return this.callIsConnected("SHARE_NEWS", data);
|
|
551
451
|
}
|
|
552
|
-
|
|
452
|
+
|
|
553
453
|
/**
|
|
554
454
|
* Récupérer les commentaires : Récupère les commentaires d’un élément.
|
|
555
455
|
* Constant : GET_COMMENTS
|
|
556
|
-
* @param {
|
|
557
|
-
* @param {"news"} data.pathParams.type - Type de l'élément (default: "news")
|
|
558
|
-
* @param {string} data.pathParams.id - ID de l'élément dont on veut récupérer les commentaires
|
|
456
|
+
* @param {import("./EndpointApi.types").GetCommentsData} data - Données envoyées à l'API
|
|
559
457
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
560
458
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
561
459
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
562
460
|
*/
|
|
563
|
-
async getComments(data
|
|
461
|
+
async getComments(data) {
|
|
462
|
+
if (!data || typeof data !== "object") {
|
|
463
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
464
|
+
}
|
|
564
465
|
return this.call("GET_COMMENTS", data);
|
|
565
466
|
}
|
|
566
|
-
|
|
467
|
+
|
|
567
468
|
/**
|
|
568
469
|
* Ajouter un commentaire : Ajoute un commentaire à une actualité ou autre contexte.
|
|
569
470
|
* Constant : ADD_COMMENTS
|
|
570
|
-
* @param {
|
|
571
|
-
* @param {string} data.parentCommentId - ID du commentaire parent (optionnel)
|
|
572
|
-
* @param {string} data.text - Contenu du commentaire
|
|
573
|
-
* @param {string} data.contextId - ID de l'élément auquel le commentaire est associé
|
|
574
|
-
* @param {"news"} data.contextType - Type de l'élément auquel le commentaire est associé (default: "news")
|
|
575
|
-
* @param {string} data.argval - Valeur de l'argument (optionnel) (default: "")
|
|
576
|
-
* @param {string} data.path - Chemin de l'élément (optionnel) (default: "")
|
|
577
|
-
* @param {Array<object>} data.mentions - data.mentions
|
|
471
|
+
* @param {import("./EndpointApi.types").AddCommentsData} data - Données envoyées à l'API
|
|
578
472
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
579
473
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
580
474
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
581
475
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
582
476
|
*/
|
|
583
|
-
async addComments(data
|
|
477
|
+
async addComments(data) {
|
|
478
|
+
if (!data || typeof data !== "object") {
|
|
479
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
480
|
+
}
|
|
584
481
|
return this.callIsConnected("ADD_COMMENTS", data);
|
|
585
482
|
}
|
|
586
|
-
|
|
483
|
+
|
|
587
484
|
/**
|
|
588
485
|
* Supprimer un commentaire : Supprime un commentaire existant.
|
|
589
486
|
* Constant : DELETE_COMMENTS
|
|
590
|
-
* @param {
|
|
591
|
-
* @param {string} data.pathParams.id - ID du commentaire à supprimer
|
|
487
|
+
* @param {import("./EndpointApi.types").DeleteCommentsData} data - Données envoyées à l'API
|
|
592
488
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
593
489
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
594
490
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
595
491
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
596
492
|
*/
|
|
597
|
-
async deleteComments(data
|
|
493
|
+
async deleteComments(data) {
|
|
494
|
+
if (!data || typeof data !== "object") {
|
|
495
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
496
|
+
}
|
|
598
497
|
return this.callIsConnected("DELETE_COMMENTS", data);
|
|
599
498
|
}
|
|
600
|
-
|
|
499
|
+
|
|
601
500
|
/**
|
|
602
501
|
* Mettre à jour un commentaire : Met à jour le contenu d’un commentaire.
|
|
603
502
|
* Constant : UPDATE_COMMENTS
|
|
604
|
-
* @param {
|
|
605
|
-
* @param {string} data.id - ID du commentaire à mettre à jour
|
|
606
|
-
* @param {object} data.params - data.params
|
|
607
|
-
* @param {string} data.params.text - Nouveau texte du commentaire
|
|
608
|
-
* @param {Array<object>} data.params.mentions - data.params.mentions
|
|
503
|
+
* @param {import("./EndpointApi.types").UpdateCommentsData} data - Données envoyées à l'API
|
|
609
504
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
610
505
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
611
506
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
612
507
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
613
508
|
*/
|
|
614
|
-
async updateComments(data
|
|
509
|
+
async updateComments(data) {
|
|
510
|
+
if (!data || typeof data !== "object") {
|
|
511
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
512
|
+
}
|
|
615
513
|
return this.callIsConnected("UPDATE_COMMENTS", data);
|
|
616
514
|
}
|
|
617
|
-
|
|
515
|
+
|
|
618
516
|
/**
|
|
619
517
|
* Rechercher des tags : Recherche des tags correspondant à un mot-clé.
|
|
620
518
|
* Constant : SEARCH_TAGS
|
|
621
|
-
* @param {
|
|
622
|
-
* @param {string} data.pathParams.q - Mot-clé de recherche
|
|
519
|
+
* @param {import("./EndpointApi.types").SearchTagsData} data - Données envoyées à l'API
|
|
623
520
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
624
521
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
625
522
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
626
523
|
*/
|
|
627
|
-
async searchTags(data
|
|
524
|
+
async searchTags(data) {
|
|
525
|
+
if (!data || typeof data !== "object") {
|
|
526
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
527
|
+
}
|
|
628
528
|
return this.call("SEARCH_TAGS", data);
|
|
629
529
|
}
|
|
630
|
-
|
|
530
|
+
|
|
631
531
|
/**
|
|
632
532
|
* Afficher les votes d'une actualité : Récupère la liste des votes (like, love, etc.) sur une actualité.
|
|
633
533
|
* Constant : SHOW_VOTE
|
|
634
|
-
* @param {
|
|
635
|
-
* @param {"news"} data.pathParams.type - Type de l'élément (default: "news")
|
|
636
|
-
* @param {string} data.pathParams.id - ID de l'élément dont on veut récupérer les votes
|
|
534
|
+
* @param {import("./EndpointApi.types").ShowVoteData} data - Données envoyées à l'API
|
|
637
535
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
638
536
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
639
537
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
640
538
|
*/
|
|
641
|
-
async showVote(data
|
|
539
|
+
async showVote(data) {
|
|
540
|
+
if (!data || typeof data !== "object") {
|
|
541
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
542
|
+
}
|
|
642
543
|
return this.call("SHOW_VOTE", data);
|
|
643
544
|
}
|
|
644
|
-
|
|
545
|
+
|
|
645
546
|
/**
|
|
646
547
|
* Recherche globale avec autocomplétion : Effectue une recherche globale avec possibilité d’autocomplétion.
|
|
647
548
|
* Constant : GLOBAL_AUTOCOMPLETE
|
|
648
|
-
* @param {
|
|
649
|
-
* @
|
|
650
|
-
* @
|
|
651
|
-
* @
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
* @param {0} data.indexMin - Index de départ global pour la pagination (toujours 0) (default: 0)
|
|
658
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination)
|
|
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)
|
|
664
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
665
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
666
|
-
* @throws {Error} - En cas d'erreur inattendue.
|
|
667
|
-
*/
|
|
668
|
-
async globalAutocomplete(data = {}) {
|
|
549
|
+
* @param {import("./EndpointApi.types").GlobalAutocompleteData} data - Données envoyées à l'API
|
|
550
|
+
* @returns {Promise<Object>} - Les données de réponse.
|
|
551
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
552
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
553
|
+
*/
|
|
554
|
+
async globalAutocomplete(data) {
|
|
555
|
+
if (!data || typeof data !== "object") {
|
|
556
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
557
|
+
}
|
|
669
558
|
return this.call("GLOBAL_AUTOCOMPLETE", data);
|
|
670
559
|
}
|
|
671
|
-
|
|
560
|
+
|
|
672
561
|
/**
|
|
673
562
|
* Recherche de villes avec autocomplétion : Recherche des villes en fonction d’un nom, autocomplétion rapide.
|
|
674
563
|
* Constant : CITY_AUTOCOMPLETE
|
|
675
|
-
* @param {
|
|
676
|
-
* @param {string} data.name - Nom de la ville
|
|
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")
|
|
680
|
-
* @param {number} data.indexMin - Index minimum
|
|
681
|
-
* @param {number} data.indexMax - Index maximum
|
|
564
|
+
* @param {import("./EndpointApi.types").CityAutocompleteData} data - Données envoyées à l'API
|
|
682
565
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
683
566
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
684
567
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
685
568
|
*/
|
|
686
|
-
async cityAutocomplete(data
|
|
569
|
+
async cityAutocomplete(data) {
|
|
570
|
+
if (!data || typeof data !== "object") {
|
|
571
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
572
|
+
}
|
|
687
573
|
return this.call("CITY_AUTOCOMPLETE", data);
|
|
688
574
|
}
|
|
689
|
-
|
|
575
|
+
|
|
690
576
|
/**
|
|
691
577
|
* Suggestions d'entrée : Fournit des suggestions basées sur le nom recherché, etc.
|
|
692
578
|
* Constant : SUGGESTION_INPUT
|
|
693
|
-
* @param {
|
|
694
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
695
|
-
* @param {Array<string>} data.searchType - Types d'entités à inclure dans la recherche
|
|
696
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
697
|
-
* @param {number} data.indexMax - Index maximum pour la pagination (default: 20)
|
|
579
|
+
* @param {import("./EndpointApi.types").SuggestionInputData} data - Données envoyées à l'API
|
|
698
580
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
699
581
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
700
582
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
701
583
|
*/
|
|
702
|
-
async suggestionInput(data
|
|
584
|
+
async suggestionInput(data) {
|
|
585
|
+
if (!data || typeof data !== "object") {
|
|
586
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
587
|
+
}
|
|
703
588
|
return this.call("SUGGESTION_INPUT", data);
|
|
704
589
|
}
|
|
705
|
-
|
|
590
|
+
|
|
706
591
|
/**
|
|
707
592
|
* Récupérer les projets non administrables : Récupère les projets accessibles sans droits d'administration.
|
|
708
593
|
* Constant : GET_PROJECTS_NO_ADMIN
|
|
709
|
-
* @param {
|
|
710
|
-
* @
|
|
711
|
-
* @
|
|
712
|
-
* @
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
* @param {object} data.filters - data.filters (default: {"$or":{"links.contributors.@userId":{"$exists":true},"parent.@userId":{"$exists":true}},"links.contributors.@userId":{"$exists":true}})
|
|
719
|
-
* @param {object} data.filters.$or - data.filters.$or
|
|
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)
|
|
724
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
725
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
726
|
-
* @throws {Error} - En cas d'erreur inattendue.
|
|
727
|
-
*/
|
|
728
|
-
async getProjectsNoAdmin(data = {}) {
|
|
594
|
+
* @param {import("./EndpointApi.types").GetProjectsNoAdminData} data - Données envoyées à l'API
|
|
595
|
+
* @returns {Promise<Object>} - Les données de réponse.
|
|
596
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
597
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
598
|
+
*/
|
|
599
|
+
async getProjectsNoAdmin(data) {
|
|
600
|
+
if (!data || typeof data !== "object") {
|
|
601
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
602
|
+
}
|
|
729
603
|
return this.call("GET_PROJECTS_NO_ADMIN", data);
|
|
730
604
|
}
|
|
731
|
-
|
|
605
|
+
|
|
732
606
|
/**
|
|
733
607
|
* Récupérer les projets administrables : Récupère les projets pour lesquels l'utilisateur a des droits d'administration.
|
|
734
608
|
* Constant : GET_PROJECTS_ADMIN
|
|
735
|
-
* @param {
|
|
736
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
737
|
-
* @param {["projects"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["projects"])
|
|
738
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
742
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
743
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
745
|
-
* @param {object} data.filters.$or - data.filters.$or
|
|
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")
|
|
752
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
|
|
609
|
+
* @param {import("./EndpointApi.types").GetProjectsAdminData} data - Données envoyées à l'API
|
|
753
610
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
754
611
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
755
612
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
756
613
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
757
614
|
*/
|
|
758
|
-
async getProjectsAdmin(data
|
|
615
|
+
async getProjectsAdmin(data) {
|
|
616
|
+
if (!data || typeof data !== "object") {
|
|
617
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
618
|
+
}
|
|
759
619
|
return this.callIsConnected("GET_PROJECTS_ADMIN", data);
|
|
760
620
|
}
|
|
761
|
-
|
|
621
|
+
|
|
762
622
|
/**
|
|
763
623
|
* Récupérer les POIs non administrables : Récupère la liste des POIs accessibles sans droits d'administration.
|
|
764
624
|
* Constant : GET_POIS_NO_ADMIN
|
|
765
|
-
* @param {
|
|
766
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
767
|
-
* @param {["poi"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
|
|
768
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
772
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
773
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
774
|
-
* @param {object} data.filters - data.filters (default: {"parent.@userId":{"$exists":true}})
|
|
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)
|
|
625
|
+
* @param {import("./EndpointApi.types").GetPoisNoAdminData} data - Données envoyées à l'API
|
|
778
626
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
779
627
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
780
628
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
781
629
|
*/
|
|
782
|
-
async getPoisNoAdmin(data
|
|
630
|
+
async getPoisNoAdmin(data) {
|
|
631
|
+
if (!data || typeof data !== "object") {
|
|
632
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
633
|
+
}
|
|
783
634
|
return this.call("GET_POIS_NO_ADMIN", data);
|
|
784
635
|
}
|
|
785
|
-
|
|
636
|
+
|
|
786
637
|
/**
|
|
787
638
|
* Récupérer les POIs administrables : Récupère la liste des POIs administrables par l’utilisateur.
|
|
788
639
|
* Constant : GET_POIS_ADMIN
|
|
789
|
-
* @param {
|
|
790
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
791
|
-
* @param {["poi"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["poi"])
|
|
792
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
796
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
797
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
798
|
-
* @param {object} data.filters - data.filters (default: {"parent.@{pathParams.id}":{"$exists":true}})
|
|
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")
|
|
804
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
|
|
640
|
+
* @param {import("./EndpointApi.types").GetPoisAdminData} data - Données envoyées à l'API
|
|
805
641
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
806
642
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
807
643
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
808
644
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
809
645
|
*/
|
|
810
|
-
async getPoisAdmin(data
|
|
646
|
+
async getPoisAdmin(data) {
|
|
647
|
+
if (!data || typeof data !== "object") {
|
|
648
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
649
|
+
}
|
|
811
650
|
return this.callIsConnected("GET_POIS_ADMIN", data);
|
|
812
651
|
}
|
|
813
|
-
|
|
652
|
+
|
|
814
653
|
/**
|
|
815
654
|
* Récupérer les organisations non administrables : Récupère la liste des organisations auxquelles l’utilisateur appartient sans les administrer.
|
|
816
655
|
* Constant : GET_ORGANIZATIONS_NO_ADMIN
|
|
817
|
-
* @param {
|
|
818
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
819
|
-
* @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
|
|
820
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
824
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
825
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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)
|
|
656
|
+
* @param {import("./EndpointApi.types").GetOrganizationsNoAdminData} data - Données envoyées à l'API
|
|
830
657
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
831
658
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
832
659
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
833
660
|
*/
|
|
834
|
-
async getOrganizationsNoAdmin(data
|
|
661
|
+
async getOrganizationsNoAdmin(data) {
|
|
662
|
+
if (!data || typeof data !== "object") {
|
|
663
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
664
|
+
}
|
|
835
665
|
return this.call("GET_ORGANIZATIONS_NO_ADMIN", data);
|
|
836
666
|
}
|
|
837
|
-
|
|
667
|
+
|
|
838
668
|
/**
|
|
839
669
|
* Récupérer les organisations administrables : Récupère les organisations administrées par l’utilisateur.
|
|
840
670
|
* Constant : GET_ORGANIZATIONS_ADMIN
|
|
841
|
-
* @param {
|
|
842
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
843
|
-
* @param {["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["NGO","Cooperative","LocalBusiness","Group","GovernmentOrganization"])
|
|
844
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
848
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
849
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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")
|
|
856
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
|
|
671
|
+
* @param {import("./EndpointApi.types").GetOrganizationsAdminData} data - Données envoyées à l'API
|
|
857
672
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
858
673
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
859
674
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
860
675
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
861
676
|
*/
|
|
862
|
-
async getOrganizationsAdmin(data
|
|
677
|
+
async getOrganizationsAdmin(data) {
|
|
678
|
+
if (!data || typeof data !== "object") {
|
|
679
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
680
|
+
}
|
|
863
681
|
return this.callIsConnected("GET_ORGANIZATIONS_ADMIN", data);
|
|
864
682
|
}
|
|
865
|
-
|
|
683
|
+
|
|
866
684
|
/**
|
|
867
685
|
* Récupérer les membres non administrables : Récupère les membres d’une organisation sans droits d’admin.
|
|
868
686
|
* Constant : GET_MEMBERS_NO_ADMIN
|
|
869
|
-
* @param {
|
|
870
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
872
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
876
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
877
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
878
|
-
* @param {object} data.filters - data.filters
|
|
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)
|
|
687
|
+
* @param {import("./EndpointApi.types").GetMembersNoAdminData} data - Données envoyées à l'API
|
|
882
688
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
883
689
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
884
690
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
885
691
|
*/
|
|
886
|
-
async getMembersNoAdmin(data
|
|
692
|
+
async getMembersNoAdmin(data) {
|
|
693
|
+
if (!data || typeof data !== "object") {
|
|
694
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
695
|
+
}
|
|
887
696
|
return this.call("GET_MEMBERS_NO_ADMIN", data);
|
|
888
697
|
}
|
|
889
|
-
|
|
698
|
+
|
|
890
699
|
/**
|
|
891
700
|
* Récupérer les membres administrables : Récupère les membres d’une organisation administrée par l’utilisateur.
|
|
892
701
|
* Constant : GET_MEMBERS_ADMIN
|
|
893
|
-
* @param {
|
|
894
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
896
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
900
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
901
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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
|
|
907
|
-
* @param {string} data.pathParams.id - ID de l'organisation
|
|
702
|
+
* @param {import("./EndpointApi.types").GetMembersAdminData} data - Données envoyées à l'API
|
|
908
703
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
909
704
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
910
705
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
911
706
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
912
707
|
*/
|
|
913
|
-
async getMembersAdmin(data
|
|
708
|
+
async getMembersAdmin(data) {
|
|
709
|
+
if (!data || typeof data !== "object") {
|
|
710
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
711
|
+
}
|
|
914
712
|
return this.callIsConnected("GET_MEMBERS_ADMIN", data);
|
|
915
713
|
}
|
|
916
|
-
|
|
714
|
+
|
|
917
715
|
/**
|
|
918
716
|
* Récupérer les amis administrables : Récupère les amis administrée par l’utilisateur.
|
|
919
717
|
* Constant : GET_FRIENDS_ADMIN
|
|
920
|
-
* @param {
|
|
921
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
922
|
-
* @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
|
|
923
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
927
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
928
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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
|
|
934
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
|
|
718
|
+
* @param {import("./EndpointApi.types").GetFriendsAdminData} data - Données envoyées à l'API
|
|
935
719
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
936
720
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
937
721
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
938
722
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
939
723
|
*/
|
|
940
|
-
async getFriendsAdmin(data
|
|
724
|
+
async getFriendsAdmin(data) {
|
|
725
|
+
if (!data || typeof data !== "object") {
|
|
726
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
727
|
+
}
|
|
941
728
|
return this.callIsConnected("GET_FRIENDS_ADMIN", data);
|
|
942
729
|
}
|
|
943
|
-
|
|
730
|
+
|
|
944
731
|
/**
|
|
945
732
|
* Récupérer les suivis non administrables : Liste les entités suivies sans droits d’admin.
|
|
946
733
|
* Constant : GET_SUBSCRIPTIONS
|
|
947
|
-
* @param {
|
|
948
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
950
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
954
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
955
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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)
|
|
734
|
+
* @param {import("./EndpointApi.types").GetSubscriptionsData} data - Données envoyées à l'API
|
|
960
735
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
961
736
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
962
737
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
963
738
|
*/
|
|
964
|
-
async getSubscriptions(data
|
|
739
|
+
async getSubscriptions(data) {
|
|
740
|
+
if (!data || typeof data !== "object") {
|
|
741
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
742
|
+
}
|
|
965
743
|
return this.call("GET_SUBSCRIPTIONS", data);
|
|
966
744
|
}
|
|
967
|
-
|
|
745
|
+
|
|
968
746
|
/**
|
|
969
747
|
* Récupérer les suivis administrables : Liste les entités suivies par l’utilisateur, sur lesquelles il est admin.
|
|
970
748
|
* Constant : GET_SUBSCRIPTIONS_ADMIN
|
|
971
|
-
* @param {
|
|
972
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
974
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
978
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
979
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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
|
|
985
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
|
|
749
|
+
* @param {import("./EndpointApi.types").GetSubscriptionsAdminData} data - Données envoyées à l'API
|
|
986
750
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
987
751
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
988
752
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
989
753
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
990
754
|
*/
|
|
991
|
-
async getSubscriptionsAdmin(data
|
|
755
|
+
async getSubscriptionsAdmin(data) {
|
|
756
|
+
if (!data || typeof data !== "object") {
|
|
757
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
758
|
+
}
|
|
992
759
|
return this.callIsConnected("GET_SUBSCRIPTIONS_ADMIN", data);
|
|
993
760
|
}
|
|
994
|
-
|
|
761
|
+
|
|
995
762
|
/**
|
|
996
763
|
* Récupérer les abonnés non administrables : Liste les abonnés sans droits d’admin.
|
|
997
764
|
* Constant : GET_SUBSCRIBERS
|
|
998
|
-
* @param {
|
|
999
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
1000
|
-
* @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
|
|
1001
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
1005
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
1006
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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)
|
|
765
|
+
* @param {import("./EndpointApi.types").GetSubscribersData} data - Données envoyées à l'API
|
|
1011
766
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1012
767
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1013
768
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1014
769
|
*/
|
|
1015
|
-
async getSubscribers(data
|
|
770
|
+
async getSubscribers(data) {
|
|
771
|
+
if (!data || typeof data !== "object") {
|
|
772
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
773
|
+
}
|
|
1016
774
|
return this.call("GET_SUBSCRIBERS", data);
|
|
1017
775
|
}
|
|
1018
|
-
|
|
776
|
+
|
|
1019
777
|
/**
|
|
1020
778
|
* Récupérer les abonnés administrables : Liste les abonnés d’une entité administrée par l’utilisateur.
|
|
1021
779
|
* Constant : GET_SUBSCRIBERS_ADMIN
|
|
1022
|
-
* @param {
|
|
1023
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
1024
|
-
* @param {["citoyens"]} data.searchType - Types d'entités à inclure dans la recherche (default: ["citoyens"])
|
|
1025
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
1029
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
1030
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
1031
|
-
* @param {object} data.filters - data.filters (default: {"links.follows.@{pathParams.id}":{"$exists":true}})
|
|
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")
|
|
1037
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur ou de l'entité
|
|
780
|
+
* @param {import("./EndpointApi.types").GetSubscribersAdminData} data - Données envoyées à l'API
|
|
1038
781
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1039
782
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1040
783
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1041
784
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1042
785
|
*/
|
|
1043
|
-
async getSubscribersAdmin(data
|
|
786
|
+
async getSubscribersAdmin(data) {
|
|
787
|
+
if (!data || typeof data !== "object") {
|
|
788
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
789
|
+
}
|
|
1044
790
|
return this.callIsConnected("GET_SUBSCRIBERS_ADMIN", data);
|
|
1045
791
|
}
|
|
1046
|
-
|
|
792
|
+
|
|
1047
793
|
/**
|
|
1048
794
|
* Récupérer les contributeurs non administrables : Récupère les contributeurs sans droits d’admin.
|
|
1049
795
|
* Constant : GET_CONTRIBUTORS
|
|
1050
|
-
* @param {
|
|
1051
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
1053
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
1057
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
1058
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
1059
|
-
* @param {object} data.filters - data.filters
|
|
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)
|
|
796
|
+
* @param {import("./EndpointApi.types").GetContributorsData} data - Données envoyées à l'API
|
|
1063
797
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1064
798
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1065
799
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1066
800
|
*/
|
|
1067
|
-
async getContributors(data
|
|
801
|
+
async getContributors(data) {
|
|
802
|
+
if (!data || typeof data !== "object") {
|
|
803
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
804
|
+
}
|
|
1068
805
|
return this.call("GET_CONTRIBUTORS", data);
|
|
1069
806
|
}
|
|
1070
|
-
|
|
807
|
+
|
|
1071
808
|
/**
|
|
1072
809
|
* Récupérer les contributeurs administrables : Récupère les contributeurs d’un project l’utilisateur est admin.
|
|
1073
810
|
* Constant : GET_CONTRIBUTORS_ADMIN
|
|
1074
|
-
* @param {
|
|
1075
|
-
* @param {string} data.name - Nom ou terme recherché
|
|
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"])
|
|
1077
|
-
* @param {number} data.indexMin - Index minimum pour la pagination (default: 0)
|
|
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"])
|
|
1081
|
-
* @param {number} data.indexStep - Nombre d’éléments à récupérer (limite de pagination) (default: 30)
|
|
1082
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
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
|
|
1088
|
-
* @param {string} data.pathParams.id - ID du projet
|
|
811
|
+
* @param {import("./EndpointApi.types").GetContributorsAdminData} data - Données envoyées à l'API
|
|
1089
812
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1090
813
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1091
814
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1092
815
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1093
816
|
*/
|
|
1094
|
-
async getContributorsAdmin(data
|
|
817
|
+
async getContributorsAdmin(data) {
|
|
818
|
+
if (!data || typeof data !== "object") {
|
|
819
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
820
|
+
}
|
|
1095
821
|
return this.callIsConnected("GET_CONTRIBUTORS_ADMIN", data);
|
|
1096
822
|
}
|
|
1097
|
-
|
|
823
|
+
|
|
1098
824
|
/**
|
|
1099
825
|
* Recherche globale des badges : Recherche des badges publics en fonction de divers critères.
|
|
1100
826
|
* Constant : GET_BADGES
|
|
1101
|
-
* @param {
|
|
1102
|
-
* @
|
|
1103
|
-
* @
|
|
1104
|
-
* @
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
* @param {object} data.filters - data.filters
|
|
1111
|
-
* @param {false} data.filters.preferences.private - Indique si le badge est privé ou public (default: false)
|
|
1112
|
-
* @param {boolean} data.filters.isParcours - Indique si le badge est un parcours
|
|
1113
|
-
* @param {object} data.filters.$or - data.filters.$or
|
|
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)
|
|
1117
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
1118
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1119
|
-
* @throws {Error} - En cas d'erreur inattendue.
|
|
1120
|
-
*/
|
|
1121
|
-
async getBadges(data = {}) {
|
|
827
|
+
* @param {import("./EndpointApi.types").GetBadgesData} data - Données envoyées à l'API
|
|
828
|
+
* @returns {Promise<Object>} - Les données de réponse.
|
|
829
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
830
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
831
|
+
*/
|
|
832
|
+
async getBadges(data) {
|
|
833
|
+
if (!data || typeof data !== "object") {
|
|
834
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
835
|
+
}
|
|
1122
836
|
return this.call("GET_BADGES", data);
|
|
1123
837
|
}
|
|
1124
|
-
|
|
838
|
+
|
|
1125
839
|
/**
|
|
1126
840
|
* Recherche globale des badges : Recherche des badges publics en fonction de divers critères.
|
|
1127
841
|
* Constant : GET_BADGES_FILTERS
|
|
1128
|
-
* @param {
|
|
1129
|
-
* @
|
|
1130
|
-
* @
|
|
1131
|
-
* @
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
* @param {true} data.notSourceKey - Flag pour ne pas filtrer sur une clé de source spécifique (default: true)
|
|
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}})
|
|
1139
|
-
* @param {Object.<string, { indexMin: number, indexMax: number } | any>} data.ranges - Clés matching "^[a-zA-Z][a-zA-Z0-9]*$"
|
|
1140
|
-
* @param {object} data.filters - data.filters
|
|
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)
|
|
1143
|
-
* @returns {Promise<Object>} - Les données de réponse.
|
|
1144
|
-
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1145
|
-
* @throws {Error} - En cas d'erreur inattendue.
|
|
1146
|
-
*/
|
|
1147
|
-
async getBadgesFilters(data = {}) {
|
|
842
|
+
* @param {import("./EndpointApi.types").GetBadgesFiltersData} data - Données envoyées à l'API
|
|
843
|
+
* @returns {Promise<Object>} - Les données de réponse.
|
|
844
|
+
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
845
|
+
* @throws {Error} - En cas d'erreur inattendue.
|
|
846
|
+
*/
|
|
847
|
+
async getBadgesFilters(data) {
|
|
848
|
+
if (!data || typeof data !== "object") {
|
|
849
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
850
|
+
}
|
|
1148
851
|
return this.call("GET_BADGES_FILTERS", data);
|
|
1149
852
|
}
|
|
1150
|
-
|
|
853
|
+
|
|
1151
854
|
/**
|
|
1152
855
|
* Suivre un élément : Permet à un utilisateur de suivre un élément (projet, organisation...).
|
|
1153
856
|
* Constant : CONNECT
|
|
1154
|
-
* @param {
|
|
1155
|
-
* @param {string} data.childId - ID de l'élément à suivre (projet, organisation...) (default: "@userId")
|
|
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...)
|
|
1158
|
-
* @param {string} data.parentId - ID de l'élément parent
|
|
1159
|
-
* @param {"admin" | "member" | "contributor" | "attendee" | "friend" | "connect"} data.connectType - Type de connexion
|
|
857
|
+
* @param {import("./EndpointApi.types").ConnectData} data - Données envoyées à l'API
|
|
1160
858
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1161
859
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1162
860
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1163
861
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1164
862
|
*/
|
|
1165
|
-
async connect(data
|
|
863
|
+
async connect(data) {
|
|
864
|
+
if (!data || typeof data !== "object") {
|
|
865
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
866
|
+
}
|
|
1166
867
|
return this.callIsConnected("CONNECT", data);
|
|
1167
868
|
}
|
|
1168
|
-
|
|
869
|
+
|
|
1169
870
|
/**
|
|
1170
871
|
* Se déconnecter d'un élément : Permet de supprimer le lien entre un utilisateur et un élément.
|
|
1171
872
|
* Constant : DISCONNECT
|
|
1172
|
-
* @param {
|
|
1173
|
-
* @param {string} data.childId - ID de l'élément à déconnecter (projet, organisation...) (default: "@userId")
|
|
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...)
|
|
1176
|
-
* @param {string} data.parentId - ID de l'élément parent
|
|
1177
|
-
* @param {"admin" | "member" | "contributor" | "attendee" | "friend"} data.connectType - Type de connexion
|
|
873
|
+
* @param {import("./EndpointApi.types").DisconnectData} data - Données envoyées à l'API
|
|
1178
874
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1179
875
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1180
876
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1181
877
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1182
878
|
*/
|
|
1183
|
-
async disconnect(data
|
|
879
|
+
async disconnect(data) {
|
|
880
|
+
if (!data || typeof data !== "object") {
|
|
881
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
882
|
+
}
|
|
1184
883
|
return this.callIsConnected("DISCONNECT", data);
|
|
1185
884
|
}
|
|
1186
|
-
|
|
885
|
+
|
|
1187
886
|
/**
|
|
1188
887
|
* 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
|
|
1189
888
|
* Constant : GET_ELEMENTS_KEY
|
|
1190
|
-
* @param {
|
|
1191
|
-
* @param {string} data.pathParams.slug - Slug de l'élément à récupérer
|
|
889
|
+
* @param {import("./EndpointApi.types").GetElementsKeyData} data - Données envoyées à l'API
|
|
1192
890
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1193
891
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1194
892
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1195
893
|
*/
|
|
1196
|
-
async getElementsKey(data
|
|
894
|
+
async getElementsKey(data) {
|
|
895
|
+
if (!data || typeof data !== "object") {
|
|
896
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
897
|
+
}
|
|
1197
898
|
return this.call("GET_ELEMENTS_KEY", data);
|
|
1198
899
|
}
|
|
1199
|
-
|
|
900
|
+
|
|
1200
901
|
/**
|
|
1201
902
|
* Récupérer les favoris d'un utilisateur : Récupère la liste des favoris d’un utilisateur.
|
|
1202
903
|
* Constant : GET_FAVORIS
|
|
1203
|
-
* @param {
|
|
1204
|
-
* @param {string} data.pathParams.id - ID de l'utilisateur (default: "@userId")
|
|
904
|
+
* @param {import("./EndpointApi.types").GetFavorisData} data - Données envoyées à l'API
|
|
1205
905
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1206
906
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1207
907
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1208
908
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1209
909
|
*/
|
|
1210
|
-
async getFavoris(data
|
|
910
|
+
async getFavoris(data) {
|
|
911
|
+
if (!data || typeof data !== "object") {
|
|
912
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
913
|
+
}
|
|
1211
914
|
return this.callIsConnected("GET_FAVORIS", data);
|
|
1212
915
|
}
|
|
1213
|
-
|
|
916
|
+
|
|
1214
917
|
/**
|
|
1215
918
|
* Supprimer un favori : Supprime un élément des favoris de l’utilisateur.
|
|
1216
919
|
* Constant : DELETE_FAVORIS
|
|
1217
|
-
* @param {
|
|
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
|
|
1224
|
-
* @param {number} data.pathParams.index - Index du favoris à supprimer
|
|
920
|
+
* @param {import("./EndpointApi.types").DeleteFavorisData} data - Données envoyées à l'API
|
|
1225
921
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1226
922
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1227
923
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1228
924
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1229
925
|
*/
|
|
1230
|
-
async deleteFavoris(data
|
|
926
|
+
async deleteFavoris(data) {
|
|
927
|
+
if (!data || typeof data !== "object") {
|
|
928
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
929
|
+
}
|
|
1231
930
|
return this.callIsConnected("DELETE_FAVORIS", data);
|
|
1232
931
|
}
|
|
1233
|
-
|
|
932
|
+
|
|
1234
933
|
/**
|
|
1235
934
|
* Ajouter un favori : Ajoute un élément aux favoris de l’utilisateur.
|
|
1236
935
|
* Constant : ADD_FAVORIS
|
|
1237
|
-
* @param {
|
|
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
|
|
1242
|
-
* @param {object} data.value - data.value
|
|
1243
|
-
* @param {string} data.value.url - data.value.url
|
|
1244
|
-
* @param {string} data.value.name - data.value.name
|
|
1245
|
-
* @param {string} data.value.description - data.value.description
|
|
1246
|
-
* @param {Array<string>} data.value.tags - data.value.tags
|
|
1247
|
-
* @param {object} data.value.locality - data.value.locality
|
|
1248
|
-
* @param {Object.<string, any>} data.value.locality - Clés matching "^[a-f0-9]{24}$"
|
|
936
|
+
* @param {import("./EndpointApi.types").AddFavorisData} data - Données envoyées à l'API
|
|
1249
937
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1250
938
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1251
939
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1252
940
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1253
941
|
*/
|
|
1254
|
-
async addFavoris(data
|
|
942
|
+
async addFavoris(data) {
|
|
943
|
+
if (!data || typeof data !== "object") {
|
|
944
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
945
|
+
}
|
|
1255
946
|
return this.callIsConnected("ADD_FAVORIS", data);
|
|
1256
947
|
}
|
|
1257
|
-
|
|
948
|
+
|
|
1258
949
|
/**
|
|
1259
950
|
* Créer une organisation : Crée une nouvelle organisation.
|
|
1260
951
|
* Constant : ADD_ORGANIZATION
|
|
1261
|
-
* @param {
|
|
1262
|
-
* @param {string} data.id - ID de l’organisation
|
|
1263
|
-
* @param {"organizations"} data.collection - Collection de l’organisation (default: "organizations")
|
|
1264
|
-
* @param {"organization"} data.key - data.key (default: "organization")
|
|
1265
|
-
* @param {string} data.name - Nom 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
|
|
1268
|
-
* @param {Array<string>} data.tags - data.tags
|
|
1269
|
-
* @param {string} data.email - Email de l’organisation
|
|
1270
|
-
* @param {string} data.shortDescription - Description courte
|
|
1271
|
-
* @param {string} data.url - Site web
|
|
1272
|
-
* @param {object} data.preferences - data.preferences (default: {"isOpenData":true,"isOpenEdition":true})
|
|
1273
|
-
* @param {boolean} data.preferences.isOpenData - Open data (true/false) (default: true)
|
|
1274
|
-
* @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: true)
|
|
1275
|
-
* @param {object} data.geo - Coordonnées géographiques
|
|
1276
|
-
* @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
|
|
1277
|
-
* @param {string | number} data.geo.latitude - data.geo.latitude
|
|
1278
|
-
* @param {string | number} data.geo.longitude - data.geo.longitude
|
|
1279
|
-
* @param {object} data.geoPosition - Position géographique GeoJSON
|
|
1280
|
-
* @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
|
|
1281
|
-
* @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
|
|
1282
|
-
* @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
|
|
1283
|
-
* @param {object} data.address - data.address
|
|
1284
|
-
* @param {"PostalAddress"} data.address.@type - data.address.@type
|
|
1285
|
-
* @param {string} data.address.addressCountry - data.address.addressCountry
|
|
1286
|
-
* @param {string} data.address.codeInsee - data.address.codeInsee
|
|
1287
|
-
* @param {string} data.address.addressLocality - data.address.addressLocality
|
|
1288
|
-
* @param {string} data.address.localityId - data.address.localityId
|
|
1289
|
-
* @param {string} data.address.level1 - data.address.level1
|
|
1290
|
-
* @param {string} data.address.level1Name - data.address.level1Name
|
|
1291
|
-
* @param {string} data.address.level3 - ID du département. Peut être vide pour les pays étrangers.
|
|
1292
|
-
* @param {string} data.address.level3Name - Nom du département. Peut être vide pour les pays étrangers.
|
|
1293
|
-
* @param {string} data.address.level4 - ID de la commune. Peut être vide pour les pays étrangers.
|
|
1294
|
-
* @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
|
|
1295
|
-
* @param {string} data.address.postalCode - data.address.postalCode
|
|
1296
|
-
* @param {string} data.address.streetAddress - data.address.streetAddress
|
|
1297
|
-
* @param {""} data.scope - data.scope (default: "")
|
|
952
|
+
* @param {import("./EndpointApi.types").AddOrganizationData} data - Données envoyées à l'API
|
|
1298
953
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1299
954
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1300
955
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1301
956
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1302
957
|
*/
|
|
1303
|
-
async addOrganization(data
|
|
958
|
+
async addOrganization(data) {
|
|
959
|
+
if (!data || typeof data !== "object") {
|
|
960
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
961
|
+
}
|
|
1304
962
|
return this.callIsConnected("ADD_ORGANIZATION", data);
|
|
1305
963
|
}
|
|
1306
|
-
|
|
964
|
+
|
|
1307
965
|
/**
|
|
1308
966
|
* Créer un projet : Crée un nouveau projet avec des informations de base et des options supplémentaires.
|
|
1309
967
|
* Constant : ADD_PROJECT
|
|
1310
|
-
* @param {
|
|
1311
|
-
* @param {string} data.id - ID
|
|
1312
|
-
* @param {"projects"} data.collection - Collection (default: "projects")
|
|
1313
|
-
* @param {"project"} data.key - data.key (default: "project")
|
|
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"}})
|
|
1315
|
-
* @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
|
|
1316
|
-
* @param {string} data.name - Nom du projet
|
|
1317
|
-
* @param {boolean} data.public - Visibilité (true/false) (default: true)
|
|
1318
|
-
* @param {Array<string>} data.tags - data.tags
|
|
1319
|
-
* @param {string} data.shortDescription - Description courte
|
|
1320
|
-
* @param {string} data.url - Site web
|
|
1321
|
-
* @param {object} data.preferences - data.preferences (default: {"isOpenData":false,"isOpenEdition":false,"crowdfunding":true})
|
|
1322
|
-
* @param {boolean} data.preferences.isOpenData - Open data (true/false) (default: false)
|
|
1323
|
-
* @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: false)
|
|
1324
|
-
* @param {boolean} data.preferences.crowdfunding - Crowdfunding (true/false) (default: true)
|
|
1325
|
-
* @param {object} data.geo - Coordonnées géographiques
|
|
1326
|
-
* @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
|
|
1327
|
-
* @param {string | number} data.geo.latitude - data.geo.latitude
|
|
1328
|
-
* @param {string | number} data.geo.longitude - data.geo.longitude
|
|
1329
|
-
* @param {object} data.geoPosition - Position géographique GeoJSON
|
|
1330
|
-
* @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
|
|
1331
|
-
* @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
|
|
1332
|
-
* @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
|
|
1333
|
-
* @param {object} data.address - data.address
|
|
1334
|
-
* @param {"PostalAddress"} data.address.@type - data.address.@type
|
|
1335
|
-
* @param {string} data.address.addressCountry - data.address.addressCountry
|
|
1336
|
-
* @param {string} data.address.codeInsee - data.address.codeInsee
|
|
1337
|
-
* @param {string} data.address.addressLocality - data.address.addressLocality
|
|
1338
|
-
* @param {string} data.address.localityId - data.address.localityId
|
|
1339
|
-
* @param {string} data.address.level1 - data.address.level1
|
|
1340
|
-
* @param {string} data.address.level1Name - data.address.level1Name
|
|
1341
|
-
* @param {string} data.address.level3 - ID du département. Peut être vide pour les pays étrangers.
|
|
1342
|
-
* @param {string} data.address.level3Name - Nom du département. Peut être vide pour les pays étrangers.
|
|
1343
|
-
* @param {string} data.address.level4 - ID de la commune. Peut être vide pour les pays étrangers.
|
|
1344
|
-
* @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
|
|
1345
|
-
* @param {string} data.address.postalCode - data.address.postalCode
|
|
1346
|
-
* @param {string} data.address.streetAddress - data.address.streetAddress
|
|
1347
|
-
* @param {""} data.scope - data.scope (default: "")
|
|
968
|
+
* @param {import("./EndpointApi.types").AddProjectData} data - Données envoyées à l'API
|
|
1348
969
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1349
970
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1350
971
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1351
972
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1352
973
|
*/
|
|
1353
|
-
async addProject(data
|
|
974
|
+
async addProject(data) {
|
|
975
|
+
if (!data || typeof data !== "object") {
|
|
976
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
977
|
+
}
|
|
1354
978
|
return this.callIsConnected("ADD_PROJECT", data);
|
|
1355
979
|
}
|
|
1356
|
-
|
|
980
|
+
|
|
1357
981
|
/**
|
|
1358
982
|
* Créer un POI : Crée un nouveau POI (Point d'Intérêt).
|
|
1359
983
|
* Constant : ADD_POI
|
|
1360
|
-
* @param {
|
|
1361
|
-
* @param {string} data.id - ID du 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
|
|
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"}})
|
|
1366
|
-
* @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
|
|
1367
|
-
* @param {string} data.name - Nom du poi
|
|
1368
|
-
* @param {string} data.description - Description
|
|
1369
|
-
* @param {Array<string>} data.tags - data.tags
|
|
1370
|
-
* @param {Array<string>} data.urls - URLs externes associées
|
|
1371
|
-
* @param {object} data.geo - Coordonnées géographiques
|
|
1372
|
-
* @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
|
|
1373
|
-
* @param {string | number} data.geo.latitude - data.geo.latitude
|
|
1374
|
-
* @param {string | number} data.geo.longitude - data.geo.longitude
|
|
1375
|
-
* @param {object} data.geoPosition - Position géographique GeoJSON
|
|
1376
|
-
* @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
|
|
1377
|
-
* @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
|
|
1378
|
-
* @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
|
|
1379
|
-
* @param {object} data.address - data.address
|
|
1380
|
-
* @param {"PostalAddress"} data.address.@type - data.address.@type
|
|
1381
|
-
* @param {string} data.address.addressCountry - data.address.addressCountry
|
|
1382
|
-
* @param {string} data.address.codeInsee - data.address.codeInsee
|
|
1383
|
-
* @param {string} data.address.addressLocality - data.address.addressLocality
|
|
1384
|
-
* @param {string} data.address.localityId - data.address.localityId
|
|
1385
|
-
* @param {string} data.address.level1 - data.address.level1
|
|
1386
|
-
* @param {string} data.address.level1Name - data.address.level1Name
|
|
1387
|
-
* @param {string} data.address.level3 - ID du département. Peut être vide pour les pays étrangers.
|
|
1388
|
-
* @param {string} data.address.level3Name - Nom du département. Peut être vide pour les pays étrangers.
|
|
1389
|
-
* @param {string} data.address.level4 - ID de la commune. Peut être vide pour les pays étrangers.
|
|
1390
|
-
* @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
|
|
1391
|
-
* @param {string} data.address.postalCode - data.address.postalCode
|
|
1392
|
-
* @param {string} data.address.streetAddress - data.address.streetAddress
|
|
1393
|
-
* @param {""} data.scope - data.scope (default: "")
|
|
984
|
+
* @param {import("./EndpointApi.types").AddPoiData} data - Données envoyées à l'API
|
|
1394
985
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1395
986
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1396
987
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1397
988
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1398
989
|
*/
|
|
1399
|
-
async addPoi(data
|
|
990
|
+
async addPoi(data) {
|
|
991
|
+
if (!data || typeof data !== "object") {
|
|
992
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
993
|
+
}
|
|
1400
994
|
return this.callIsConnected("ADD_POI", data);
|
|
1401
995
|
}
|
|
1402
|
-
|
|
996
|
+
|
|
1403
997
|
/**
|
|
1404
998
|
* Créer un événement : Crée un nouvel événement.
|
|
1405
999
|
* Constant : ADD_EVENT
|
|
1406
|
-
* @param {
|
|
1407
|
-
* @param {string} data.id - ID de l’é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
|
|
1411
|
-
* @param {boolean} data.public - Visibilité (true/false) (default: true)
|
|
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"}})
|
|
1413
|
-
* @param {Object.<string, { type: string, name?: string } | any>} data.organizer - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
|
|
1414
|
-
* @param {object} data.parent - Objet contenant les entités parentes (clé = ID). null signifie que les parents ne sont pas modifiés.
|
|
1415
|
-
* @param {Object.<string, { type: string, name?: string } | any>} data.parent - Clés matching "^(?:[a-f0-9]{24}|@userId)$"
|
|
1416
|
-
* @param {string} data.name - Nom du poi
|
|
1417
|
-
* @param {string} data.shortDescription - Description courte
|
|
1418
|
-
* @param {Array<string>} data.tags - data.tags
|
|
1419
|
-
* @param {string} data.url - Site web
|
|
1420
|
-
* @param {string} data.email - Email de l’organisation
|
|
1421
|
-
* @param {object} data.preferences - data.preferences (default: {"isOpenData":false,"isOpenEdition":false})
|
|
1422
|
-
* @param {boolean} data.preferences.isOpenData - Open data (true/false) (default: false)
|
|
1423
|
-
* @param {boolean} data.preferences.isOpenEdition - Édition ouverte (true/false) (default: false)
|
|
1424
|
-
* @param {string} data.timeZone - Fuseau horaire IANA
|
|
1425
|
-
* @param {boolean} data.recurrency - Indique si l'événement est récurrent (true/false) (default: false)
|
|
1426
|
-
* @param {string} data.startDate - Date et heure de début (ISO 8601 avec offset)
|
|
1427
|
-
* @param {string} data.endDate - Date et heure de fin (ISO 8601 avec offset)
|
|
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: ["","","","","","",""])
|
|
1429
|
-
* @param {object} data.geo - Coordonnées géographiques
|
|
1430
|
-
* @param {"GeoCoordinates"} data.geo.@type - data.geo.@type
|
|
1431
|
-
* @param {string | number} data.geo.latitude - data.geo.latitude
|
|
1432
|
-
* @param {string | number} data.geo.longitude - data.geo.longitude
|
|
1433
|
-
* @param {object} data.geoPosition - Position géographique GeoJSON
|
|
1434
|
-
* @param {"Point"} data.geoPosition.type - Type GeoJSON (doit être 'Point')
|
|
1435
|
-
* @param {Array<number>} data.geoPosition.coordinates - Tableau contenant [longitude, latitude]
|
|
1436
|
-
* @param {true} data.geoPosition.float - Indicateur pour forcer la conversion en float côté serveur (default: true)
|
|
1437
|
-
* @param {object} data.address - data.address
|
|
1438
|
-
* @param {"PostalAddress"} data.address.@type - data.address.@type
|
|
1439
|
-
* @param {string} data.address.addressCountry - data.address.addressCountry
|
|
1440
|
-
* @param {string} data.address.codeInsee - data.address.codeInsee
|
|
1441
|
-
* @param {string} data.address.addressLocality - data.address.addressLocality
|
|
1442
|
-
* @param {string} data.address.localityId - data.address.localityId
|
|
1443
|
-
* @param {string} data.address.level1 - data.address.level1
|
|
1444
|
-
* @param {string} data.address.level1Name - data.address.level1Name
|
|
1445
|
-
* @param {string} data.address.level3 - ID du département. Peut être vide pour les pays étrangers.
|
|
1446
|
-
* @param {string} data.address.level3Name - Nom du département. Peut être vide pour les pays étrangers.
|
|
1447
|
-
* @param {string} data.address.level4 - ID de la commune. Peut être vide pour les pays étrangers.
|
|
1448
|
-
* @param {string} data.address.level4Name - Nom de la commune. Peut être vide pour les pays étrangers.
|
|
1449
|
-
* @param {string} data.address.postalCode - data.address.postalCode
|
|
1450
|
-
* @param {string} data.address.streetAddress - data.address.streetAddress
|
|
1451
|
-
* @param {""} data.scope - data.scope (default: "")
|
|
1000
|
+
* @param {import("./EndpointApi.types").AddEventData} data - Données envoyées à l'API
|
|
1452
1001
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1453
1002
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1454
1003
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1455
1004
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1456
1005
|
*/
|
|
1457
|
-
async addEvent(data
|
|
1006
|
+
async addEvent(data) {
|
|
1007
|
+
if (!data || typeof data !== "object") {
|
|
1008
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1009
|
+
}
|
|
1458
1010
|
return this.callIsConnected("ADD_EVENT", data);
|
|
1459
1011
|
}
|
|
1460
|
-
|
|
1012
|
+
|
|
1461
1013
|
/**
|
|
1462
1014
|
* Supprimer un POI : Supprime un POI existant.
|
|
1463
1015
|
* Constant : DELETE_POI
|
|
1464
|
-
* @param {
|
|
1465
|
-
* @param {string} data.reason - Raison de la suppression (default: "")
|
|
1466
|
-
* @param {object} data.pathParams - data.pathParams
|
|
1467
|
-
* @param {string} data.pathParams.id - ID de l'élément à supprimer
|
|
1016
|
+
* @param {import("./EndpointApi.types").DeletePoiData} data - Données envoyées à l'API
|
|
1468
1017
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1469
1018
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1470
1019
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1471
1020
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1472
1021
|
*/
|
|
1473
|
-
async deletePoi(data
|
|
1022
|
+
async deletePoi(data) {
|
|
1023
|
+
if (!data || typeof data !== "object") {
|
|
1024
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1025
|
+
}
|
|
1474
1026
|
return this.callIsConnected("DELETE_POI", data);
|
|
1475
1027
|
}
|
|
1476
|
-
|
|
1028
|
+
|
|
1477
1029
|
/**
|
|
1478
1030
|
* Supprimer un événement : Supprime un événement spécifique.
|
|
1479
1031
|
* Constant : DELETE_EVENT
|
|
1480
|
-
* @param {
|
|
1481
|
-
* @param {string} data.reason - Raison de la suppression (default: "")
|
|
1482
|
-
* @param {object} data.pathParams - data.pathParams
|
|
1483
|
-
* @param {string} data.pathParams.id - ID de l'élément à supprimer
|
|
1032
|
+
* @param {import("./EndpointApi.types").DeleteEventData} data - Données envoyées à l'API
|
|
1484
1033
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1485
1034
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1486
1035
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1487
1036
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1488
1037
|
*/
|
|
1489
|
-
async deleteEvent(data
|
|
1038
|
+
async deleteEvent(data) {
|
|
1039
|
+
if (!data || typeof data !== "object") {
|
|
1040
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1041
|
+
}
|
|
1490
1042
|
return this.callIsConnected("DELETE_EVENT", data);
|
|
1491
1043
|
}
|
|
1492
|
-
|
|
1044
|
+
|
|
1493
1045
|
/**
|
|
1494
1046
|
* Supprimer un élément : Supprime un élément existant.
|
|
1495
1047
|
* Constant : DELETE_ELEMENT
|
|
1496
|
-
* @param {
|
|
1497
|
-
* @param {string} data.reason - Raison de la suppression (default: "")
|
|
1498
|
-
* @param {object} data.pathParams - data.pathParams
|
|
1499
|
-
* @param {string} data.pathParams.type - Type d'élément à supprimer
|
|
1500
|
-
* @param {string} data.pathParams.id - ID de l'élément à supprimer
|
|
1048
|
+
* @param {import("./EndpointApi.types").DeleteElementData} data - Données envoyées à l'API
|
|
1501
1049
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1502
1050
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1503
1051
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1504
1052
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1505
1053
|
*/
|
|
1506
|
-
async deleteElement(data
|
|
1054
|
+
async deleteElement(data) {
|
|
1055
|
+
if (!data || typeof data !== "object") {
|
|
1056
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1057
|
+
}
|
|
1507
1058
|
return this.callIsConnected("DELETE_ELEMENT", data);
|
|
1508
1059
|
}
|
|
1509
|
-
|
|
1060
|
+
|
|
1510
1061
|
/**
|
|
1511
1062
|
* Ajouter une image à un élément : Ajoute une image à un élément.
|
|
1512
1063
|
* Constant : ADD_IMAGE_ELEMENT
|
|
1513
|
-
* @param {
|
|
1514
|
-
* @param {string} data.qquuid - ID unique du fichier
|
|
1515
|
-
* @param {string} data.qqfilename - Nom du fichier
|
|
1516
|
-
* @param {number} data.qqtotalfilesize - Taille totale du fichier
|
|
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
|
|
1520
|
-
* @param {string} data.pathParams.ownerId - ID du propriétaire de l'image
|
|
1064
|
+
* @param {import("./EndpointApi.types").AddImageElementData} data - Données envoyées à l'API
|
|
1521
1065
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1522
1066
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1523
1067
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1524
1068
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1525
1069
|
*/
|
|
1526
|
-
async addImageElement(data
|
|
1070
|
+
async addImageElement(data) {
|
|
1071
|
+
if (!data || typeof data !== "object") {
|
|
1072
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1073
|
+
}
|
|
1527
1074
|
return this.callIsConnected("ADD_IMAGE_ELEMENT", data);
|
|
1528
1075
|
}
|
|
1529
|
-
|
|
1076
|
+
|
|
1530
1077
|
/**
|
|
1531
1078
|
* Valider un lien : Permet de valider un lien (ex: rejoindre un projet, accepter un membre...).
|
|
1532
1079
|
* Constant : LINK_VALIDATE
|
|
1533
|
-
* @param {
|
|
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
|
|
1080
|
+
* @param {import("./EndpointApi.types").LinkValidateData} data - Données envoyées à l'API
|
|
1539
1081
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1540
1082
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1541
1083
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1542
1084
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1543
1085
|
*/
|
|
1544
|
-
async linkValidate(data
|
|
1086
|
+
async linkValidate(data) {
|
|
1087
|
+
if (!data || typeof data !== "object") {
|
|
1088
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1089
|
+
}
|
|
1545
1090
|
return this.callIsConnected("LINK_VALIDATE", data);
|
|
1546
1091
|
}
|
|
1547
|
-
|
|
1092
|
+
|
|
1548
1093
|
/**
|
|
1549
1094
|
* Recherche avec autocomplétion (membres) : Recherche des membres avec autocomplétion.
|
|
1550
1095
|
* Constant : SEARCH_MEMBER_AUTOCOMPLETE
|
|
1551
|
-
* @param {
|
|
1552
|
-
* @param {string} data.search - Terme recherché
|
|
1553
|
-
* @param {"personOnly" | "organizationOnly" | "mixte"} data.searchMode - Mode de recherche (default: "personOnly")
|
|
1096
|
+
* @param {import("./EndpointApi.types").SearchMemberAutocompleteData} data - Données envoyées à l'API
|
|
1554
1097
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1555
1098
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1556
1099
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1557
1100
|
*/
|
|
1558
|
-
async searchMemberAutocomplete(data
|
|
1101
|
+
async searchMemberAutocomplete(data) {
|
|
1102
|
+
if (!data || typeof data !== "object") {
|
|
1103
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1104
|
+
}
|
|
1559
1105
|
return this.call("SEARCH_MEMBER_AUTOCOMPLETE", data);
|
|
1560
1106
|
}
|
|
1561
|
-
|
|
1107
|
+
|
|
1562
1108
|
/**
|
|
1563
1109
|
* Récupérer les notifications : Récupère la liste des notifications pour un utilisateur.
|
|
1564
1110
|
* Constant : GET_NOTIFICATIONS
|
|
1565
|
-
* @param {
|
|
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")
|
|
1111
|
+
* @param {import("./EndpointApi.types").GetNotificationsData} data - Données envoyées à l'API
|
|
1570
1112
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1571
1113
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1572
1114
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1573
1115
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1574
1116
|
*/
|
|
1575
|
-
async getNotifications(data
|
|
1117
|
+
async getNotifications(data) {
|
|
1118
|
+
if (!data || typeof data !== "object") {
|
|
1119
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1120
|
+
}
|
|
1576
1121
|
return this.callIsConnected("GET_NOTIFICATIONS", data);
|
|
1577
1122
|
}
|
|
1578
|
-
|
|
1123
|
+
|
|
1579
1124
|
/**
|
|
1580
1125
|
* Récupérer le nombre de notifications : Récupère le nombre de notifications pour un utilisateur.
|
|
1581
1126
|
* Constant : GET_NOTIFICATIONS_COUNT
|
|
1582
|
-
* @param {
|
|
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")
|
|
1127
|
+
* @param {import("./EndpointApi.types").GetNotificationsCountData} data - Données envoyées à l'API
|
|
1587
1128
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1588
1129
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1589
1130
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1590
1131
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1591
1132
|
*/
|
|
1592
|
-
async getNotificationsCount(data
|
|
1133
|
+
async getNotificationsCount(data) {
|
|
1134
|
+
if (!data || typeof data !== "object") {
|
|
1135
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1136
|
+
}
|
|
1593
1137
|
return this.callIsConnected("GET_NOTIFICATIONS_COUNT", data);
|
|
1594
1138
|
}
|
|
1595
|
-
|
|
1139
|
+
|
|
1596
1140
|
/**
|
|
1597
1141
|
* Mettre à jour toutes les notifications : Marque toutes les notifications comme vues ou lues.
|
|
1598
1142
|
* Constant : NOTIFICATION_UPDATE
|
|
1599
|
-
* @param {
|
|
1600
|
-
* @param {"seen" | "read"} data.action - Action à effectuer
|
|
1601
|
-
* @param {true} data.all - Marquer toutes les notifications comme vues ou lues (default: true)
|
|
1143
|
+
* @param {import("./EndpointApi.types").NotificationUpdateData} data - Données envoyées à l'API
|
|
1602
1144
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1603
1145
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1604
1146
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1605
1147
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1606
1148
|
*/
|
|
1607
|
-
async notificationUpdate(data
|
|
1149
|
+
async notificationUpdate(data) {
|
|
1150
|
+
if (!data || typeof data !== "object") {
|
|
1151
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1152
|
+
}
|
|
1608
1153
|
return this.callIsConnected("NOTIFICATION_UPDATE", data);
|
|
1609
1154
|
}
|
|
1610
|
-
|
|
1155
|
+
|
|
1611
1156
|
/**
|
|
1612
1157
|
* Supprimer toutes les notifications : Supprime toutes les notifications de l’utilisateur.
|
|
1613
1158
|
* Constant : REMOVE_ALL_NOTIFICATIONS
|
|
@@ -1616,83 +1161,87 @@ class EndpointApi {
|
|
|
1616
1161
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1617
1162
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1618
1163
|
*/
|
|
1619
|
-
async removeAllNotifications(
|
|
1620
|
-
return this.callIsConnected("REMOVE_ALL_NOTIFICATIONS"
|
|
1164
|
+
async removeAllNotifications() {
|
|
1165
|
+
return this.callIsConnected("REMOVE_ALL_NOTIFICATIONS");
|
|
1621
1166
|
}
|
|
1622
|
-
|
|
1167
|
+
|
|
1623
1168
|
/**
|
|
1624
1169
|
* Marquer une notification comme lue : Marque une notification spécifique comme lue.
|
|
1625
1170
|
* Constant : MARK_NOTIFICATION_AS_READ
|
|
1626
|
-
* @param {
|
|
1627
|
-
* @param {string} data.id - ID de la notification
|
|
1171
|
+
* @param {import("./EndpointApi.types").MarkNotificationAsReadData} data - Données envoyées à l'API
|
|
1628
1172
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1629
1173
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1630
1174
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1631
1175
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1632
1176
|
*/
|
|
1633
|
-
async markNotificationAsRead(data
|
|
1177
|
+
async markNotificationAsRead(data) {
|
|
1178
|
+
if (!data || typeof data !== "object") {
|
|
1179
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1180
|
+
}
|
|
1634
1181
|
return this.callIsConnected("MARK_NOTIFICATION_AS_READ", data);
|
|
1635
1182
|
}
|
|
1636
|
-
|
|
1183
|
+
|
|
1637
1184
|
/**
|
|
1638
1185
|
* Recherche ActivityPub : Recherche des éléments ActivityPub selon une adresse ou un terme.
|
|
1639
1186
|
* Constant : ACTIVITYPUB_SEARCH
|
|
1640
|
-
* @param {
|
|
1641
|
-
* @param {string} data.pathParams.address - Adresse à rechercher
|
|
1187
|
+
* @param {import("./EndpointApi.types").ActivitypubSearchData} data - Données envoyées à l'API
|
|
1642
1188
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1643
1189
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1644
1190
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1645
1191
|
*/
|
|
1646
|
-
async activitypubSearch(data
|
|
1192
|
+
async activitypubSearch(data) {
|
|
1193
|
+
if (!data || typeof data !== "object") {
|
|
1194
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1195
|
+
}
|
|
1647
1196
|
return this.call("ACTIVITYPUB_SEARCH", data);
|
|
1648
1197
|
}
|
|
1649
|
-
|
|
1198
|
+
|
|
1650
1199
|
/**
|
|
1651
1200
|
* Mettre à jour une activité (ActivityPub) : Met à jour une activité ActivityPub avec une action et un payload.
|
|
1652
1201
|
* Constant : ACTIVITYPUB_LINK
|
|
1653
|
-
* @param {
|
|
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
|
|
1202
|
+
* @param {import("./EndpointApi.types").ActivitypubLinkData} data - Données envoyées à l'API
|
|
1660
1203
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1661
1204
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1662
1205
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1663
1206
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1664
1207
|
*/
|
|
1665
|
-
async activitypubLink(data
|
|
1208
|
+
async activitypubLink(data) {
|
|
1209
|
+
if (!data || typeof data !== "object") {
|
|
1210
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1211
|
+
}
|
|
1666
1212
|
return this.callIsConnected("ACTIVITYPUB_LINK", data);
|
|
1667
1213
|
}
|
|
1668
|
-
|
|
1214
|
+
|
|
1669
1215
|
/**
|
|
1670
1216
|
* Obtenir la liste ActivityPub : Obtient la liste des communautés ActivityPub pour un utilisateur.
|
|
1671
1217
|
* Constant : ACTIVITYPUB_GET_COMMUNITY
|
|
1672
|
-
* @param {
|
|
1673
|
-
* @param {string} data.pathParams.userId - ID de l'utilisateur
|
|
1674
|
-
* @param {"follows" | "followers"} data.pathParams.type - Type de communauté
|
|
1218
|
+
* @param {import("./EndpointApi.types").ActivitypubGetCommunityData} data - Données envoyées à l'API
|
|
1675
1219
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1676
1220
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1677
1221
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1678
1222
|
*/
|
|
1679
|
-
async activitypubGetCommunity(data
|
|
1223
|
+
async activitypubGetCommunity(data) {
|
|
1224
|
+
if (!data || typeof data !== "object") {
|
|
1225
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1226
|
+
}
|
|
1680
1227
|
return this.call("ACTIVITYPUB_GET_COMMUNITY", data);
|
|
1681
1228
|
}
|
|
1682
|
-
|
|
1229
|
+
|
|
1683
1230
|
/**
|
|
1684
1231
|
* Récupérer les informations d'un badge : Récupère les détails d’un badge par son ID.
|
|
1685
1232
|
* Constant : GET_BADGE
|
|
1686
|
-
* @param {
|
|
1687
|
-
* @param {string} data.pathParams.id - ID du badge
|
|
1233
|
+
* @param {import("./EndpointApi.types").GetBadgeData} data - Données envoyées à l'API
|
|
1688
1234
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1689
1235
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1690
1236
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1691
1237
|
*/
|
|
1692
|
-
async getBadge(data
|
|
1238
|
+
async getBadge(data) {
|
|
1239
|
+
if (!data || typeof data !== "object") {
|
|
1240
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1241
|
+
}
|
|
1693
1242
|
return this.call("GET_BADGE", data);
|
|
1694
1243
|
}
|
|
1695
|
-
|
|
1244
|
+
|
|
1696
1245
|
/**
|
|
1697
1246
|
* Obtenir la liste des émetteurs de badges : Récupère la liste des émetteurs pour les badges.
|
|
1698
1247
|
* Constant : GET_EMETTEUR_BADGES
|
|
@@ -1700,130 +1249,89 @@ class EndpointApi {
|
|
|
1700
1249
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1701
1250
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1702
1251
|
*/
|
|
1703
|
-
async getEmetteurBadges(
|
|
1704
|
-
return this.call("GET_EMETTEUR_BADGES"
|
|
1252
|
+
async getEmetteurBadges() {
|
|
1253
|
+
return this.call("GET_EMETTEUR_BADGES");
|
|
1705
1254
|
}
|
|
1706
|
-
|
|
1255
|
+
|
|
1707
1256
|
/**
|
|
1708
1257
|
* Créer un badge : Crée un nouveau badge avec des informations détaillées.
|
|
1709
1258
|
* Constant : ADD_BADGES
|
|
1710
|
-
* @param {
|
|
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)$"
|
|
1259
|
+
* @param {import("./EndpointApi.types").AddBadgesData} data - Données envoyées à l'API
|
|
1729
1260
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1730
1261
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1731
1262
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1732
1263
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1733
1264
|
*/
|
|
1734
|
-
async addBadges(data
|
|
1265
|
+
async addBadges(data) {
|
|
1266
|
+
if (!data || typeof data !== "object") {
|
|
1267
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1268
|
+
}
|
|
1735
1269
|
return this.callIsConnected("ADD_BADGES", data);
|
|
1736
1270
|
}
|
|
1737
|
-
|
|
1271
|
+
|
|
1738
1272
|
/**
|
|
1739
1273
|
* Attribuer un badge : Attribue un badge à une ou plusieurs personnes ou entités.
|
|
1740
1274
|
* Constant : ASSIGN_BADGES
|
|
1741
|
-
* @param {
|
|
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: "")
|
|
1275
|
+
* @param {import("./EndpointApi.types").AssignBadgesData} data - Données envoyées à l'API
|
|
1750
1276
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1751
1277
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1752
1278
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1753
1279
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1754
1280
|
*/
|
|
1755
|
-
async assignBadges(data
|
|
1281
|
+
async assignBadges(data) {
|
|
1282
|
+
if (!data || typeof data !== "object") {
|
|
1283
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1284
|
+
}
|
|
1756
1285
|
return this.callIsConnected("ASSIGN_BADGES", data);
|
|
1757
1286
|
}
|
|
1758
|
-
|
|
1287
|
+
|
|
1759
1288
|
/**
|
|
1760
1289
|
* Obtenir la liste des événements : Permet de rechercher des événements selon plusieurs critères (dates, nom, type...).
|
|
1761
1290
|
* Constant : GET_EVENTS
|
|
1762
|
-
* @param {
|
|
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)
|
|
1291
|
+
* @param {import("./EndpointApi.types").GetEventsData} data - Données envoyées à l'API
|
|
1776
1292
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1777
1293
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1778
1294
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1779
1295
|
*/
|
|
1780
|
-
async getEvents(data
|
|
1296
|
+
async getEvents(data) {
|
|
1297
|
+
if (!data || typeof data !== "object") {
|
|
1298
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1299
|
+
}
|
|
1781
1300
|
return this.call("GET_EVENTS", data);
|
|
1782
1301
|
}
|
|
1783
|
-
|
|
1302
|
+
|
|
1784
1303
|
/**
|
|
1785
1304
|
* Partager un événement : Partage un événement avec d’autres utilisateurs ou entités.
|
|
1786
1305
|
* Constant : SHARE_EVENTS
|
|
1787
|
-
* @param {
|
|
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
|
|
1306
|
+
* @param {import("./EndpointApi.types").ShareEventsData} data - Données envoyées à l'API
|
|
1794
1307
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1795
1308
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1796
1309
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1797
1310
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1798
1311
|
*/
|
|
1799
|
-
async shareEvents(data
|
|
1312
|
+
async shareEvents(data) {
|
|
1313
|
+
if (!data || typeof data !== "object") {
|
|
1314
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1315
|
+
}
|
|
1800
1316
|
return this.callIsConnected("SHARE_EVENTS", data);
|
|
1801
1317
|
}
|
|
1802
|
-
|
|
1318
|
+
|
|
1803
1319
|
/**
|
|
1804
1320
|
* Inviter des participants à un événement : Invite plusieurs utilisateurs ou entités à participer à un événement.
|
|
1805
1321
|
* Constant : INVITE_EVENT
|
|
1806
|
-
* @param {
|
|
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}$"
|
|
1322
|
+
* @param {import("./EndpointApi.types").InviteEventData} data - Données envoyées à l'API
|
|
1818
1323
|
* @returns {Promise<Object>} - Les données de réponse.
|
|
1819
1324
|
* @throws {ApiResponseError} - En cas d'erreur détectée dans la réponse.
|
|
1820
1325
|
* @throws {ApiAuthenticationError} - En cas d'erreur d'authentification.
|
|
1821
1326
|
* @throws {Error} - En cas d'erreur inattendue.
|
|
1822
1327
|
*/
|
|
1823
|
-
async inviteEvent(data
|
|
1328
|
+
async inviteEvent(data) {
|
|
1329
|
+
if (!data || typeof data !== "object") {
|
|
1330
|
+
throw new TypeError("Le paramètre data doit être un objet.");
|
|
1331
|
+
}
|
|
1824
1332
|
return this.callIsConnected("INVITE_EVENT", data);
|
|
1825
1333
|
}
|
|
1826
|
-
|
|
1334
|
+
|
|
1827
1335
|
}
|
|
1828
1336
|
|
|
1829
1337
|
export default EndpointApi;
|