Sindbad~EG File Manager

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

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

const index = async (req, res) => {
  try {
    const query = req.query;
    // let result = await Contact.find(query)
    // let totalRecords = await Contact.find(query).countDocuments()
    let allData = await XDates.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 linkedAccount = req.body;
    const result = new XDates(linkedAccount);
    await result.save();
    return successResponse(res, result, "XDates saved successfully.");
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

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

    let contact = await XDates.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 deletedcontact = await XDates.findByIdAndDelete({
      _id: contactId,
    });

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