@beam3_dev/api_module 0.0.2 → 0.0.4

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.
Files changed (32) hide show
  1. package/dist/wb3Api.js +2000 -0
  2. package/dist/wb3Api.umd.cjs +78 -0
  3. package/package.json +8 -5
  4. package/index.html +0 -13
  5. package/src/index.js +0 -164
  6. package/src/lib/add/index.js +0 -12
  7. package/src/lib/api/index.js +0 -9
  8. package/src/lib/gouv/colors.js +0 -31
  9. package/src/lib/gouv/gouv_api.js +0 -139
  10. package/src/lib/plateform/Compass/index.js +0 -51
  11. package/src/lib/plateform/Swym/3dswym_api.js +0 -141
  12. package/src/lib/plateform/Swym/communaute/index.js +0 -443
  13. package/src/lib/plateform/Swym/idea/index.js +0 -333
  14. package/src/lib/plateform/Swym/media/index.js +0 -0
  15. package/src/lib/plateform/Swym/post/index.js +0 -0
  16. package/src/lib/plateform/Swym/question/index.js +0 -0
  17. package/src/lib/plateform/Swym/user/index.js +0 -87
  18. package/src/lib/plateform/Swym/wiki/index.js +0 -0
  19. package/src/lib/plateform/Tag/index.js +0 -384
  20. package/src/lib/plateform/Usersgroup/index.js +0 -449
  21. package/src/lib/plateform/main/3dcompass_api.js +0 -78
  22. package/src/lib/plateform/main/3dexperience_api.js +0 -143
  23. package/src/lib/plateform/main/3dspace_api.js +0 -1310
  24. package/src/lib/plateform/main/getActiveServices.js +0 -92
  25. package/src/lib/plateform/main/getCSRFToken.js +0 -30
  26. package/src/lib/plateform/main/getCTX.js +0 -46
  27. package/src/lib/plateform/main/getDataFrom3DSpace.js +0 -47
  28. package/src/lib/plateform/main/getDownloadDocument.js +0 -40
  29. package/src/lib/plateform/main/loadDatas.js +0 -189
  30. package/src/lib/plateform/main/pushDataIn3DSpace.js +0 -61
  31. package/src/lib/utils/updateEvent.js +0 -27
  32. package/vite.config.js +0 -23
@@ -1,141 +0,0 @@
1
- import { _httpCallAuthenticated } from "../main/3dexperience_api";
2
-
3
- /**
4
- * @description La fonction `_3DSwym_get_version` récupère les informations de version de la plateforme 3DSwym et effectue des actions supplémentaires si nécessaire. Obligatoire pour chaque appel d'API du Swym.
5
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
6
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
7
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
8
- * @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque les
9
- * informations de version seront récupérées avec succès. Il prend un argument, `tokenInfo`, qui est la
10
- * réponse contenant les informations de version. Le token est aussi envoyé dans une nouvelle propriété `credentials.token`
11
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
12
- * erreur lors de la requête HTTP. Il est facultatif et peut être indéfini.
13
- */
14
- export function _3DSwym_get_version(
15
- credentials,
16
- onDone = undefined,
17
- onError = undefined,
18
- ) {
19
- const url = credentials.space + "/api/index/tk";
20
-
21
- _httpCallAuthenticated(url, {
22
- onComplete(response, headers, xhr) {
23
- const tokenInfo = JSON.parse(response);
24
-
25
- if (onDone) {
26
- credentials["token"] = tokenInfo?.result?.ServerToken;
27
- onDone(tokenInfo);
28
- }
29
- },
30
-
31
- onFailure(response) {
32
- if (onError) onError(response);
33
- },
34
- });
35
- }
36
-
37
- /**
38
- * La fonction `_3DSwym_getAllNews` récupère toutes les actualités d'une plateforme 3DExperience en
39
- * utilisant les informations d'identification fournies.
40
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
41
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
42
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
43
- * @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
44
- * requête sera terminée avec succès. Il prend deux arguments : « réponse » et « en-têtes ». L'argument
45
- * `response` contient les données de réponse du serveur et l'argument `headers` contient les en-têtes
46
- * de réponse.
47
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
48
- * erreur lors de l'exécution de la fonction `_3DSwym_getAllNews`. Il prend deux paramètres : « réponse
49
- * » et « en-têtes ». Le paramètre `response` contient les données de réponse à l'erreur et le
50
- */
51
- export function _3DSwym_getAllNews(
52
- credentials,
53
- onDone = undefined,
54
- onError = undefined,
55
- ) {
56
- // ! Attention beaucoup d'infos à trier et checker
57
- // voir aussi les possibilités des params
58
-
59
- const url = `${credentials.space}/api/exalead/whatsnew`;
60
- const data = {
61
- params: {
62
- community_id: null,
63
- hash_key: null,
64
- legacyFormat: false,
65
- nresults: 1,
66
- query: "#all",
67
- start: 0,
68
- },
69
- };
70
- _3DSwym_get_version(credentials, (token) => {
71
- _httpCallAuthenticated(url, {
72
- method: "POST",
73
- headers: {
74
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
75
- "Content-type": "application/json;charset=UTF-8",
76
- Accept: "application/json",
77
- },
78
- data: JSON.stringify(data),
79
- type: "json",
80
- onComplete(response, headers) {
81
- if (onDone) onDone(response, headers);
82
- },
83
- onFailure(response, headers) {
84
- if (onError) onError(response, headers);
85
- },
86
- });
87
- });
88
- }
89
-
90
- /**
91
- * La fonction `_3DSwym_getFamiliarPeople` récupère une liste de personnes familières en fonction du
92
- * profil de l'utilisateur actuel.
93
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
94
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
95
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
96
- * @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque l'appel
97
- * d'API réussit et que les données sont récupérées. Il faut deux arguments : `myContacts` et
98
- * `response`. `myContacts` est un tableau d'objets contenant le login et le nom complet des personnes
99
- * familières. `réponse
100
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
101
- * erreur lors de l'exécution de la fonction `_3DSwym_getFamiliarPeople`. Il prend deux paramètres : «
102
- * réponse » et « en-têtes ». Le paramètre `response` contient la réponse d'erreur du serveur
103
- */
104
- export function _3DSwym_getFamiliarPeople(
105
- credentials,
106
- onDone = undefined,
107
- onError = undefined,
108
- ) {
109
- const url = `${credentials.space}/api/Recommendation/getpeoplefamiliartocurrentuser`;
110
- const _data = {
111
- params: {
112
- idsToFilterArr: [],
113
- mode: "offline",
114
- limit: 30,
115
- itemType: "User",
116
- maxNbOfCommonElements: "5",
117
- },
118
- };
119
- _3DSwym_get_version(credentials, (token) => {
120
- _httpCallAuthenticated(url, {
121
- method: "POST",
122
- headers: {
123
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
124
- "Content-type": "application/json;charset=UTF-8",
125
- Accept: "application/json",
126
- },
127
- data: JSON.stringify(_data),
128
- type: "json",
129
- onComplete(response, headers) {
130
- const myContacts = response.result.hits.map((contact) => {
131
- return { login: contact.login, fullName: contact.name };
132
- });
133
-
134
- if (onDone) onDone(myContacts, response);
135
- },
136
- onFailure(response, headers) {
137
- if (onError) onError(response, headers);
138
- },
139
- });
140
- });
141
- }
@@ -1,443 +0,0 @@
1
- import { _httpCallAuthenticated } from "../../main/3dexperience_api";
2
- import { _3DSwym_get_version } from "../3dswym_api";
3
-
4
- /**
5
- * @description La fonction `_3dSwim_getAllCommunities` récupère une liste de communautés à partir d'une plateforme
6
- * 3D Swim en utilisant les informations d'identification fournies.
7
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
8
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
9
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
10
- * @param {Number} credentials.limit - Le paramètre `limit` est un nombre entier qui indique le nombre maximum de communautés à recevoir. Par défaut, il est de 10, mais vous pouvez le changer jusqu'à 128, au delà on change de page.
11
- * @param {Number} credentials.page - Le paramètre `page` est un nombre entier qui indique la page courante. Par défaut, il est à 1.
12
- * @param {Function} [onDone] - Une fonction de rappel qui sera appelée une fois l'opération terminée. Il prend la
13
- * liste des communautés comme paramètre.
14
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
15
- * erreur lors de l'exécution de la fonction `_3dSwim_getAllCommunities`. Il vous permet de gérer et de
16
- * répondre à toute erreur qui se produit.
17
- */
18
- export function _3DSwim_getAllCommunities(
19
- credentials,
20
- onDone = undefined,
21
- onError = undefined,
22
- ) {
23
- const URL = {
24
- base: credentials.space,
25
- uri: "/api/community/listmycommunities",
26
- limit: `/limit/${credentials.limit ? credentials.limit : 128}`,
27
- page: `/page/${credentials.page ? credentials.page : "1"}`,
28
- };
29
-
30
- const url = `${URL.base}${URL.uri}${URL.limit}${URL.page}`;
31
- const communautes = [];
32
- _3DSwym_get_version(credentials, (token) => {
33
- _httpCallAuthenticated(url, {
34
- method: "GET",
35
- headers: {
36
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
37
- },
38
- onComplete(response, headers, xhr) {
39
- const info = JSON.parse(response);
40
- const _communitiesInfo = info.result;
41
- let count = 0;
42
-
43
- _communitiesInfo.forEach((commu) => {
44
- const _communaute = {
45
- description: commu.description,
46
- id: commu.id,
47
- title: commu.title,
48
- owner: commu.owner,
49
- role: commu.role,
50
- access: commu.access,
51
- };
52
- _3DSwim_getMembersCommunity(
53
- credentials,
54
- commu.id,
55
- (data) => {
56
- count++;
57
- _communaute["members"] = data;
58
- communautes.push(_communaute);
59
- if (count === _communitiesInfo.length && onDone) {
60
- onDone(communautes);
61
- }
62
- },
63
- (err) => onError(err),
64
- );
65
- });
66
- },
67
- onFailure(response, headers) {
68
- const info = response;
69
- info["status"] = headers.status;
70
- info["response"] = headers.errormsg;
71
- if (onError) onError(info);
72
- },
73
- });
74
- });
75
- }
76
-
77
- /**
78
- * @description La fonction `_3DSwim_getMembersCommunity` récupère une liste des membres d'une communauté en utilisant les informations d'identification et l'ID de communauté fournis.
79
- *
80
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
81
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
82
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
83
- * @param {Number} credentials.limit - Le paramètre `limit` est un nombre entier qui indique le nombre maximum de communautés à recevoir. Par défaut, il est de 50, mais vous pouvez le changer jusqu'à 128, au delà on change de page.
84
- * @param {Number} credentials.page - Le paramètre `page` est un nombre entier qui indique la page courante. Par défaut, il est à 1.
85
- * @param {String} idCommu - L'identifiant de la communauté dont vous souhaitez récupérer les membres. (ex: "YXdA5x4DSUKtlAi2wmnyTA")
86
- * @param {Function} onDone - Une fonction de rappel qui sera appelée lorsque l'appel d'API réussit et renvoie les
87
- * données de réponse. Les données de réponse seront transmises en argument à cette fonction.
88
- * @param {Function} onError - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
89
- * erreur lors de l'exécution de la fonction `_3DSwim_getMembersCommunity`. Il est utilisé pour gérer
90
- * toutes les erreurs qui se produisent et fournir une gestion des erreurs ou des messages d'erreur
91
- * appropriés à l'appelant de la fonction.
92
- */
93
- export function _3DSwim_getMembersCommunity(
94
- credentials,
95
- idCommu,
96
- onDone,
97
- onError,
98
- ) {
99
- const URL = `${credentials.space}/api/community/listmembers`;
100
-
101
- const datas = {
102
- params: {
103
- page: credentials.page ? credentials.page : 1,
104
- limit: credentials.limit ? credentials.limit : 50,
105
- community_id: idCommu,
106
- },
107
- };
108
- _3DSwym_get_version(credentials, (token) => {
109
- _httpCallAuthenticated(URL, {
110
- method: "POST",
111
- headers: {
112
- "Content-type": "application/json;charset=UTF-8",
113
- Accept: "application/json",
114
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
115
- },
116
- data: JSON.stringify(datas),
117
- type: "json",
118
- onComplete(response, headers, xhr) {
119
- const info = response;
120
- if (onDone) onDone(info);
121
- },
122
- onFailure(response, headers) {
123
- const info = response;
124
- info["status"] = headers.status;
125
- info["response"] = headers.errormsg;
126
- if (onError) onError(info);
127
- },
128
- });
129
- });
130
- }
131
-
132
- /**
133
- * @description La fonction `_3DSwym_getIdeaStatusMaturity` récupère le statut et la maturité d'une idée d'une
134
- * communauté 3DExperience à l'aide des informations d'identification fournies.
135
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
136
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
137
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
138
- * @param {String} credentials.commu_id - L'ID de communauté 3DExperience (ex:"YXdA5x4DSUKtlAi2wmnyTA")
139
- * @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
140
- * requête API sera terminée avec succès. Il prend un argument, « info », qui correspond aux données de
141
- * réponse de l'API.
142
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
143
- * erreur lors de l'exécution de la fonction `_3DSwym_getIdeaStatusMaturity`. Il vous permet de gérer
144
- * et de traiter l'erreur de manière personnalisée.
145
- */
146
- export function _3DSwym_getIdeaStatusMaturity(
147
- credentials,
148
- onDone = undefined,
149
- onError = undefined,
150
- ) {
151
- const commuID = "YXdA5x4DSUKtlAi2wmnyTA";
152
- if (!credentials.commu_id) credentials.commu_id = commuID;
153
- const URL = `${credentials.space}/api/v2/communities/${credentials.commu_id}/ideas/statuses`;
154
- _3DSwym_get_version(credentials, (token) => {
155
- _httpCallAuthenticated(URL, {
156
- method: "GET",
157
- headers: {
158
- "Content-type": "application/json;charset=UTF-8",
159
- Accept: "application/json",
160
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
161
- },
162
-
163
- onComplete(response) {
164
- const info = JSON.parse(response);
165
-
166
- if (onDone) onDone(info);
167
- },
168
- onFailure(response, headers) {
169
- const info = response;
170
- info["status"] = headers.status;
171
- info["response"] = headers.errormsg;
172
- if (onError) onError(info);
173
- },
174
- });
175
- });
176
- }
177
-
178
- // TEST
179
- const contentMSG = {
180
- receipt: ["c00005701637"], // Liste des personnes à qui envoyer le message
181
- msg: "TESTS Beam ³ DEV, Happy new year ! ヾ(⌐■_■)ノ♪", // Message à envoyer
182
- };
183
-
184
- // CREATION DE MESSAGES DIRECT OU INSTANTANÉ
185
-
186
- /**
187
- * @description La fonction `_3DSwym_buildDirectMessage` permet d'envoyer un message direct à un ou plusieurs utilisateurs dans un espace plateforme 3DExperience.
188
- *
189
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
190
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
191
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
192
- * @param {Object} [credentials.currentUser] - Le paramètre `currentUser` est un qui contient les informations de l'utilisateur qui envoie le message(appeler depuis la fonction `_3DSwym_get_currentuser`).
193
- * @param {string} [credentials.currentUser.login] - Le paramètre `login` est l'identifiant d'envois du message
194
- * @param {string} [credentials.currentUser.first_name] - Le paramètre `first_name` est l'identifiant d'envois du message
195
- * @param {string} [credentials.currentUser.last_name] - Le paramètre `last_name` est l'identifiant d'envois du message.
196
- *
197
- * @param {Object} [datas] - Le paramètre `datas` est un objet qui contient les données du messages.
198
- * @param {String} [datas.msg] - Le paramètre `msg` est une chaîne de caractères qui contient le message à envoyer.
199
- *
200
- * @param {Array} [datas.receipt] - La liste des utilisateurs à qui envoyer le message (login). La liste des personnes accessible est générer par la fonction _3DSwym_getFamiliarPeople. (ex: ["bem3_yan.coquoz","bem_bob_Dylan"])
201
- *
202
- * @param {Function} [onDone] - Une fonction de rappel qui sera appelée lorsque le message direct sera envoyé avec
203
- * succès. Il prend un argument, qui est un objet contenant des informations sur la réponse du serveur.
204
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
205
- * erreur lors de l'exécution de la fonction `_3DSwym_buildDirectMessage`. Il est facultatif et peut
206
- * être indéfini.
207
- */
208
- export function _3DSwym_buildDirectMessage(
209
- credentials,
210
- datas,
211
- onDone = undefined,
212
- onError = undefined,
213
- ) {
214
- const { listAllContacts, currentUser } = credentials;
215
- console.log("__listAllContacts", listAllContacts.hits);
216
- const _URL = `${credentials.space}/api/directmessages`;
217
-
218
- const _data = {
219
- users: [currentUser.login].concat(datas.receipt),
220
- };
221
-
222
- const MSGData = {
223
- id_msg: "",
224
- senderId: credentials.currentUser.login,
225
- senderName: `${credentials.currentUser.first_name} ${credentials.currentUser.last_name}`,
226
- msg: formatedMessage(datas.msg),
227
- };
228
- let otherCommunity = false;
229
- _3DSwym_findCommunityToInstantMSG(
230
- _data.users,
231
- (rep) => {
232
- if (rep !== undefined) {
233
- MSGData["id_msg"] = rep.id;
234
- otherCommunity = true;
235
- _3DSwym_sendMessageData(credentials, MSGData);
236
- }
237
- },
238
- (err) => {
239
- otherCommunity = false;
240
- console.log("_3dSwym_findCommunityToInstantMSG callback", err);
241
- if (onError) onError(err);
242
- MSGData["id_msg"] = "";
243
- },
244
- );
245
-
246
- if (otherCommunity === false) {
247
- setTimeout(() => {
248
- if (otherCommunity === false) {
249
- _3DSwym_get_version(credentials, (token) => {
250
- _httpCallAuthenticated(_URL, {
251
- method: "POST",
252
- headers: {
253
- "Content-Type": "application/json",
254
- Accept: "application/json",
255
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
256
- },
257
- data: JSON.stringify(_data),
258
- type: "json",
259
- onComplete(response, headers, xhr) {
260
- const info = response;
261
- info["reponse"] = JSON.parse(xhr.response);
262
- info["status"] = xhr.status;
263
- if (onDone) onDone(info);
264
- MSGData["id_msg"] = info.result.id;
265
- _3DSwym_sendMessageData(credentials, MSGData);
266
- },
267
- onFailure(response, headers, xhr) {
268
- const info = response;
269
- info["msg"] = headers.errormsg;
270
- info["status"] = headers.status;
271
-
272
- if (onError) onError(info);
273
- },
274
- });
275
- });
276
- }
277
- }, 500);
278
- }
279
- }
280
-
281
- /**
282
- * @description La fonction `_3DSwym_findCommunityToInstantMSG` est utilisée pour rechercher une communauté dans une
283
- * plateforme 3DExperience pour la messagerie instantanée en fonction des informations d'identification
284
- * et des données fournies.
285
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
286
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
287
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
288
- * @param {Array} datas - Le paramètre `datas` est un tableau qui contient les données à utiliser pour trouver une communauté pour envoyer un message instantané.
289
- * @param {Function} onDone - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque
290
- * l'opération sera terminée avec succès. Il faut un argument, qui est le résultat de l'opération.
291
- * @param {Function} onError - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
292
- * erreur lors de l'exécution de la fonction `_3DSwym_findCommunityToInstantMSG`. Il est facultatif et
293
- * peut être omis s’il n’est pas nécessaire.
294
- */
295
- export function _3DSwym_findCommunityToInstantMSG(
296
- credentials,
297
- datas,
298
- onDone,
299
- onError,
300
- ) {
301
- const URL = `${credentials.space}/api/directmessages/lite?with_favorites=false`;
302
- _3DSwym_get_version(credentials, (token) => {
303
- _httpCallAuthenticated(URL, {
304
- method: "GET",
305
- headers: {
306
- Accept: "application/json,text/javascript,*/*",
307
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
308
- },
309
- onComplete(response) {
310
- const info = JSON.parse(response);
311
- const infoSortedByLengths = [];
312
- info.result.forEach((com) => {
313
- com.users = com.users.sort((a, b) => {
314
- return a.login.localeCompare(b.login);
315
- });
316
- if (com.users.length === datas.length) {
317
- infoSortedByLengths.push(com);
318
- }
319
- });
320
- const sortedDatas = datas.sort();
321
-
322
- const _datas = infoSortedByLengths.find((com) => {
323
- const logins = [];
324
- com.users.forEach((user) => {
325
- logins.push(user.login);
326
- });
327
- return JSON.stringify(logins) === JSON.stringify(sortedDatas);
328
- });
329
-
330
- if (onDone && _datas !== undefined) {
331
- onDone(_datas);
332
- } else if (onError || _datas === undefined) {
333
- onError(_datas);
334
- }
335
- },
336
- onFailure(response) {
337
- const info = response;
338
- info["msg"] = headers.errormsg;
339
- info["errCode"] = headers.errorcode;
340
- console.log("❌ sendDirectMessageLite => ", info);
341
- if (onError) onError(info);
342
- },
343
- });
344
- });
345
- }
346
-
347
- /**
348
- * @description La fonction `_3DSwym_sendMessageData` envoie un message direct avec les informations
349
- * d'identification et le contenu donnés, et appelle les rappels `onDone` ou `onError` en fonction du
350
- * succès ou de l'échec de la requête.
351
- * @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
352
- * la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
353
- * @param {String} credentials.space - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace =>(https://r1132100968447-eu1-space.3dexperience.3ds.com/enovia), 3DSwym, 3DCompass...)
354
- * @param content - Le paramètre `content` est un objet qui contient les propriétés suivantes :
355
- * @param {String} content.id_msg - L'identifiant du message à envoyer.
356
- * @param {String} content.senderId - L'identifiant de l'utilisateur qui envoie le message.
357
- * @param {String} content.senderName - Le nom de l'utilisateur qui envoie le message.
358
- * @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque l'envoi
359
- * du message sera terminé avec succès. Il prend un argument, qui est un objet contenant des
360
- * informations sur la réponse du serveur.
361
- * @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
362
- * erreur lors de l'exécution de la fonction `_3DSwym_sendMessageData`. Il vous permet de gérer et de
363
- * traiter les informations d'erreur.
364
- */
365
- export function _3DSwym_sendMessageData(
366
- credentials,
367
- content,
368
- onDone = undefined,
369
- onError = undefined,
370
- ) {
371
- const URL = {
372
- base: credentials.space,
373
- uri: "/api/community",
374
- id_msg: `${content.id_msg}`,
375
- endUri: "/instantmessages",
376
- };
377
-
378
- const url = `${URL.base}${URL.uri}/${URL.id_msg}${URL.endUri}`;
379
-
380
- const datas = {
381
- author: { login: content.senderId, displayName: content.senderName },
382
- accessState: null,
383
- commentUri: null,
384
- comments: null,
385
- endorsements: null,
386
- moderationState: null,
387
- parentCommentUri: null,
388
- richMessage: content.msg,
389
- };
390
- console.log("_3dSwym_sendDirectMessageData url ", url);
391
- _3DSwym_get_version(credentials, (token) => {
392
- _httpCallAuthenticated(url, {
393
- method: "POST",
394
- headers: {
395
- "Content-Type": "application/json",
396
- Accept: "application/json",
397
- "X-DS-SWYM-CSRFTOKEN": token.result.ServerToken,
398
- },
399
- data: JSON.stringify(datas),
400
- type: "json",
401
- onComplete(response, headers, xhr) {
402
- const info = response;
403
- info["status"] = xhr.status;
404
- info["response"] = JSON.parse(xhr.response);
405
- console.log("✅ _3dSwym_sendDirectMessageData => ", info);
406
- if (onDone) onDone(info);
407
- },
408
- onFailure(response, headers) {
409
- const info = response;
410
- info["msg"] = headers.errormsg;
411
- info["errCode"] = headers.errorcode;
412
- console.log("❌ sendDirectMessage => ", info);
413
- if (onError) onError(info);
414
- },
415
- });
416
- });
417
- }
418
-
419
- /**
420
- * @description La fonction `formatedMessage` renvoie un message formaté avec la date et l'heure actuelles.
421
- * @param {String} message - Le paramètre `message` est une chaîne qui représente le contenu du message que vous souhaitez envoyer.
422
- *
423
- * @returns un message formaté avec la date et l'heure actuelles. Le message est enveloppé dans une balise de paragraphe, suivie d'un saut de ligne et d'une règle horizontale.
424
- * En dessous, il comprend une phrase indiquant quand le message a été envoyé, y compris la date et l'heure.
425
- *
426
- */
427
- function formatedMessage(message) {
428
- const _dates = new Date().toLocaleDateString();
429
- const time = new Date().toLocaleTimeString();
430
- return `<p>${message} </p>
431
- <br/>
432
- <hr/>
433
- <p><u>envoyer :</u>Le <b>${_dates} à ${time}</b></p>`;
434
- }
435
-
436
- export default {
437
- _3DSwim_getAllCommunities,
438
- _3DSwim_getMembersCommunity,
439
- _3DSwym_getIdeaStatusMaturity,
440
- _3DSwym_buildDirectMessage,
441
- _3DSwym_findCommunityToInstantMSG,
442
- _3DSwym_sendMessageData,
443
- };