@beam3_dev/api_module 0.0.0

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/index.html ADDED
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Vite App</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/main.js"></script>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@beam3_dev/api_module",
3
+ "version": "0.0.0",
4
+ "type": "module",
5
+ "main": "./dist/wb3Api.umd.cjs",
6
+ "module": "./dist/wb3Api.js",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./dist/wb3Api.js",
10
+ "require": "./dist/wb3Api.umd.cjs"
11
+ }
12
+ },
13
+ "scripts": {
14
+ "dev": "vite",
15
+ "build": "vite build",
16
+ "preview": "vite preview",
17
+ "clean": "rm -rf ./dist"
18
+ },
19
+ "devDependencies": {
20
+ "vite": "^5.0.8"
21
+ },
22
+ "peerDependencies": {
23
+ "raw-loader": "4.0.2",
24
+ "luxon": "^3.4.4",
25
+ "uuid": "^9.0.1",
26
+ "@widget-lab/3ddashboard-utils": "https://btcc.3ds.com/widget-lab/npm/widget-lab-3ddashboard-utils-1.4.0.tgz",
27
+ "jsdoc": "^4.0.2",
28
+ "requirejs": "2.3.6"
29
+ }
30
+ }
package/src/index.js ADDED
@@ -0,0 +1,161 @@
1
+ import { UUID } from "./lib/api/index";
2
+ import { couleurs } from "./lib/gouv/colors";
3
+ import {
4
+ findAdresse,
5
+ getCommunes,
6
+ getDataFromGouvFr,
7
+ } from "./lib/gouv/gouv_api";
8
+ import { updateEvent } from "./lib/utils/updateEvent";
9
+ import { compass_getListAdditionalApps } from "./lib/plateform/Compass";
10
+ import {
11
+ _setDraggable,
12
+ _setDroppable,
13
+ _getPlatformServices,
14
+ _getPlateformInfos,
15
+ _httpCallAuthenticated,
16
+ _setupTagger,
17
+ } from "./lib/plateform/main/3dexperience_api";
18
+ import {
19
+ _AppMngt_get_users,
20
+ _AppMngt_get_info_user,
21
+ } from "./lib/plateform/main/3dcompass_api";
22
+ import {
23
+ createUserGroups,
24
+ getComplementUG,
25
+ getUsersGroupRules,
26
+ getUserGroupsList,
27
+ deleteUserGroups,
28
+ patchUserGroups,
29
+ patchUserGroupsControl,
30
+ readUserGroupControl,
31
+ } from "./lib/plateform/Usersgroup";
32
+ import {
33
+ _3DSpace_get_docInfo,
34
+ _3DSpace_get_csrf,
35
+ _3DSpace_csrf,
36
+ _3DSpace_file_url,
37
+ _3DSpace_file_url_csr,
38
+ _3DSpace_file_update,
39
+ _3DSpace_file_update_csr,
40
+ _3DSpace_Create_Doc,
41
+ _3DSpace_get_securityContexts,
42
+ _3DSpace_download_doc,
43
+ _3DSpace_download_multidoc,
44
+ _3DSpace_get_downloadTicket_multidoc,
45
+ _3DSpace_lifecycle_getNextStates,
46
+ _3DSpace_lifecycle_changeState,
47
+ _3DSpace_lifecycle_getGraph,
48
+ _3DSpace_lifecycle_getNextRevision,
49
+ _3DSpace_lifecycle_changeRevision,
50
+ } from "./lib/plateform/main/3dspace_api";
51
+ import { getActiveServices } from "./lib/plateform/main/getActiveServices";
52
+ import { getCSRFToken } from "./lib/plateform/main/getCSRFToken";
53
+ import { getAllContextSecurity } from "./lib/plateform/main/getCTX";
54
+ import { getDataFrom3DSpace } from "./lib/plateform/main/getDataFrom3DSpace";
55
+ import { getDownloadDocument } from "./lib/plateform/main/getDownloadDocument";
56
+ import { pushDataIn3DSpace } from "./lib/plateform/main/pushDataIn3DSpace";
57
+ import {
58
+ getDatasFrom3DSpace,
59
+ dataMixing,
60
+ getDatasByTenant,
61
+ get_3DSpace_csrf,
62
+ } from "./lib/plateform/main/loadDatas";
63
+ import {
64
+ getInfoDocTags,
65
+ removeTagToDoc,
66
+ addTagToDoc,
67
+ } from "./lib/plateform/Tag";
68
+ import {
69
+ _3DSwim_getAllCommunities,
70
+ _3DSwim_getMembersCommunity,
71
+ _3DSwym_getIdeaStatusMaturity,
72
+ _3DSwym_buildDirectMessage,
73
+ _3DSwym_findCommunityToInstantMSG,
74
+ _3DSwym_sendMessageData,
75
+ } from "./lib/plateform/Swym/communaute";
76
+ import {
77
+ _3DSwym_postIdea,
78
+ _3DSwym_deleteIdea,
79
+ _3DSwym_getSWYMIdea,
80
+ _3DSwym_get_AllSWYMIdeas,
81
+ } from "./lib/plateform/Swym/idea";
82
+ import {
83
+ _3DSwym_get_currentUser,
84
+ _3DSwym_get_findUser,
85
+ } from "./lib/plateform/Swym/user";
86
+ import {
87
+ _3DSwym_get_version,
88
+ _3DSwym_getAllNews,
89
+ _3DSwym_getFamiliarPeople,
90
+ } from "./lib/plateform/Swym/3dswym_api";
91
+
92
+ export {
93
+ _3DSwym_get_version,
94
+ _3DSwym_getAllNews,
95
+ _3DSwym_getFamiliarPeople,
96
+ _3DSpace_Create_Doc,
97
+ _3DSpace_csrf,
98
+ _3DSpace_download_doc,
99
+ _3DSpace_download_multidoc,
100
+ _3DSpace_file_update_csr,
101
+ _3DSpace_file_update,
102
+ _3DSpace_file_url_csr,
103
+ _3DSpace_file_url,
104
+ _3DSpace_get_csrf,
105
+ _3DSpace_get_docInfo,
106
+ _3DSpace_get_downloadTicket_multidoc,
107
+ _3DSpace_get_securityContexts,
108
+ _3DSpace_lifecycle_changeRevision,
109
+ _3DSpace_lifecycle_changeState,
110
+ _3DSpace_lifecycle_getGraph,
111
+ _3DSpace_lifecycle_getNextRevision,
112
+ _3DSpace_lifecycle_getNextStates,
113
+ _3DSwim_getAllCommunities,
114
+ _3DSwim_getMembersCommunity,
115
+ _3DSwym_buildDirectMessage,
116
+ _3DSwym_deleteIdea,
117
+ _3DSwym_findCommunityToInstantMSG,
118
+ _3DSwym_get_AllSWYMIdeas,
119
+ _3DSwym_get_currentUser,
120
+ _3DSwym_get_findUser,
121
+ _3DSwym_getIdeaStatusMaturity,
122
+ _3DSwym_getSWYMIdea,
123
+ _3DSwym_postIdea,
124
+ _3DSwym_sendMessageData,
125
+ _AppMngt_get_info_user,
126
+ _AppMngt_get_users,
127
+ _getPlateformInfos,
128
+ _getPlatformServices,
129
+ _httpCallAuthenticated,
130
+ _setDraggable,
131
+ _setDroppable,
132
+ _setupTagger,
133
+ addTagToDoc,
134
+ compass_getListAdditionalApps,
135
+ couleurs,
136
+ createUserGroups,
137
+ dataMixing,
138
+ deleteUserGroups,
139
+ findAdresse,
140
+ get_3DSpace_csrf,
141
+ getActiveServices,
142
+ getAllContextSecurity,
143
+ getCommunes,
144
+ getComplementUG,
145
+ getCSRFToken,
146
+ getDataFrom3DSpace,
147
+ getDataFromGouvFr,
148
+ getDatasByTenant,
149
+ getDatasFrom3DSpace,
150
+ getDownloadDocument,
151
+ getInfoDocTags,
152
+ getUserGroupsList,
153
+ getUsersGroupRules,
154
+ patchUserGroups,
155
+ patchUserGroupsControl,
156
+ pushDataIn3DSpace,
157
+ readUserGroupControl,
158
+ removeTagToDoc,
159
+ updateEvent,
160
+ UUID,
161
+ };
@@ -0,0 +1,9 @@
1
+ import { v4 as uuid } from "uuid";
2
+ /**
3
+ * @description La fonction UUID génère un UUID (Universally Unique Identifier) aléatoire.
4
+ * @returns La fonction UUID renvoie un UUID (Universally Unique Identifier) généré aléatoirement à l'aide de la fonction uuid.
5
+ *
6
+ */
7
+ export function UUID() {
8
+ return uuid();
9
+ }
@@ -0,0 +1,31 @@
1
+ // pour les charts Piveteau
2
+ export const couleurs = {
3
+ b3M3Yellow: "#FFB300",
4
+ b3AboutageBlue: "#42A5F5",
5
+ b3UsinageGreen: "#689F38",
6
+ b3PanneauOrange: "#ff8000",
7
+ b3M350percent: "#fafa6e",
8
+ b3M380percent: "#aae479",
9
+ b3M390percent: "#64c987",
10
+ b3M3100percent: "#23aa8f",
11
+ b3M3105percent: "#00898a",
12
+ b3M3110percent: "#176877",
13
+ b3M3120percent: "#2a4858",
14
+ b3Aboutage50percent: "#fafa6e",
15
+ b3Aboutage80percent: "#aae479",
16
+ b3Aboutage90percent: "#64c987",
17
+ b3Aboutage100percent: "#23aa8f",
18
+ b3Aboutage105percent: "#00898a",
19
+ b3Aboutage110percent: "#176877",
20
+ b3Aboutage120percent: "#2a4858",
21
+ b3Warning: "#FF0000",
22
+ b3Edit1: "#AD1457",
23
+ b3Edit2: "#F4511E",
24
+ b3Edit3: "#009688",
25
+ b3Edit4: "#D50000",
26
+ b3Edit5: "#039BE5",
27
+ b3Edit6: "#9E69AF",
28
+ b3Edit7: "#A79B8E",
29
+ b3Edit8: "#616161",
30
+ b3Edit9: "#795548",
31
+ };
@@ -0,0 +1,139 @@
1
+ import { DateTime } from "luxon";
2
+ import { couleurs } from "./colors";
3
+ /**
4
+ * Cette fonction récupère une liste de communes en fonction d'un code postal donné à l'aide d'une API
5
+ * d'IGN France.
6
+ * @param {String} cp - Le paramètre `cp` est une chaîne représentant un code postal français. Il est converti
7
+ * en entier à l'aide de `parseInt()` avant d'être utilisé dans la requête API.
8
+ * @param { Function } - onDone est une fonction de rappel qui sera exécutée lorsque l'appel API réussit et
9
+ * renvoie une réponse. Il prend les données de réponse comme argument et peut être utilisé pour gérer
10
+ * les données dans la fonction appelante.
11
+ * @param { Function } - Le paramètre `onError` est une fonction de rappel qui sera exécutée s'il y a une
12
+ * erreur lors de la requête de récupération. Il permet une gestion personnalisée des erreurs et peut
13
+ * être utilisé pour afficher des messages d'erreur ou effectuer d'autres actions en réponse à une
14
+ * erreur.
15
+ */
16
+ export async function getCommunes(cp, onDone = undefined, onError = undefined) {
17
+ const codePostal = parseInt(cp);
18
+ await fetch(
19
+ "https://apicarto.ign.fr/api/codes-postaux/communes/" + codePostal,
20
+ {
21
+ method: "GET",
22
+ headers: {
23
+ Accept: "application/json",
24
+ },
25
+ },
26
+ )
27
+ .then((response) => response.json())
28
+ .then((json) => {
29
+ if (onDone) onDone(json);
30
+ })
31
+ .catch((error) => {
32
+ if (onError) onError(error);
33
+ console.error("Erreur : " + error);
34
+ });
35
+ }
36
+
37
+ /**
38
+ * Il s'agit d'une fonction JavaScript qui utilise l'API-adresse.data.gouv.fr pour rechercher des
39
+ * adresses à partir d'une requête et renvoie les résultats au format JSON.
40
+ * @param { String } query - L'adresse ou la requête d'emplacement à rechercher dans l'API.
41
+ * @param { Function } - onDone est une fonction de rappel qui sera exécutée lorsque l'appel API réussit et
42
+ * renvoie une réponse. Il prend la réponse JSON comme paramètre.
43
+ * @param { Function } - Le paramètre `onError` est une fonction de rappel qui sera exécutée s'il y a une
44
+ * erreur lors de l'appel de l'API. C'est un paramètre optionnel qui peut être passé à la fonction
45
+ * `findAdresse`. S'il est fourni, il recevra l'objet d'erreur comme argument.
46
+ */
47
+ export async function findAdresse(
48
+ query,
49
+ onDone = undefined,
50
+ onError = undefined,
51
+ ) {
52
+ // https://api-adresse.data.gouv.fr/search/?q=
53
+ query = encodeURIComponent(query);
54
+ await fetch(
55
+ "https://api-adresse.data.gouv.fr/search/?q=" + query + "&limit=15",
56
+ {
57
+ method: "GET",
58
+ headers: {
59
+ Accept: "application/json",
60
+ },
61
+ },
62
+ )
63
+ .then((response) => response.json())
64
+ .then((json) => {
65
+ if (onDone) onDone(json);
66
+ })
67
+ .catch((error) => {
68
+ if (onError) onError(error);
69
+ console.error("Erreur : " + error);
70
+ });
71
+ }
72
+
73
+ /**
74
+ * Cette fonction récupère les données d'une API du gouvernement français contenant des informations
75
+ * sur les jours fériés et les formate pour les utiliser dans une application de calendrier.
76
+ */
77
+ /**
78
+ * La fonction `getDataFromGouvFr` récupère les données de l'API du gouvernement français pour les
79
+ * jours fériés et les formate dans une structure de données spécifique.
80
+ * @param events - Le paramètre `events` est un tableau d'objets représentant des événements. (store.loadedEvents)
81
+ * @param colors - Le paramètre `colors` est un objets représentant des couleurs. (Piveteau)
82
+ * @returns les données formatées, qui incluent les événements récupérés depuis le point de terminaison
83
+ * API "https://calendrier.api.gouv.fr/jours-feries/metropole/". Les événements sont formatés dans une
84
+ * structure spécifique et renvoyés sous forme d'objet.
85
+ */
86
+ export async function getDataFromGouvFr(events, colors = couleurs) {
87
+ let year = DateTime.now().year;
88
+ const loadedEvents = events;
89
+ const sortedData = [];
90
+
91
+ const formatData = (json) => {
92
+ for (let date in json) sortedData.push({ date, comment: json[date] });
93
+ };
94
+
95
+ for (let i = year; i <= year + 1; i++) {
96
+ await fetch(
97
+ "https://calendrier.api.gouv.fr/jours-feries/metropole/" + i + ".json",
98
+ {
99
+ method: "GET",
100
+ headers: {
101
+ Accept: "application/json",
102
+ },
103
+ },
104
+ )
105
+ .then((response) => response.json())
106
+ .then((json) => {
107
+ formatData(json);
108
+ })
109
+ .catch((error) => console.error("Erreur : " + error));
110
+ }
111
+
112
+ const formatedData = () => {
113
+ const data =
114
+ loadedEvents.length === 0
115
+ ? {
116
+ events: [],
117
+ }
118
+ : loadedEvents;
119
+ for (let each of sortedData) {
120
+ const index = data.events.findIndex(
121
+ (event) =>
122
+ event.start === DateTime.fromISO(each.date).toISODate() &&
123
+ event.name === "Férié : " + each.comment,
124
+ );
125
+
126
+ if (index === -1)
127
+ data.events.push({
128
+ name: "Férié : " + each.comment,
129
+ start: DateTime.fromISO(each.date).toISODate(),
130
+ end: DateTime.fromISO(each.date).toISODate(),
131
+ color: colors.b3BusinnessDays,
132
+ timed: false,
133
+ });
134
+ }
135
+ return data;
136
+ };
137
+
138
+ return formatedData();
139
+ }
@@ -0,0 +1,51 @@
1
+ import { _httpCallAuthenticated } from "../main/3dexperience_api";
2
+ /**
3
+ * @description La fonction `compass_getListAdditionalApps` effectue une requête HTTP GET authentifiée pour
4
+ * récupérer une liste d'applications supplémentaires en fonction des informations d'identification
5
+ * fournies.
6
+ * @param {Object} credentials Un objet contenant les informations d'identification nécessaires à
7
+ * l'authentification. Il doit avoir les propriétés suivantes : space, token
8
+ * @property {String} [space] - L'URL du serveur sur lequel l'API est déployée.(ex: 3DSpace, 3DSwym, 3DCompass...)
9
+ * @property {String} [tenant] - le tenant courant (ex: R1132100968447)
10
+ * @param onDone - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque l'appel
11
+ * d'API réussit et que les données de réponse sont formatées. Il prend deux arguments :
12
+ * `formatedInfos` et `info`. `formatedInfos` est un tableau d'objets contenant le nom et l'identifiant
13
+ * de chaque application,
14
+ * @param onError - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
15
+ * erreur lors de la requête HTTP. Il prend un paramètre, « info », qui est un objet contenant des
16
+ * informations sur l'erreur.
17
+ */
18
+
19
+ export function compass_getListAdditionalApps(credentials, onDone, onError) {
20
+ const URL = {
21
+ base: `${credentials.space}`,
22
+ uri: "/resources/AppsMngt/api/custom/applications",
23
+ option: `?filter=${credentials.tenant}`, // facultatif
24
+ };
25
+ const url = `${URL.base}${URL.uri}${URL.option}`;
26
+
27
+ _httpCallAuthenticated(url, {
28
+ method: "GET",
29
+ headers: {
30
+ "Content-Type": "application/json",
31
+ Accept: "application/json",
32
+ },
33
+ onComplete(response, headers, xhr) {
34
+ const info = JSON.parse(response);
35
+ const formatedInfos = info.data.map((app) => {
36
+ const name = app.attributes.name;
37
+ const id = app.id;
38
+ return { name, id };
39
+ });
40
+
41
+ if (onDone) onDone(formatedInfos, info);
42
+ },
43
+ onFailure(response, headers) {
44
+ const info = response;
45
+ info["msg"] = headers.errormsg;
46
+ info["errCode"] = headers.errorcode;
47
+
48
+ if (onError) onError(info);
49
+ },
50
+ });
51
+ }
@@ -0,0 +1,141 @@
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
+ }