/**
 *   УДАЛЕНИЕ ФАЙЛА, ЗАГРУЖЕННОГО ПОЛЬЗОВАТЕЛЕМ
 *   Copyright © 2021, А.М.Гольдин. ISC license
 */
"use strict";

// Возвращает success или none
// fullName - это имя файла типа kjhg65j/12.svg
//     user - это данные клиента [3, "ivanov", "Иванов", "Ян", "Карлович"]
module.exports = async (fullName, user) => {
   try {
      if (!/^\w+\/\d+\.(jpg|png|svg)$/.test(fullName)) return "none";

      // Промисификатор коллбэка удаления файла
      const deleteFile = path => {
         return new Promise((resolve, reject) => {
            fs.rm(__dirname + "/../draft/" + path, e => {
               if (e) reject("none"); else resolve("success");
            })
         })
      };

      // Является ли юзер автором статьи?
      let id = fullName.split('/')[0];
      let res = await dbFind("articles", {_id: id});
      if (!res.length) return "none";      
      if (res[0].us !== user[1]) return "none";

      // Удаляем файл
      let success = await deleteFile(fullName);
      return success;
   }
   catch(e) {return "none";}
};
