Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.5/contact/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.5/contact/employer.js

import mongoose from "mongoose";
import Employer from "../../model/employer";
import { successResponse, failedResponse } from "../../utils/responseFormat";

const index = async (req, res) => {
  try {
    const query = req.query;
    let allData = await Employer.find(query)
      .populate("contact_id", ["_id", "first_name"])
      .exec();

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

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

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

const view = async (req, res) => {
  try {
    let Contacts = await Employer.aggregate([
      {
        $match: {
          _id: mongoose.Types.ObjectId(req.params.id),
        },
      },
    ]);

    let contact = await Employer.findByIdAndUpdate({ _id: req.params.id });
    if (!contact) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(res, Contacts);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

    if (!deletedemployer) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(
      res,
      deletedemployer,
      "Employer 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