@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.
- package/dist/wb3Api.js +2000 -0
- package/dist/wb3Api.umd.cjs +78 -0
- package/package.json +8 -5
- package/index.html +0 -13
- package/src/index.js +0 -164
- package/src/lib/add/index.js +0 -12
- package/src/lib/api/index.js +0 -9
- package/src/lib/gouv/colors.js +0 -31
- package/src/lib/gouv/gouv_api.js +0 -139
- package/src/lib/plateform/Compass/index.js +0 -51
- package/src/lib/plateform/Swym/3dswym_api.js +0 -141
- package/src/lib/plateform/Swym/communaute/index.js +0 -443
- package/src/lib/plateform/Swym/idea/index.js +0 -333
- package/src/lib/plateform/Swym/media/index.js +0 -0
- package/src/lib/plateform/Swym/post/index.js +0 -0
- package/src/lib/plateform/Swym/question/index.js +0 -0
- package/src/lib/plateform/Swym/user/index.js +0 -87
- package/src/lib/plateform/Swym/wiki/index.js +0 -0
- package/src/lib/plateform/Tag/index.js +0 -384
- package/src/lib/plateform/Usersgroup/index.js +0 -449
- package/src/lib/plateform/main/3dcompass_api.js +0 -78
- package/src/lib/plateform/main/3dexperience_api.js +0 -143
- package/src/lib/plateform/main/3dspace_api.js +0 -1310
- package/src/lib/plateform/main/getActiveServices.js +0 -92
- package/src/lib/plateform/main/getCSRFToken.js +0 -30
- package/src/lib/plateform/main/getCTX.js +0 -46
- package/src/lib/plateform/main/getDataFrom3DSpace.js +0 -47
- package/src/lib/plateform/main/getDownloadDocument.js +0 -40
- package/src/lib/plateform/main/loadDatas.js +0 -189
- package/src/lib/plateform/main/pushDataIn3DSpace.js +0 -61
- package/src/lib/utils/updateEvent.js +0 -27
- package/vite.config.js +0 -23
|
@@ -1,449 +0,0 @@
|
|
|
1
|
-
import { _httpCallAuthenticated } from "../main/3dexperience_api";
|
|
2
|
-
|
|
3
|
-
//LINK - https://media.3ds.com/support/documentation/developer/Cloud/en/English/CAAi3DXUGREST/UsersGroup_v1.htm#
|
|
4
|
-
//!SECTION, Pour faire des modification de UG il faut être OWNER
|
|
5
|
-
|
|
6
|
-
// URI de test sur le tenant PIVETEAU_TEST:
|
|
7
|
-
const _uri = "uuid:3fcb61f2-6417-476d-8a9c-a16fb888771e";
|
|
8
|
-
|
|
9
|
-
const topHeader = {
|
|
10
|
-
"Content-Type": "application/json",
|
|
11
|
-
Accept: "application/json,text/javascript,*/*",
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @description La fonction `createUserGroups` crée un nouveau groupe d'utilisateurs avec les détails et les membres
|
|
16
|
-
* spécifiés. Attention, l'indexation du UserGroup met du temps.
|
|
17
|
-
|
|
18
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
19
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
20
|
-
* @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, usersgroup, 3DCompass...)
|
|
21
|
-
* @param {Object} credentials.currentUser.email - Le paramètre `currentUser` est un qui contient les informations de l'utilisateur qui envoie le message(appeler depuis la fonction `_3DSwym_get_currentuser`).
|
|
22
|
-
*
|
|
23
|
-
* @param {Object} datas - Les informations du groupe d'utilisateurs.
|
|
24
|
-
* @param {String} datas.title - Le titre du groupe d'utilisateurs. Entre 3 et 128 caractères, obligatoire.
|
|
25
|
-
* @param {String} datas.description - La description du groupe d'utilisateurs. 512 caractères max.
|
|
26
|
-
* @param {Array} datas.members - Un tableau d'emails des membres du groupe d'utilisateurs. 100 max email par groupe.
|
|
27
|
-
* @param {String} datas.sharing - Le droit de partage du groupe d'utilisateurs. owner/manager/viewer
|
|
28
|
-
* @param {String} datas.visibility - La visibilité du groupe d'utilisateurs. public/private
|
|
29
|
-
* @param {Function} [onDone] - Une fonction de rappel qui sera appelée lorsque l'appel d'API réussit et que les
|
|
30
|
-
* groupes d'utilisateurs sont créés. Il recevra les données de réponse comme argument.
|
|
31
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
32
|
-
* erreur lors de l'exécution de la fonction `createUserGroups`. Il vous permet de gérer et de traiter
|
|
33
|
-
* l'erreur de manière personnalisée.
|
|
34
|
-
*/
|
|
35
|
-
export function createUserGroups(
|
|
36
|
-
credentials,
|
|
37
|
-
datas,
|
|
38
|
-
onDone = undefined,
|
|
39
|
-
onError = undefined,
|
|
40
|
-
) {
|
|
41
|
-
const { space, currentUser } = credentials;
|
|
42
|
-
const URL = {
|
|
43
|
-
URIUGr: "/3drdfpersist/resources/v1/usersgroup",
|
|
44
|
-
};
|
|
45
|
-
const url = `${space}${URL.URIUGr}`;
|
|
46
|
-
|
|
47
|
-
const templateData = {
|
|
48
|
-
groups: [
|
|
49
|
-
{
|
|
50
|
-
title: datas.title,
|
|
51
|
-
description: datas.description,
|
|
52
|
-
members: datas.members || [currentUser.email, "samuel.mureau@beam3.fr"],
|
|
53
|
-
pending_members: [],
|
|
54
|
-
sharing: datas.sharing,
|
|
55
|
-
visibility: datas.visibility,
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
_httpCallAuthenticated(url, {
|
|
61
|
-
method: "POST",
|
|
62
|
-
headers: topHeader,
|
|
63
|
-
data: JSON.stringify(templateData),
|
|
64
|
-
onComplete(response) {
|
|
65
|
-
if (onDone) onDone(JSON.parse(response));
|
|
66
|
-
},
|
|
67
|
-
onFailure(err, headers) {
|
|
68
|
-
console.log(err);
|
|
69
|
-
const info = err;
|
|
70
|
-
info["msg"] = headers.errormsg;
|
|
71
|
-
info["errCode"] = headers.errorcode;
|
|
72
|
-
console.log("❌ sendDirectMessage => ", info);
|
|
73
|
-
if (onError) onError(info);
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* @description La fonction `getComplementUG` effectue une requête GET vers un URI spécifié avec les informations
|
|
80
|
-
* d'authentification et renvoie la réponse.
|
|
81
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
82
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
83
|
-
* @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, usersgroup, 3DCompass...)
|
|
84
|
-
* @param {String} credentials.tenant - L'identifiant du tenant sur lequel l'API est déployée.(ex: 1132100968447)
|
|
85
|
-
* @param {String} [uri] - Le paramètre `uri` est l'identifiant de la ressource dont vous souhaitez récupérer le
|
|
86
|
-
* complément. (ex: uuid:dcad14cc-5bcd-45fd-a54d-246b95047d45)
|
|
87
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
|
|
88
|
-
* requête HTTP sera terminée avec succès. Il prend un argument, qui correspond aux données de réponse
|
|
89
|
-
* de la requête.
|
|
90
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
91
|
-
* erreur lors de l'exécution de la fonction `getComplementUG`. Il vous permet de gérer et de traiter
|
|
92
|
-
* les informations d'erreur.
|
|
93
|
-
*/
|
|
94
|
-
export function getComplementUG(
|
|
95
|
-
credentials,
|
|
96
|
-
uri,
|
|
97
|
-
onDone = undefined,
|
|
98
|
-
onError = undefined,
|
|
99
|
-
) {
|
|
100
|
-
const { space, tenant } = credentials;
|
|
101
|
-
const baseURL = space;
|
|
102
|
-
const URI = `/3drdfpersist/v1/resources/${uri}`;
|
|
103
|
-
const OPTs = `?$mask=dsaccess:Mask.GroupUI.Properties&tenant=dstenant:${tenant}`;
|
|
104
|
-
const URL = `${baseURL}${URI}${OPTs}`;
|
|
105
|
-
|
|
106
|
-
const headers = {
|
|
107
|
-
"Content-Type": "application/json",
|
|
108
|
-
Accept: "application/json,text/javascript,*/*",
|
|
109
|
-
};
|
|
110
|
-
const opts = {
|
|
111
|
-
method: "GET",
|
|
112
|
-
headers: headers,
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
_httpCallAuthenticated(URL, {
|
|
116
|
-
opts,
|
|
117
|
-
onComplete(response) {
|
|
118
|
-
if (onDone) onDone(JSON.parse(response));
|
|
119
|
-
},
|
|
120
|
-
onFailure(err, headers) {
|
|
121
|
-
const info = err;
|
|
122
|
-
info["msg"] = headers.errormsg;
|
|
123
|
-
info["errCode"] = headers.errorcode;
|
|
124
|
-
|
|
125
|
-
if (onError) onError(info);
|
|
126
|
-
},
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* @description La fonction `getUsersGroupRules` effectue une requête HTTP GET pour récupérer une liste de
|
|
132
|
-
* responsabilités de groupe pour un groupe d'utilisateurs.
|
|
133
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
134
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
135
|
-
* @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, usersgroup, 3DCompass...)
|
|
136
|
-
* @param {String} credentials.tenant - L'identifiant du tenant sur lequel l'API est déployée.(ex: 1132100968447)
|
|
137
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
|
|
138
|
-
* requête HTTP sera terminée avec succès. Il faut un argument, qui correspond aux données de réponse
|
|
139
|
-
* analysées au format JSON.
|
|
140
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
141
|
-
* erreur lors de l'exécution de la fonction `getUsersGroupRules`. C'est un paramètre facultatif, donc
|
|
142
|
-
* s'il n'est pas fourni, la fonction ne fera rien en cas d'erreur.
|
|
143
|
-
*/
|
|
144
|
-
export function getUsersGroupRules(
|
|
145
|
-
credentials,
|
|
146
|
-
onDone = undefined,
|
|
147
|
-
onError = undefined,
|
|
148
|
-
) {
|
|
149
|
-
const { space, tenant } = credentials;
|
|
150
|
-
const baseURL = space;
|
|
151
|
-
const URI =
|
|
152
|
-
"/3drdfpersist/resources/v1/option-sets/dsusergroup:ListOfGroupResponsibilities/options";
|
|
153
|
-
const OPTS = `?tenant=dstenant:${tenant}`;
|
|
154
|
-
const OPTsH = {
|
|
155
|
-
method: "GET",
|
|
156
|
-
Accept: "application/json,*/*,test/javascript",
|
|
157
|
-
};
|
|
158
|
-
const URL = `${baseURL}${URI}${OPTS}`;
|
|
159
|
-
|
|
160
|
-
_httpCallAuthenticated(URL, {
|
|
161
|
-
OPTsH,
|
|
162
|
-
onComplete(response) {
|
|
163
|
-
if (onDone) onDone(JSON.parse(response));
|
|
164
|
-
},
|
|
165
|
-
onFailure(err, headers) {
|
|
166
|
-
const info = err;
|
|
167
|
-
info["msg"] = headers.errormsg;
|
|
168
|
-
info["errCode"] = headers.errorcode;
|
|
169
|
-
|
|
170
|
-
if (onError) onError(info);
|
|
171
|
-
},
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* @description La fonction « getUserGroupsList » récupère une liste de groupes d'utilisateurs d'un serveur en
|
|
177
|
-
* utilisant les informations d'identification fournies et appelle la fonction de rappel « onDone »
|
|
178
|
-
* avec la réponse.
|
|
179
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
180
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
181
|
-
* @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, usersgroup, 3DCompass...)
|
|
182
|
-
* @param {String} credentials.tenant - L'identifiant du tenant sur lequel l'API est déployée.(ex: 1132100968447)
|
|
183
|
-
* @param {Object} credentials.currentUser.email - Le paramètre `currentUser` est un qui contient les informations de l'utilisateur qui envoie le message(appeler depuis la fonction `_3DSwym_get_currentuser`)
|
|
184
|
-
* @param {Function} [onDone] - Une fonction de rappel qui sera appelée lorsque l'opération sera terminée avec
|
|
185
|
-
* succès. Il recevra la réponse en paramètre.
|
|
186
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
187
|
-
* erreur lors de l'exécution de la fonction `getUserGroupsList`. Il vous permet de gérer et de
|
|
188
|
-
* répondre à toute erreur qui se produit.
|
|
189
|
-
*/
|
|
190
|
-
export function getUserGroupsList(
|
|
191
|
-
credentials,
|
|
192
|
-
onDone = undefined,
|
|
193
|
-
onError = undefined,
|
|
194
|
-
) {
|
|
195
|
-
const { space, currentUser } = credentials;
|
|
196
|
-
const URI = "/3drdfpersist/resources/v1/usersgroup";
|
|
197
|
-
const opt =
|
|
198
|
-
"?select=uri,title,description,owner,members,pending_members,creation_date,modification_date,visibility";
|
|
199
|
-
const url = `${space}${URI}${opt}`;
|
|
200
|
-
const header = {
|
|
201
|
-
"Content-Type": "application/json",
|
|
202
|
-
Accept: "application/json,text/javascript,*/*",
|
|
203
|
-
};
|
|
204
|
-
const opts = { method: "GET", headers: header };
|
|
205
|
-
try {
|
|
206
|
-
_httpCallAuthenticated(url, {
|
|
207
|
-
opts,
|
|
208
|
-
onComplete(response) {
|
|
209
|
-
const repUG = JSON.parse(response);
|
|
210
|
-
const reponse = {};
|
|
211
|
-
const UG = repUG.groups.filter((element) => {
|
|
212
|
-
return element.uri.startsWith("uuid:");
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
if (currentUser && Object.keys(currentUser).length > 0) {
|
|
216
|
-
const iamOwner = UG.filter((element) => {
|
|
217
|
-
return element.owner === currentUser.email;
|
|
218
|
-
});
|
|
219
|
-
const iamMember = UG.filter((element) => {
|
|
220
|
-
return element.members.includes(currentUser.email);
|
|
221
|
-
});
|
|
222
|
-
const iam = iamOwner.concat(iamMember);
|
|
223
|
-
reponse["iam"] = iam;
|
|
224
|
-
reponse["UG"] = UG;
|
|
225
|
-
reponse["iamMember"] = iamMember;
|
|
226
|
-
|
|
227
|
-
getUsersGroupRules(
|
|
228
|
-
credentials,
|
|
229
|
-
(rules) => {
|
|
230
|
-
reponse["rules"] = rules;
|
|
231
|
-
if (onDone) onDone(reponse);
|
|
232
|
-
},
|
|
233
|
-
(err) => {
|
|
234
|
-
if (onError) onError(err);
|
|
235
|
-
},
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
onFailure(err) {
|
|
240
|
-
if (onError) onError(err);
|
|
241
|
-
},
|
|
242
|
-
});
|
|
243
|
-
} catch (error) {
|
|
244
|
-
console.log(error);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/**
|
|
249
|
-
* @description La fonction deleteUserGroups est utilisée pour supprimer des groupes d'utilisateurs à l'aide des
|
|
250
|
-
* informations d'identification et de l'URI fournis.
|
|
251
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
252
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
253
|
-
* @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, usersgroup, 3DCompass...)
|
|
254
|
-
* @param {String} [uri] - Le paramètre `uri` est l'identifiant du groupe d'utilisateurs que vous souhaitez
|
|
255
|
-
* supprimer. Il est utilisé pour construire l'URL de la requête DELETE.(ex: uuid:dcad14cc-5bcd-45fd-a54d-246b95047d45)
|
|
256
|
-
*/
|
|
257
|
-
|
|
258
|
-
export function deleteUserGroups(credentials, uri) {
|
|
259
|
-
const { space } = credentials;
|
|
260
|
-
const URI = "/3drdfpersist/resources/v1/usersgroup";
|
|
261
|
-
const url = `${space}${URI}/${uri}`;
|
|
262
|
-
|
|
263
|
-
const opts = {
|
|
264
|
-
method: "DELETE",
|
|
265
|
-
};
|
|
266
|
-
_httpCallAuthenticated(url, opts);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
/**
|
|
270
|
-
* @description La fonction `patchUserGroups` est utilisée pour mettre à jour les groupes d'utilisateurs en envoyant
|
|
271
|
-
* une requête PATCH à un URI spécifié avec les données fournies.
|
|
272
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
273
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
274
|
-
* @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, usersgroup, 3DCompass...)
|
|
275
|
-
* @param {String} credentials.tenant - L'identifiant du tenant sur lequel l'API est déployée.(ex: 1132100968447)
|
|
276
|
-
* @param uri - Le paramètre `uri` est une chaîne qui représente l'identifiant du groupe d'utilisateurs
|
|
277
|
-
* que vous souhaitez corriger. Il est utilisé pour construire l'URL de la requête PATCH.(ex: uuid:dcad14cc-5bcd-45fd-a54d-246b95047d45)
|
|
278
|
-
* @param {ArrayOfObjects} datas - Le paramètre `datas` est un tableau d'objets qui spécifient les modifications à
|
|
279
|
-
* apporter aux groupes d'utilisateurs.(ex: datas[0].op, datas[0].field, datas[0].value)
|
|
280
|
-
* @param {String} datas[0].op - l'opération à réaliser. (ex: "add", "remove", "replace")
|
|
281
|
-
* @param {String} datas[0].field - Ce sur quoi agir (ex: members[], title, description, owner, visibility)
|
|
282
|
-
* @param {StringOrArray} datas[0].value - La nouvelle valeur impactée. Si ce sont des membres value sera un Tableau de String.
|
|
283
|
-
|
|
284
|
-
* @param {Function} [onDone] - Une fonction de rappel qui sera appelée lorsque la requête PATCH sera terminée
|
|
285
|
-
* avec succès. Il recevra la réponse en paramètre.
|
|
286
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
287
|
-
* erreur lors de l'exécution de la fonction `patchUserGroups`. Il vous permet de gérer toutes les
|
|
288
|
-
* erreurs qui se produisent et d’effectuer toute gestion ou journalisation des erreurs nécessaire.
|
|
289
|
-
*/
|
|
290
|
-
export function patchUserGroups(
|
|
291
|
-
credentials,
|
|
292
|
-
uri,
|
|
293
|
-
datas,
|
|
294
|
-
onDone = undefined,
|
|
295
|
-
onError = undefined,
|
|
296
|
-
) {
|
|
297
|
-
const { space, tenant } = credentials;
|
|
298
|
-
const URL = {
|
|
299
|
-
URITI: "/3drdfpersist/resources/v1/template-instances",
|
|
300
|
-
URIUGr: "/3drdfpersist/resources/v1/usersgroup",
|
|
301
|
-
nextURICh: "/characteristics",
|
|
302
|
-
nextURIGr: "/group",
|
|
303
|
-
nexURImem: "/members",
|
|
304
|
-
OPTsTI: `?$mask=dsaccess:Mask.GroupUI.Properties`,
|
|
305
|
-
OPTsTenant: `tenant=dstenant:${tenant}`,
|
|
306
|
-
};
|
|
307
|
-
|
|
308
|
-
// Le format des datas est obligatoire : [{}]
|
|
309
|
-
// op : add, replace, remove
|
|
310
|
-
// field : members[], pending_members[], title, description, owner, visibility
|
|
311
|
-
// value : string ou array
|
|
312
|
-
|
|
313
|
-
const dataMembers = datas;
|
|
314
|
-
// [
|
|
315
|
-
// {
|
|
316
|
-
// op: "add",
|
|
317
|
-
// field: "members",
|
|
318
|
-
// value: ["samuel.mureau@beam3.fr"],
|
|
319
|
-
// },
|
|
320
|
-
// {
|
|
321
|
-
// op: "replace",
|
|
322
|
-
// field: "title",
|
|
323
|
-
// value: "BEAM³ R&D - DEV",
|
|
324
|
-
// },
|
|
325
|
-
// ];
|
|
326
|
-
|
|
327
|
-
const baseURL = `${space}${URL.URIUGr}/${uri}`; // route de base pour le PATCH (DOC)
|
|
328
|
-
|
|
329
|
-
const dataMembersSTR = JSON.stringify(dataMembers);
|
|
330
|
-
|
|
331
|
-
_httpCallAuthenticated(baseURL, {
|
|
332
|
-
headers: topHeader,
|
|
333
|
-
method: "PATCH",
|
|
334
|
-
data: dataMembersSTR,
|
|
335
|
-
type: "json",
|
|
336
|
-
onComplete(response) {
|
|
337
|
-
if (onDone) onDone(response);
|
|
338
|
-
},
|
|
339
|
-
onFailure(err) {
|
|
340
|
-
if (onError) onError(err);
|
|
341
|
-
},
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
//ANCHOR - CONTROL (Gestion des propriétaires du groupe)
|
|
346
|
-
|
|
347
|
-
/**
|
|
348
|
-
* @description La fonction `patchUserGroupsControl` est utilisée pour mettre à jour le contrôle des groupes
|
|
349
|
-
* d'utilisateurs en envoyant une requête PATCH à un URI spécifié avec les informations
|
|
350
|
-
* d'identification et les données fournies.
|
|
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, usersgroup, 3DCompass...)
|
|
354
|
-
* @param {String} uri - Le paramètre `uri` est une chaîne qui représente l'identifiant du groupe d'utilisateurs
|
|
355
|
-
* que vous souhaitez corriger. Il est utilisé pour construire l'URL de la requête PATCH.(ex: uuid:dcad14cc-5bcd-45fd-a54d-246b95047d45)
|
|
356
|
-
* @param {ArrayOfObject} _datas - Le paramètre `datas` est un tableau d'objets qui contient les informations
|
|
357
|
-
* nécessaires pour patcher le contrôle des groupes d'utilisateurs. (ex : datas[0].op, datas[0].value)
|
|
358
|
-
* @param {String} op - L'opération de correctif. Il peut être 'add', 'replace', 'remove'.
|
|
359
|
-
* @param {Object} value -
|
|
360
|
-
* @param {Array} value.agents - Un tableau d’utilisateurs. Le 1er index doit être à vide. (ex : ["","Bob.Dylan@beam3.fr"]). 100 utilisateurs maximums.
|
|
361
|
-
* @param {Array} value.responsibilities - Un tableau de responsibilités. (ex: ["dsaccess:Responsibility.Group.MainOwner", "dsaccess:Responsibility.Group.Owner", "dsaccess:Responsibility.Group.Viewer", "dsaccess:Responsibility.Group.Author", "dsaccess:Responsibility.GroupService.Administrator"])
|
|
362
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque
|
|
363
|
-
* l'opération de patch sera terminée avec succès. Il faut un argument, qui est la réponse du serveur.
|
|
364
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
365
|
-
* erreur lors de l'exécution de la fonction `patchUserGroupsControl`. Il vous permet de gérer toutes
|
|
366
|
-
* les erreurs qui se produisent et d’effectuer toute gestion ou journalisation des erreurs nécessaire.
|
|
367
|
-
*/
|
|
368
|
-
export function patchUserGroupsControl(
|
|
369
|
-
credentials,
|
|
370
|
-
uri,
|
|
371
|
-
_datas,
|
|
372
|
-
onDone = undefined,
|
|
373
|
-
onError = undefined,
|
|
374
|
-
) {
|
|
375
|
-
const { space } = credentials;
|
|
376
|
-
const URI = "/3drdfpersist/resources/v1/usersgroup";
|
|
377
|
-
|
|
378
|
-
const url = `${space}${URI}/${uri}/sharing`;
|
|
379
|
-
//liste des responsabilités : ["dsaccess:Responsibility.Group.MainOwner", "dsaccess:Responsibility.Group.Owner", "dsaccess:Responsibility.Group.Viewer", "dsaccess:Responsibility.Group.Author", "dsaccess:Responsibility.GroupService.Administrator"]
|
|
380
|
-
const datas = _datas;
|
|
381
|
-
// [
|
|
382
|
-
// {
|
|
383
|
-
// op: "add", // add, replace, remove
|
|
384
|
-
// path: "/sharing",
|
|
385
|
-
// value: {
|
|
386
|
-
// agents: ["", "samuel.mureau@beam3.fr", "yan.coquoz@beam3.fr"],
|
|
387
|
-
// responsibilities: ["dsaccess:Responsibility.Group.Owner"],
|
|
388
|
-
// },
|
|
389
|
-
// },
|
|
390
|
-
// ];
|
|
391
|
-
|
|
392
|
-
_httpCallAuthenticated(url, {
|
|
393
|
-
method: "PATCH",
|
|
394
|
-
headers: topHeader,
|
|
395
|
-
data: JSON.stringify(datas),
|
|
396
|
-
type: "json",
|
|
397
|
-
onComplete(response) {
|
|
398
|
-
if (onDone) onDone(response);
|
|
399
|
-
},
|
|
400
|
-
onFailure(err) {
|
|
401
|
-
if (onError) onError(err);
|
|
402
|
-
},
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
* @description La fonction « readUserGroupControl » est utilisée pour récupérer les informations de contrôle de
|
|
408
|
-
* groupe d'utilisateurs à partir d'un URI spécifié à l'aide d'une requête HTTP GET.
|
|
409
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
410
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
411
|
-
* @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, usersgroup, 3DCompass...)
|
|
412
|
-
* @param {String} uri - Le paramètre `uri` est une chaîne qui représente l'identifiant du groupe d'utilisateurs
|
|
413
|
-
* pour lequel vous souhaitez récupérer les informations de contrôle. (ex: uuid:dcad14cc-5bcd-45fd-a54d-246b95047d45)
|
|
414
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
|
|
415
|
-
* requête HTTP sera terminée avec succès. Il prend un argument, qui correspond aux données de réponse
|
|
416
|
-
* de la requête.
|
|
417
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
418
|
-
* erreur lors de l'exécution de la fonction `readUserGroupControl`. Il vous permet de gérer et de
|
|
419
|
-
* répondre à toute erreur qui se produit.
|
|
420
|
-
*/
|
|
421
|
-
export function readUserGroupControl(
|
|
422
|
-
credentials,
|
|
423
|
-
uri,
|
|
424
|
-
onDone = undefined,
|
|
425
|
-
onError = undefined,
|
|
426
|
-
) {
|
|
427
|
-
const { space } = credentials;
|
|
428
|
-
const URI = "/3drdfpersist/resources/v1/usersgroup";
|
|
429
|
-
|
|
430
|
-
const url = `${space}${URI}/${uri}/sharing`;
|
|
431
|
-
|
|
432
|
-
const header = {
|
|
433
|
-
"Content-Type": "application/json",
|
|
434
|
-
Accept: "application/json,text/javascript,*/*",
|
|
435
|
-
};
|
|
436
|
-
const opts = {
|
|
437
|
-
method: "GET",
|
|
438
|
-
headers: header,
|
|
439
|
-
};
|
|
440
|
-
_httpCallAuthenticated(url, {
|
|
441
|
-
opts,
|
|
442
|
-
onComplete(_rep) {
|
|
443
|
-
if (onDone) onDone(JSON.parse(_rep));
|
|
444
|
-
},
|
|
445
|
-
onFailure(err) {
|
|
446
|
-
if (onError) onError(err);
|
|
447
|
-
},
|
|
448
|
-
});
|
|
449
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { _httpCallAuthenticated } from "./3dexperience_api.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @description La fonction `_AppMngt_get_users` effectue un appel HTTP authentifié pour récupérer une liste
|
|
5
|
-
* d'utilisateurs d'une plateforme spécifiée.
|
|
6
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
7
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
8
|
-
* @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, usersgroup, 3DCompass...)
|
|
9
|
-
* @param {String} credentials.tenant - L'identifiant du tenant sur lequel l'API est déployée.(ex: 1132100968447)
|
|
10
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque l'appel
|
|
11
|
-
* API sera terminé avec succès. Il prend un argument, « info », qui correspond aux données de réponse
|
|
12
|
-
* de l'API.
|
|
13
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
14
|
-
* erreur lors de la requête HTTP. Il est facultatif et peut être indéfini. S'il est fourni, il sera
|
|
15
|
-
* appelé avec l'objet de réponse comme argument.
|
|
16
|
-
*/
|
|
17
|
-
export function _AppMngt_get_users(
|
|
18
|
-
credentials,
|
|
19
|
-
onDone = undefined,
|
|
20
|
-
onError = undefined,
|
|
21
|
-
) {
|
|
22
|
-
let url = `${credentials.space}/resources/AppsMngt/user?platform=${credentials.tenant}&limit=-1`;
|
|
23
|
-
|
|
24
|
-
_httpCallAuthenticated(url, {
|
|
25
|
-
onComplete(response, headers, xhr) {
|
|
26
|
-
const info = JSON.parse(response);
|
|
27
|
-
console.log("_AppMngt_get_users => ", info);
|
|
28
|
-
if (onDone) onDone(info);
|
|
29
|
-
},
|
|
30
|
-
onFailure(response, headers) {
|
|
31
|
-
const info = response;
|
|
32
|
-
info["msg"] = headers.errormsg;
|
|
33
|
-
info["errCode"] = headers.errorcode;
|
|
34
|
-
|
|
35
|
-
if (onError) onError(info);
|
|
36
|
-
},
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* @description La fonction `_AppMngt_get_info_user` effectue un appel HTTP authentifié pour récupérer des
|
|
42
|
-
* informations sur un utilisateur à partir d'une plateforme spécifique.
|
|
43
|
-
* @param {Object} credentials - Un objet contenant les informations d'identification requises pour authentifier
|
|
44
|
-
* la demande. Il inclut généralement des propriétés telles que « token », « space », « tenant » et « ctx ».
|
|
45
|
-
* @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, usersgroup, 3DCompass...)
|
|
46
|
-
* @param {String} id - Le paramètre `id` est l'identifiant unique de l'utilisateur pour lequel vous souhaitez
|
|
47
|
-
* récupérer des informations.
|
|
48
|
-
* @param {Function} [onDone] - Le paramètre `onDone` est une fonction de rappel qui sera appelée lorsque la
|
|
49
|
-
* requête sera terminée avec succès. Il prend un argument, «info», qui correspond aux données de réponse du serveur.
|
|
50
|
-
*
|
|
51
|
-
* @param {Function} [onError] - Le paramètre `onError` est une fonction de rappel qui sera appelée s'il y a une
|
|
52
|
-
* erreur lors de la requête HTTP. Il est facultatif et peut être indéfini. S'il est fourni, il sera
|
|
53
|
-
* appelé avec le paramètre `response`, qui contient la réponse d'erreur du serveur.
|
|
54
|
-
*/
|
|
55
|
-
export function _AppMngt_get_info_user(
|
|
56
|
-
credentials,
|
|
57
|
-
id,
|
|
58
|
-
onDone = undefined,
|
|
59
|
-
onError = undefined,
|
|
60
|
-
) {
|
|
61
|
-
let url = `${credentials.space}/resources/AppsMngt/user?platform=${credentials.tenant}&id=${id}`;
|
|
62
|
-
|
|
63
|
-
_httpCallAuthenticated(url, {
|
|
64
|
-
onComplete(response, headers, xhr) {
|
|
65
|
-
const info = JSON.parse(response);
|
|
66
|
-
//console.log("_AppMngt_get_info_user => ", info);
|
|
67
|
-
if (onDone) onDone(info);
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
onFailure(response, headers) {
|
|
71
|
-
const info = response;
|
|
72
|
-
info["msg"] = headers.errormsg;
|
|
73
|
-
info["errCode"] = headers.errorcode;
|
|
74
|
-
|
|
75
|
-
if (onError) onError(info);
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { widget, requirejs } from "@widget-lab/3ddashboard-utils";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @description Cette fonction effectue un appel HTTP authentifié à l'aide de la bibliothèque WAFData en de la plateforme.
|
|
5
|
-
* @param {String} url - L'URL du point de terminaison de l'API que la fonction appellera.
|
|
6
|
-
* @param {object} options - Le paramètre `options` est un objet qui contient diverses options pour la requête
|
|
7
|
-
* HTTP, telles que la méthode de requête (GET, POST, etc.), les en-têtes, le corps, etc. Ces options
|
|
8
|
-
* sont généralement transmises à l'API `fetch` ou `XMLHttpRequest` pour effectuer la requête HTTP
|
|
9
|
-
* réelle.
|
|
10
|
-
*/
|
|
11
|
-
export function _httpCallAuthenticated(url, options) {
|
|
12
|
-
requirejs(["DS/WAFData/WAFData"], (WAFData) => {
|
|
13
|
-
WAFData.authenticatedRequest(url, options);
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @description Cette fonction définit un élément comme étant déplaçable et transmet des données et une fonction de
|
|
19
|
-
* rappel à exécuter lorsque le glissement commence (drag and drop).
|
|
20
|
-
* @param elem - L'élément HTML qui doit être rendu déplaçable.
|
|
21
|
-
* @param strData - strData est une chaîne qui représente les données associées à l'élément déplaçable.
|
|
22
|
-
* Ces données sont accessibles lors des opérations de glisser-déposer pour fournir des informations
|
|
23
|
-
* supplémentaires sur l'élément déplacé.
|
|
24
|
-
* @param onDrag - onDrag est une fonction de rappel qui sera exécutée au début de l'opération de
|
|
25
|
-
* glissement. Il peut être utilisé pour effectuer toutes les actions nécessaires avant le début de
|
|
26
|
-
* l'opération de glissement, telles que la configuration des données à transférer ou la mise à jour de
|
|
27
|
-
* l'apparence de l'élément déplaçable.
|
|
28
|
-
*/
|
|
29
|
-
export function _setDraggable(elem, strData, onDrag) {
|
|
30
|
-
requirejs(["DS/DataDragAndDrop/DataDragAndDrop"], (DataDragAndDrop) => {
|
|
31
|
-
DataDragAndDrop.draggable(elem, { data: strData, start: onDrag });
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @description Cette fonction configure un proxy de navigateur de balises avec des balises spécifiées et un événement de filtre facultatif.
|
|
37
|
-
*
|
|
38
|
-
* @param tags - Le paramètre tags est un tableau de chaînes représentant les balises qui seront
|
|
39
|
-
* utilisées pour filtrer les sujets dans le widget TagNavigatorProxy.
|
|
40
|
-
* @param [onTaggerFilter] - Le paramètre onTaggerFilter est une fonction de rappel qui sera exécutée
|
|
41
|
-
* lorsque l'utilisateur filtrera les sujets dans le tagger. Il recevra les sujets filtrés en argument.
|
|
42
|
-
*/
|
|
43
|
-
export function _setupTagger(tags, onTaggerFilter = undefined) {
|
|
44
|
-
requirejs(["DS/TagNavigatorProxy/TagNavigatorProxy"], (TagNavigatorProxy) => {
|
|
45
|
-
let taggerProxy;
|
|
46
|
-
if (taggerProxy === undefined) {
|
|
47
|
-
taggerProxy = TagNavigatorProxy.createProxy({
|
|
48
|
-
widgetId: widget.id,
|
|
49
|
-
filteringMode: "WithFilteringServices",
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
if (onTaggerFilter !== undefined)
|
|
53
|
-
taggerProxy.addEvent("onFilterSubjectsChange", onTaggerFilter);
|
|
54
|
-
}
|
|
55
|
-
taggerProxy.setSubjectsTags(tags);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Cette fonction définit un élément comme pouvant être déposé à l'aide de la bibliothèque
|
|
61
|
-
* DataDragAndDrop.
|
|
62
|
-
* @param elem - L'élément HTML qui doit être rendu déposable.
|
|
63
|
-
* @param drop - Le paramètre `drop` est une fonction qui sera appelée lorsqu'un élément déplaçable est
|
|
64
|
-
* déposé sur l'élément déplaçable. Il prend généralement l'élément supprimé comme argument et exécute
|
|
65
|
-
* une action basée sur celui-ci.
|
|
66
|
-
*/
|
|
67
|
-
export function _setDroppable(elem, drop) {
|
|
68
|
-
requirejs(["DS/DataDragAndDrop/DataDragAndDrop"], (DataDragAndDrop) => {
|
|
69
|
-
DataDragAndDrop.droppable(elem, { drop });
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @description Cette fonction obtient les services de la plateforme à l'aide de la bibliothèque i3DXCompassServices
|
|
75
|
-
* et appelle les fonctions onComplete ou onFailure en fonction du résultat.
|
|
76
|
-
* @param platformId - ID de la plate-forme pour laquelle les services sont demandés. Si aucun ID de
|
|
77
|
-
* plate-forme n'est fourni, la fonction tentera de récupérer l'ID à partir d'une valeur de widget. Si
|
|
78
|
-
* aucun ID n'est trouvé, il sera défini sur non défini.
|
|
79
|
-
* @param onComplete - Une fonction de rappel qui sera exécutée lorsque les services de la plateforme
|
|
80
|
-
* seront récupérés avec succès. Il prend les services de plateforme récupérés comme argument.
|
|
81
|
-
* @param onFailure - Le paramètre onFailure est une fonction de rappel qui sera exécutée en cas
|
|
82
|
-
* d'erreur ou d'échec dans l'exécution de la fonction getPlatformServices. Il permet de gérer les
|
|
83
|
-
* erreurs et de fournir un retour d'information approprié à l'utilisateur.
|
|
84
|
-
*/
|
|
85
|
-
export function _getPlatformServices(
|
|
86
|
-
platformId,
|
|
87
|
-
onComplete = undefined,
|
|
88
|
-
onFailure = undefined,
|
|
89
|
-
) {
|
|
90
|
-
requirejs(
|
|
91
|
-
["DS/i3DXCompassServices/i3DXCompassServices"],
|
|
92
|
-
(i3DXCompassServices) => {
|
|
93
|
-
if (!platformId || platformId === "") {
|
|
94
|
-
platformId = widget.getValue("PlatFormInstanceId");
|
|
95
|
-
}
|
|
96
|
-
if (!platformId || platformId === "") {
|
|
97
|
-
platformId = undefined;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
i3DXCompassServices.getPlatformServices({
|
|
101
|
-
platformId,
|
|
102
|
-
onComplete,
|
|
103
|
-
onFailure,
|
|
104
|
-
});
|
|
105
|
-
},
|
|
106
|
-
);
|
|
107
|
-
_getPlateformInfos();
|
|
108
|
-
if (onComplete) onComplete(_getPlateformInfos());
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* @description
|
|
113
|
-
* La fonction `_getPlateformInfos` récupère les informations sur la plateforme à l'aide du module
|
|
114
|
-
* PlatformAPI et renvoie les informations dans un objet.
|
|
115
|
-
* @returns un objet appelé "retourAPI" qui contient les propriétés suivantes :
|
|
116
|
-
* - {String} tenant, Le tenant de la plateforme sur lequel on travaille.
|
|
117
|
-
* - {Object} user, L'utilisateur connecté à la plateforme...
|
|
118
|
-
* - {ArrayOfObject} appsConfiguration, liste d'app auquel on accès.
|
|
119
|
-
* - {String} appConf
|
|
120
|
-
* - {String} widgetTenant, Le tenant de la plateforme sur lequel on travaille.
|
|
121
|
-
*/
|
|
122
|
-
export function _getPlateformInfos() {
|
|
123
|
-
const retourAPI = {};
|
|
124
|
-
|
|
125
|
-
requirejs(["DS/PlatformAPI/PlatformAPI"], (plAPI) => {
|
|
126
|
-
const tenant = plAPI.getTenant();
|
|
127
|
-
const user = plAPI.getUser();
|
|
128
|
-
const appsConfiguration = plAPI.getAllApplicationConfigurations();
|
|
129
|
-
const widgetTenant = plAPI.getWidgetTenant();
|
|
130
|
-
const appConf = plAPI.getApplicationConfiguration(
|
|
131
|
-
"com.3ds.wp.passport.cors",
|
|
132
|
-
);
|
|
133
|
-
retourAPI = {
|
|
134
|
-
tenant,
|
|
135
|
-
user,
|
|
136
|
-
appsConfiguration,
|
|
137
|
-
widgetTenant,
|
|
138
|
-
appConf,
|
|
139
|
-
};
|
|
140
|
-
});
|
|
141
|
-
console.log("%cRETOUR API :", "color:blue", retourAPI);
|
|
142
|
-
return retourAPI;
|
|
143
|
-
}
|