Sindbad~EG File Manager

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

import Address from "../../model/address";
import { successResponse, failedResponse } from "../../utils/responseFormat";

const index = async (req, res) => {
  //query={contact_id:?} or {user_id:?}

  try {
    const query = req.query;
    query.user_id = query.contact_id ? undefined : req.user._id;
    let allData = await Address.find(query, {
      __v: 0,
      createdOn: 0,
      modifiedOn: 0,
    })
      .populate("user_id", ["_id", "first_name", "last_name"])
      .populate("contact_id", ["_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.body.contact_id) {
      req.body.user_id = req.user._id;
    }
    const address = new Address(req.body);
    await address.save();
    return successResponse(res, address, "Address saved successfully", 201);
  } catch (error) {
    return failedResponse({ res, error: error.message });
  }
};

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

const deleteData = async (req, res) => {
  try {
    let lead = await Address.findByIdAndDelete({ _id: req.params.id });
    if (!lead) {
      return failedResponse({ res, error: "No data found." });
    }
    return successResponse(
      res,
      lead,
      "Address and related data 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