Sindbad~EG File Manager

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

import Goals from "../../model/goals";
import { successResponse, failedResponse } from "../../utils/responseFormat";
import CustomError from "../../errors/index";
const index = async (req, res) => {
  try {
    const query = req.query;

    let allData = await Goals.find(query);

    return successResponse(res, allData);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

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

const view = async (req, res) => {
  try {
    let goals = await Goals.findOne({ _id: req.params.id });
    if (!goals) throw new CustomError.NotFoundError("No data found.");
    return successResponse(res, goals);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

const deleteData = async (req, res) => {
  try {
    const goal_id = req.params.id;
    // Delete the contact itself
    const deletedGoal = await Goals.findByIdAndDelete({ _id: goal_id });

    if (!deletedGoal) {
      return failedResponse({ res, error: "No data found." });
    }

    return successResponse(
      res,
      deletedGoal,
      "Goal and related data deleted successfully."
    );
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

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