Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.5/common/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.5/common/file.js

import Files from "../../model/file";
import { successResponse, failedResponse } from "../../utils/responseFormat";

const index = async (req, res) => {
  try {
    const query = req.query;

    let allData = await Files.find()
      .populate("created_by", ["_id", "first_name", "last_name"])
      .exec();
    return successResponse(res, allData);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const add = async (req, res) => {
  try {
    if (!req.file.filename) {
      return failedResponse({ res, error: "Document must be provided." });
    }
    req.body.files = req.file.filename;
    const files = new Files(req.body);
    await files.save();
    return successResponse(res, files, "File saved successfully", 201);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const edit = async (req, res) => {
  try {
    if (req.file) {
      req.body.files = req.file.filename;
    }
    let result = await Files.findByIdAndUpdate(
      { _id: req.params.id },
      { $set: req.body },
      { new: true }
    );
    if (!result) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(res, result, "File updated successfully");
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const deleteData = async (req, res) => {
  try {
    let lead = await Files.findByIdAndDelete({ _id: req.params.id });
    if (!lead) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(res, lead, "File deleted successfully");
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

export default { index, add, edit, deleteData };

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists