浏览代码

Modification du type des requetes HTTP + ajout rename dans router

Loquicom 5 年之前
父节点
当前提交
16a3d31709
共有 2 个文件被更改,包括 69 次插入50 次删除
  1. 63 44
      node/src/router.js
  2. 6 6
      readme.md

+ 63 - 44
node/src/router.js

@@ -102,46 +102,7 @@ const router = class Router {
     /* --- Definitions des routes --- */
 
     newFile(user, file, data, res) {
-        let promise, filename;
-        // Si on sauvegarde les données dans des fichiers, generation du chemin
-        if (global.storage === 'file') {
-            let hash = Date.now() + '-' + req.body.user + '-' + req.params.file;
-            hash = crypto.createHash('md5').update(hash).digest('base64');
-            hash = hash.replace(/=/g, '').replace(/\//g, '');
-            filename = './data/' + hash + '.fdata';
-            promise = db.addFile(user, file, filename);
-        }
-        // Sinon om met directement en base
-        else {
-            promise = db.addFile(user, file, data);
-        }
-        if (promise === false) {
-            res.json(error(ERR_REQUEST));
-            return;
-        }
-        promise.then((fileId) => {
-            if (fileId === false) {
-                res.json(ERR_SERV);
-            } else {
-                // Si en mode fichier stockage dans un fichier
-                if ((global.storage === 'file')) {
-                    fs.writeFile(filename, data, (err) => {
-                        if (err) {
-                            if (global.verbose) {
-                                console.error(err);
-                            }
-                            res.json(error(ERR_SERV));
-                        } else {
-                            res.json(success({fileId: fileId, fileName: file}));
-                        }
-                    });
-                }
-                // Le fichier est directement sauvegarder en base
-                else {
-                    res.json(success({fileId: fileId, fileName: file}));
-                }
-            }
-        });
+
     }
 
     saveFile() {
@@ -190,7 +151,7 @@ const router = class Router {
             });
         }]);
 
-        this.app.post('/token', [this.verbose, (req, res) => {
+        this.app.get('/token', [this.verbose, (req, res) => {
             if (req.body.user === undefined || req.body.token === undefined) {
                 res.json(error(ERR_REQUEST));
                 return;
@@ -198,7 +159,7 @@ const router = class Router {
             res.json(success({valid: auth.verify(req.body.user, req.body.token)}));
         }]);
 
-        this.app.post('/list', [this.verbose, this.verifyAuth, (req, res) => {
+        this.app.get('/list', [this.verbose, this.verifyAuth, (req, res) => {
             const promise = db.listFile(req.body.user);
             if (promise === false) {
                 res.json(error(ERR_REQUEST));
@@ -216,7 +177,7 @@ const router = class Router {
             });
         }]);
 
-        this.app.post('/get/:file', [this.verbose, this.verifyAuth, (req, res) => {
+        this.app.get('/:file', [this.verbose, this.verifyAuth, (req, res) => {
             const promise = db.getFile(req.body.user, req.params.file);
             if (promise === false) {
                 res.json(error(ERR_REQUEST));
@@ -253,7 +214,57 @@ const router = class Router {
             });
         }]);
 
-        this.app.post('/save/:file?', [this.verbose, this.verifyAuth, (req, res) => {
+        this.app.post('/save', [this.verbose, this.verifyAuth, (req, res) => {
+            const user = req.body.user;
+            const file = req.body.file;
+            const data = req.body.data;
+            let promise, filename;
+            // Si on sauvegarde les données dans des fichiers, generation du chemin
+            if (global.storage === 'file') {
+                let hash = Date.now() + '-' + req.body.user + '-' + req.params.file;
+                hash = crypto.createHash('md5').update(hash).digest('base64');
+                hash = hash.replace(/=/g, '').replace(/\//g, '');
+                filename = './data/' + hash + '.fdata';
+                promise = db.addFile(user, file, filename);
+            }
+            // Sinon om met directement en base
+            else {
+                promise = db.addFile(user, file, data);
+            }
+            if (promise === false) {
+                res.json(error(ERR_REQUEST));
+                return;
+            }
+            promise.then((fileId) => {
+                if (fileId === false) {
+                    res.json(ERR_SERV);
+                } else {
+                    // Si en mode fichier stockage dans un fichier
+                    if ((global.storage === 'file')) {
+                        fs.writeFile(filename, data, (err) => {
+                            if (err) {
+                                if (global.verbose) {
+                                    console.error(err);
+                                }
+                                res.json(error(ERR_SERV));
+                            } else {
+                                res.json(success({fileId: fileId, fileName: file}));
+                            }
+                        });
+                    }
+                    // Le fichier est directement sauvegarder en base
+                    else {
+                        res.json(success({fileId: fileId, fileName: file}));
+                    }
+                }
+            });
+        }]);
+
+        this.app.put('/save/:file', [this.verbose, this.verifyAuth, (req, res) => {
+
+        }]);
+
+        /*this.app.post('/save/:file?', [this.verbose, this.verifyAuth, (req, res) => {
             if (req.params.file === undefined) {
                 if (req.body.file === undefined || req.body.data === undefined) {
                     res.json(error(ERR_REQUEST));
@@ -267,6 +278,14 @@ const router = class Router {
                     this.saveFile(req.body.user, req.body.data, res);
                 }
             }
+        }]);*/
+
+        this.app.post('/rename/:file', [this.verbose, this.verifyAuth, (req, res) => {
+
+        }]);
+
+        this.app.delete('/:file', [this.verbose, this.verifyAuth, (req, res) => {
+
         }]);
 
     }

+ 6 - 6
readme.md

@@ -87,7 +87,7 @@ Reponse :
 
 ------
 
-`POST /token`
+`GET /token`
 
 Permet de tester la validitée d'un jeton émit lors de la connexion
 
@@ -111,7 +111,7 @@ Reponse :
 
 ------
 
-`POST /list`
+`GET /list`
 
 Liste les fichiers disponible pour l'utilisateur. La valeur token n'est necessaire que si l'authentification est activée.
 
@@ -136,7 +136,7 @@ Reponse :
 
 ------
 
-`POST /get/{fileId}`
+`GET /{fileId}`
 
 Récupère un fichier. Remplacer {file} par l'id du fichier à récupèrer. La valeur token n'est necessaire que si l'authentification est activée.
 
@@ -189,7 +189,7 @@ Reponse :
 
 ------
 
-`POST /save/{fileId}`
+`PUT /save/{fileId}`
 
 Sauvegarde un fichier. Remplacer {fileId} par l'id du fichier à sauvegarder. La valeur token n'est necessaire que si l'authentification est activée.
 
@@ -241,9 +241,9 @@ Reponse :
 
 ------
 
-`DELETE  /delete/{file}`
+`DELETE  /{fileId}`
 
-Supprime un fichier. Remplacer {file} par l'id du fichier à récupèrer. La valeur token n'est necessaire que si l'authentification est activée.
+Supprime un fichier. Remplacer {fileId} par l'id du fichier à récupèrer. La valeur token n'est necessaire que si l'authentification est activée.
 
 Le champ user correspond au nom de l'utilisateur