瀏覽代碼

Ajout renommage de fichier

Loquicom 5 年之前
父節點
當前提交
014221580f
共有 3 個文件被更改,包括 39 次插入1 次删除
  1. 20 0
      node/src/db.js
  2. 16 1
      node/src/router.js
  3. 3 0
      node/src/sql.js

+ 20 - 0
node/src/db.js

@@ -200,6 +200,26 @@ Db.prototype.updateFile = function (username, fileId, data) {
     return true;
 };
 
+Db.prototype.renameFile = function (username, fileId, name) {
+    if (typeof username !== 'string' || typeof fileId !== 'string' || typeof name !== 'string') {
+        return false;
+    }
+    // Met à jour le nom du fichier
+    return new Promise((resolve, reject) => {
+        this.fileExist(username, fileId).then((result) => {
+            if (result) {
+                this._execute(sql.renameFile, [name, fileId]);
+                resolve(true);
+            } else {
+                if (gobal.verbose) {
+                    console.info(`File ${fileId} for user ${username} not found`);
+                }
+                resolve(false);
+            }
+        });
+    });
+};
+
 Db.prototype._execute = function (sql, params) {
     try {
         if (params !== undefined && params !== null) {

+ 16 - 1
node/src/router.js

@@ -322,7 +322,22 @@ const router = class Router {
     }
 
     renameFile(req, res) {
-
+        if (req.body.name === undefined || req.params.file === undefined) {
+            res.json(error(ERR_REQUEST));
+            return;
+        }
+        let promise = db.renameFile(req.body.user, req.params.file, req.body.name);
+        if (promise === false) {
+            res.json(error(ERR_REQUEST));
+            return;
+        }
+        promise.then((result) => {
+            if (result) {
+                res.json(success({fileId: req.params.file, filename: req.body.name}));
+            } else {
+                res.json(error(ERR_UNKNOW));
+            }
+        });
     }
 
     deleteFile(req, res) {

+ 3 - 0
node/src/sql.js

@@ -65,3 +65,6 @@ module.exports.updateFile = 'UPDATE FILE SET fi_data = ? WHERE fi_hash = ?;';
 
 // Recupère le derniere id ajouté
 module.exports.lastId = 'SELECT last_insert_rowid() as lastId;';
+
+// Modifie le nom du fichier
+module.exports.renameFile = 'UPDATE FILE SET fi_name = lower(?) WHERE fi_hash = ?';