Sindbad~EG File Manager

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

import Tasks from "../../model/tasks";
import { successResponse, failedResponse } from "../../utils/responseFormat";
import CustomError from "../../errors/index";

const index = async (req, res) => {
  try {
    const query = req.query;
    let allData = await Tasks.find()
      .populate("contact_id", ["_id", "first_name", "last_name"])
      .populate("created_by", ["_id", "first_name", "last_name"]);
    let totalRecords = allData.length;
    return successResponse(res, allData);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const add = async (req, res) => {
  try {
    const tasks = new Tasks(req.body);
    await tasks.save();
    return successResponse(res, tasks, "Task saved successfully");
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const view = async (req, res) => {
  try {
    let tasks = await Tasks.findOne({ _id: req.params.id })
      .populate("created_by", ["_id", "first_name", "last_name"])
      .populate("assigned_to", ["_id", "first_name", "last_name"])
      .populate("contact_id", ["_id", "first_name", "last_name"]);

    if (!tasks) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(res, tasks);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

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

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

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