@beam3_dev/api_module 0.0.3 → 0.0.5
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,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
|
-
};
|