@pristy/pristy-libvue 0.2.3
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/.gitlab-ci.yml +54 -0
- package/LICENSE +661 -0
- package/README.md +43 -0
- package/package.json +10 -0
- package/src/AlfrescoApi.js +68 -0
- package/src/AlfrescoFileService.js +62 -0
- package/src/AlfrescoNodeService.js +176 -0
- package/src/AlfrescoPermissionService.js +23 -0
- package/src/ErrorService.js +191 -0
- package/src/WorkspaceService.js +338 -0
- package/src/index.js +30 -0
- package/src/stores/user.js +169 -0
package/README.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Pristy Libvue
|
|
2
|
+
|
|
3
|
+
Packaging de Class JS ultra simple dans un node_module avec NPM.
|
|
4
|
+
Package scopé @pristy.
|
|
5
|
+
|
|
6
|
+
## Build en production
|
|
7
|
+
|
|
8
|
+
Pas de build, il s'agit d'un simple package de class JS.
|
|
9
|
+
|
|
10
|
+
Le package est publié sur la registry interne Nexus quand un tag est ajouté au commit.
|
|
11
|
+
|
|
12
|
+
Il n'est pas possible de modifier une version existante, il faut faire de nouvelle version dans le `package.json` .
|
|
13
|
+
## Développer avec Pristy-libvue
|
|
14
|
+
|
|
15
|
+
Ajouter le package `@pristy/pristy-libvue`.
|
|
16
|
+
Puis appeler les classes disponibles où c'est nécessaire. Attention il n'y pas de classe par défaut, il faut utiliser des {} dans l'import. Par exemple :
|
|
17
|
+
|
|
18
|
+
```vue
|
|
19
|
+
import { AlfrescoFileService } from "@pristy/pristy-libvue"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Modifier en local
|
|
24
|
+
|
|
25
|
+
1. Dans prity-libvue
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
npm link
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. Dans une application pristy- ...
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
npm link <repertoire local de pristy-libvue>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Le package pristy-libvue du package.json va être surchargé par la librairie locale.
|
|
38
|
+
|
|
39
|
+
## Versions
|
|
40
|
+
|
|
41
|
+
| Version | Commits |
|
|
42
|
+
|---------|:---------------------------------------------------------------------------------------|
|
|
43
|
+
| 0.1.4 | Première version stable |
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AlfrescoApi,
|
|
3
|
+
ContentApi,
|
|
4
|
+
NodesApi,
|
|
5
|
+
PeopleApi,
|
|
6
|
+
RenditionsApi,
|
|
7
|
+
SearchApi,
|
|
8
|
+
SitesApi,
|
|
9
|
+
UploadApi,
|
|
10
|
+
FavoritesApi
|
|
11
|
+
} from "@alfresco/js-api";
|
|
12
|
+
|
|
13
|
+
var _alfrescoApi = null;
|
|
14
|
+
export function alfrescoApi() {
|
|
15
|
+
return (
|
|
16
|
+
_alfrescoApi ??
|
|
17
|
+
new AlfrescoApi({
|
|
18
|
+
hostEcm: window.config["ALFRESCO_HOST"],
|
|
19
|
+
authType: window.config["ALFRESCO_AUTH"],
|
|
20
|
+
contextRoot: window.config["ALFRESCO_ROOT"],
|
|
21
|
+
})
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var _contentApi = null;
|
|
26
|
+
export function contentApi() {
|
|
27
|
+
return _contentApi ?? new ContentApi(alfrescoApi());
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
var _uploadApi = null;
|
|
31
|
+
export function uploadApi() {
|
|
32
|
+
return _uploadApi ?? new UploadApi(alfrescoApi());
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
var _renditionsApi = null;
|
|
36
|
+
export function renditionsApi() {
|
|
37
|
+
return _renditionsApi ?? new RenditionsApi(alfrescoApi());
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var _nodesApi = null;
|
|
41
|
+
export function nodesApi() {
|
|
42
|
+
return _nodesApi ?? new NodesApi(alfrescoApi());
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
var _sitesApi = null;
|
|
46
|
+
export function sitesApi() {
|
|
47
|
+
return _sitesApi ?? new SitesApi(alfrescoApi());
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var _searchApi = null;
|
|
51
|
+
export function searchApi() {
|
|
52
|
+
return _searchApi ?? new SearchApi(alfrescoApi());
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var _peopleApi = null;
|
|
56
|
+
export function peopleApi() {
|
|
57
|
+
return _peopleApi ?? new PeopleApi(alfrescoApi());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
var _favoritesApi = null;
|
|
61
|
+
export function favoritesApi() {
|
|
62
|
+
return _favoritesApi ?? new FavoritesApi(alfrescoApi());
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
var _trashcanApi = null;
|
|
66
|
+
export function trashcanApi() {
|
|
67
|
+
return _trashcanApi ?? new TrashcanApi(alfrescoApi());
|
|
68
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { contentApi, uploadApi, renditionsApi } from "./AlfrescoApi";
|
|
2
|
+
import ErrorService from "./ErrorService";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
var _errorService = null;
|
|
6
|
+
export function errorService() {
|
|
7
|
+
return (
|
|
8
|
+
_errorService ??
|
|
9
|
+
new ErrorService()
|
|
10
|
+
);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default class AlfrescoFileService {
|
|
14
|
+
getThumbnailUrl(nodeId) {
|
|
15
|
+
return contentApi().getDocumentThumbnailUrl(nodeId);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getPreviewUrl(nodeId) {
|
|
19
|
+
return contentApi().getDocumentPreviewUrl(nodeId);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getContentUrl(nodeId) {
|
|
23
|
+
return contentApi().getContentUrl(nodeId);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
uploadFile(nodeId, opts, file) {
|
|
27
|
+
return uploadApi()
|
|
28
|
+
.uploadFile(file, null, nodeId, null, opts)
|
|
29
|
+
.on("progress", (progress) => {
|
|
30
|
+
// console.log("Total :" + progress.total);
|
|
31
|
+
// console.log("Loaded :" + progress.loaded);
|
|
32
|
+
console.log("Percent :" + progress.percent);
|
|
33
|
+
})
|
|
34
|
+
.then(
|
|
35
|
+
(data) => {
|
|
36
|
+
// async call
|
|
37
|
+
this.createAllRendition(data.entry.id);
|
|
38
|
+
return data;
|
|
39
|
+
},
|
|
40
|
+
(error) => {
|
|
41
|
+
errorService().uploadFileError(error);
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
createRendition(nodeId, rendition) {
|
|
47
|
+
return renditionsApi().createRendition(nodeId, {
|
|
48
|
+
id: rendition,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
createAllRendition(nodeId) {
|
|
53
|
+
return renditionsApi().createRendition(nodeId, [
|
|
54
|
+
{
|
|
55
|
+
id: "doclib",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "imgpreview",
|
|
59
|
+
},
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { nodesApi } from "./AlfrescoApi";
|
|
2
|
+
import ErrorService from "./ErrorService";
|
|
3
|
+
|
|
4
|
+
var _errorService = null;
|
|
5
|
+
export function errorService() {
|
|
6
|
+
return (
|
|
7
|
+
_errorService ??
|
|
8
|
+
new ErrorService()
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default class AlfrescoNodeService {
|
|
13
|
+
getNode(id) {
|
|
14
|
+
const opts = {
|
|
15
|
+
include: ["isFavorite", "properties", "allowableOperations", "permissions"],
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
return nodesApi()
|
|
19
|
+
.getNode(id, opts)
|
|
20
|
+
.then((data) => {
|
|
21
|
+
return data.entry;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
createNode(id, opts) {
|
|
26
|
+
return nodesApi()
|
|
27
|
+
.createNode(id, opts)
|
|
28
|
+
.then(
|
|
29
|
+
(data) => {
|
|
30
|
+
return data;
|
|
31
|
+
},
|
|
32
|
+
(error) => {
|
|
33
|
+
errorService().createNodeError(error);
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getChildren(id) {
|
|
39
|
+
const opts = {
|
|
40
|
+
include: ["isFavorite", "properties", "allowableOperations", "permissions"],
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return nodesApi()
|
|
44
|
+
.listNodeChildren(id, opts)
|
|
45
|
+
.then((data) => {
|
|
46
|
+
let children = data.list.entries.map((data) => data.entry);
|
|
47
|
+
let documentLibrary = children.filter(
|
|
48
|
+
(child) => child.name == "documentLibrary"
|
|
49
|
+
)[0];
|
|
50
|
+
if (documentLibrary) {
|
|
51
|
+
return this.getChildren(documentLibrary.id).then((subChildren) => {
|
|
52
|
+
return {
|
|
53
|
+
documentLibrary: documentLibrary,
|
|
54
|
+
subChildren: subChildren,
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
return children;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
updateNode(id, opts) {
|
|
64
|
+
return nodesApi()
|
|
65
|
+
.updateNode(id, opts)
|
|
66
|
+
.then(
|
|
67
|
+
(data) => {
|
|
68
|
+
return data;
|
|
69
|
+
},
|
|
70
|
+
function (error) {
|
|
71
|
+
console.log("coucou");
|
|
72
|
+
errorService().updateNodeError(error);
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
deleteNode(id, type) {
|
|
78
|
+
const opts = {};
|
|
79
|
+
|
|
80
|
+
return nodesApi()
|
|
81
|
+
.deleteNode(id, opts)
|
|
82
|
+
.then(
|
|
83
|
+
(data) => {
|
|
84
|
+
return data;
|
|
85
|
+
},
|
|
86
|
+
function (error) {
|
|
87
|
+
errorService().deleteNodeError(error);
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
getParents(id) {
|
|
93
|
+
const opts = {
|
|
94
|
+
include: ["isFavorite", "properties"],
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
return nodesApi()
|
|
98
|
+
.listParents(id, opts)
|
|
99
|
+
.then((data) => {
|
|
100
|
+
let parents = data.list.entries.map((data) => data.entry);
|
|
101
|
+
let documentLibrary = parents[0];
|
|
102
|
+
if (documentLibrary && documentLibrary.name == "documentLibrary") {
|
|
103
|
+
return this.getParents(documentLibrary.id).then((supParent) => {
|
|
104
|
+
return {
|
|
105
|
+
documentLibrary: documentLibrary,
|
|
106
|
+
supParent: supParent,
|
|
107
|
+
};
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
return parents[0];
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
updateContentNode(id, file) {
|
|
116
|
+
return nodesApi()
|
|
117
|
+
.updateNodeContent(id, file)
|
|
118
|
+
.then(
|
|
119
|
+
(data) => {
|
|
120
|
+
return data;
|
|
121
|
+
},
|
|
122
|
+
function (error) {
|
|
123
|
+
errorService().updateContentNodeError(error);
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
copyNode(id, destination, name){
|
|
129
|
+
const nodeBody = name != null ? {
|
|
130
|
+
targetParentId: destination,
|
|
131
|
+
name: name,
|
|
132
|
+
} : {
|
|
133
|
+
targetParentId: destination,
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
const opts = {
|
|
137
|
+
include: ["path"],
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
return nodesApi()
|
|
141
|
+
.copyNode(id, nodeBody, opts)
|
|
142
|
+
.then(
|
|
143
|
+
(data) => {
|
|
144
|
+
return data;
|
|
145
|
+
},
|
|
146
|
+
function (error) {
|
|
147
|
+
errorService().copyNodeError(error);
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
moveNode(id, destination, name){
|
|
153
|
+
const nodeBody = name != null ? {
|
|
154
|
+
targetParentId: destination,
|
|
155
|
+
name: name,
|
|
156
|
+
} : {
|
|
157
|
+
targetParentId: destination,
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
const opts = {
|
|
161
|
+
include: ["path"],
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
return nodesApi()
|
|
165
|
+
.moveNode(id, nodeBody, opts)
|
|
166
|
+
.then(
|
|
167
|
+
(data) => {
|
|
168
|
+
return data;
|
|
169
|
+
},
|
|
170
|
+
function (error) {
|
|
171
|
+
errorService().moveNodeError(error);
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// import { ContentApi, UploadApi, RenditionsApi } from "@alfresco/js-api";
|
|
2
|
+
// import { useUserStore } from "../stores/user";
|
|
3
|
+
|
|
4
|
+
/* Service permettant la gestion des invitations et des liens de partage.
|
|
5
|
+
*
|
|
6
|
+
* Liens de partage
|
|
7
|
+
*/
|
|
8
|
+
export default class AlfrescoPermissionService {
|
|
9
|
+
getPublicLink() {
|
|
10
|
+
// Recupère le liens publique de l'espace de travaille
|
|
11
|
+
// Voir métadonnées avec Cindy
|
|
12
|
+
// <serveur>:<port>/<app>/p/<key>
|
|
13
|
+
// Il faut récupérer la
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
createPublicLink() {
|
|
17
|
+
// Créer le liens publique de l'espace de travaille
|
|
18
|
+
// 1. Créer un utilisateur caché username="_public_<rand 16c>" avec mdp password="<rand 16c>"
|
|
19
|
+
// 2. Création d'un hash similaire au hashmac : base64(<format>|<username>|<password>)
|
|
20
|
+
// Format=1
|
|
21
|
+
// <serveur>:<port>/<app>/p/<key>
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
export default class ErrorService {
|
|
2
|
+
|
|
3
|
+
uploadFileError(error){
|
|
4
|
+
let message;
|
|
5
|
+
switch (error.status) {
|
|
6
|
+
case 400:
|
|
7
|
+
message = "Les paramètres de la requête sont invalides.";
|
|
8
|
+
break;
|
|
9
|
+
case 403:
|
|
10
|
+
message = "Vous n'avez pas les droits pour créer un fichier.";
|
|
11
|
+
break;
|
|
12
|
+
case 404:
|
|
13
|
+
message = "Impossible de trouver le dossier parent.";
|
|
14
|
+
break;
|
|
15
|
+
case 409:
|
|
16
|
+
message = "Le fichier " + file.name + " existe déjà.";
|
|
17
|
+
break;
|
|
18
|
+
case 413:
|
|
19
|
+
message =
|
|
20
|
+
"Le contenu dépasse la limite de taille de fichier individuelle configurée pour le réseau ou le système";
|
|
21
|
+
break;
|
|
22
|
+
case 415:
|
|
23
|
+
message = "Le type du contenu du noeud n'est pas supporté.";
|
|
24
|
+
break;
|
|
25
|
+
case 422:
|
|
26
|
+
message =
|
|
27
|
+
"Exception d'intégrité du modèle incluant un nom de fichier contenant des caractères non valides.";
|
|
28
|
+
break;
|
|
29
|
+
case 507:
|
|
30
|
+
message =
|
|
31
|
+
"Le contenu dépasse la limite de quota de stockage globale configurée pour le réseau ou le système.";
|
|
32
|
+
break;
|
|
33
|
+
default:
|
|
34
|
+
message = error.message;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(message);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
createNodeError(error){
|
|
40
|
+
let message;
|
|
41
|
+
switch (error.status) {
|
|
42
|
+
case 400:
|
|
43
|
+
message = "Le nom choisi est invalide.";
|
|
44
|
+
break;
|
|
45
|
+
case 409:
|
|
46
|
+
message = "Le nom choisi est déjà existant.";
|
|
47
|
+
break;
|
|
48
|
+
case 422:
|
|
49
|
+
message = "Le nom choisi ne respecte pas le format requis.";
|
|
50
|
+
break;
|
|
51
|
+
default:
|
|
52
|
+
message = error.message;
|
|
53
|
+
}
|
|
54
|
+
throw new Error(message);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
updateNodeError(error){
|
|
58
|
+
let message;
|
|
59
|
+
switch (error.status) {
|
|
60
|
+
case 400:
|
|
61
|
+
message = "Le nom choisi est invalide.";
|
|
62
|
+
break;
|
|
63
|
+
case 409:
|
|
64
|
+
message = "Le nom choisi est déjà existant.";
|
|
65
|
+
break;
|
|
66
|
+
case 422:
|
|
67
|
+
message = "Le nom choisi ne respecte pas le format requis.";
|
|
68
|
+
break;
|
|
69
|
+
default:
|
|
70
|
+
message = error.message;
|
|
71
|
+
}
|
|
72
|
+
throw new Error(message);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
deleteNodeError(error){
|
|
76
|
+
let message;
|
|
77
|
+
switch (error.status) {
|
|
78
|
+
case 403:
|
|
79
|
+
message =
|
|
80
|
+
"Vous n'avez pas la permission de supprimer ce " + type + ".";
|
|
81
|
+
break;
|
|
82
|
+
case 404:
|
|
83
|
+
message = "Le " + type + " à supprimer n'existe pas.";
|
|
84
|
+
break;
|
|
85
|
+
case 409:
|
|
86
|
+
message =
|
|
87
|
+
"Vous ne pouvez pas supprimer ce " +
|
|
88
|
+
type +
|
|
89
|
+
", ce dernier est vérouillé.";
|
|
90
|
+
break;
|
|
91
|
+
default:
|
|
92
|
+
message = error.message;
|
|
93
|
+
}
|
|
94
|
+
throw new Error(message);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
updateContentNodeError(error) {
|
|
98
|
+
let message;
|
|
99
|
+
switch (error.status) {
|
|
100
|
+
case 400:
|
|
101
|
+
message = "Le type du contenu du noeud n'est pas supporté.";
|
|
102
|
+
break;
|
|
103
|
+
case 403:
|
|
104
|
+
message = "Vous n'avez pas la permission pour mettre à jour.";
|
|
105
|
+
break;
|
|
106
|
+
case 404:
|
|
107
|
+
message = "Impossible d'update un fichier inexistant.";
|
|
108
|
+
break;
|
|
109
|
+
case 409:
|
|
110
|
+
message = "Le nom du fichier est déjà existant.";
|
|
111
|
+
break;
|
|
112
|
+
case 413:
|
|
113
|
+
message =
|
|
114
|
+
"Le contenu dépasse la taille limite individuelle de fichier configurée pour le réseau ou le système.";
|
|
115
|
+
break;
|
|
116
|
+
case 422:
|
|
117
|
+
message =
|
|
118
|
+
"Exception d'intégrité du modèle incluant un nom de fichier contenant des caractères non valides.";
|
|
119
|
+
break;
|
|
120
|
+
case 507:
|
|
121
|
+
message =
|
|
122
|
+
"Le contenu dépasse la limite de quota de stockage globale configurée pour le réseau ou le système.";
|
|
123
|
+
break;
|
|
124
|
+
default:
|
|
125
|
+
message = error.message;
|
|
126
|
+
}
|
|
127
|
+
throw new Error(message);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
copyNodeError(error){
|
|
131
|
+
let message;
|
|
132
|
+
switch (error.status) {
|
|
133
|
+
case 403:
|
|
134
|
+
message = "Vous n'avez pas la permission pour copier cet élément";
|
|
135
|
+
break;
|
|
136
|
+
case 404:
|
|
137
|
+
message = "Impossible de copier un élément inexistant.";
|
|
138
|
+
break;
|
|
139
|
+
case 409:
|
|
140
|
+
message = "Le nom de l'élément entre en conflit avec un élément existant au même endroit.";
|
|
141
|
+
break;
|
|
142
|
+
case 422:
|
|
143
|
+
message =
|
|
144
|
+
"Exception d'intégrité du modèle incluant un nom d'élément contenant des caractères non valides.";
|
|
145
|
+
break;
|
|
146
|
+
default:
|
|
147
|
+
message = error.message;
|
|
148
|
+
}
|
|
149
|
+
throw new Error(message);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
moveNodeError(error){
|
|
153
|
+
let message;
|
|
154
|
+
switch (error.status) {
|
|
155
|
+
case 400 :
|
|
156
|
+
message = "Vous ne pouvez pas déplacer l'élément à l'endroit ou il se trouve.";
|
|
157
|
+
case 403:
|
|
158
|
+
message = "Vous n'avez pas la permission pour déplacer cet élément";
|
|
159
|
+
break;
|
|
160
|
+
case 404:
|
|
161
|
+
message = "Impossible de déplacer un élément inexistant.";
|
|
162
|
+
break;
|
|
163
|
+
case 409:
|
|
164
|
+
message = "Le nom de l'élément entre en conflit avec un élément existant au même endroit.";
|
|
165
|
+
break;
|
|
166
|
+
case 422:
|
|
167
|
+
message =
|
|
168
|
+
"Exception d'intégrité du modèle incluant un nom d'élément contenant des caractères non valides.";
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
message = error.message;
|
|
172
|
+
}
|
|
173
|
+
throw new Error(message);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function loginError(data){
|
|
178
|
+
let message;
|
|
179
|
+
let error = JSON.parse(data.message).error;
|
|
180
|
+
switch (error.statusCode) {
|
|
181
|
+
case 401:
|
|
182
|
+
message = "L'authentification à échoué";
|
|
183
|
+
break;
|
|
184
|
+
case 403:
|
|
185
|
+
message = "Le nom d'utilisateur ou mot de passe incorrect.";
|
|
186
|
+
break;
|
|
187
|
+
default:
|
|
188
|
+
message = error.message;
|
|
189
|
+
}
|
|
190
|
+
throw new Error(message);
|
|
191
|
+
}
|