Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.8/user/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.8/user/emailSetup.js

import db from "../../model/index";
import AppError from "../../utils/apiError";
import catchAsync from "../../utils/catchAsync";
import { successResponse, failedResponse } from "../../utils/responseFormat";
const index = catchAsync(async (req, res, next) => {
  let allData = await db.EmailSetup.find({ user_id: req.user._id })
    .populate("user_id", ["_id", "first_name", "last_name"])
    .exec();

  return successResponse(res, allData);
});

const add = catchAsync(async (req, res, next) => {
  const { provider, primary_email, password } = req.body;
  if ((!provider, !primary_email, !password)) {
    return failedResponse({
      res,
      error: "Provider,primary_email,password are required.",
    });
  }
  if (!req.body.user_id) {
    req.body.user_id = req.user._id;
  }
  const system = new db.EmailSetup(req.body);
  await system.save();
  return successResponse(res, system, "EmailSetup saved successfully", 201);
});

const edit = catchAsync(async (req, res, next) => {
  let result = await db.EmailSetup.findByIdAndUpdate(
    { _id: req.params.id },
    { $set: req.body },
    {
      new: true,
    }
  );
  if (!result) {
    return next(new AppError("No data found.", 404));
  }
  return successResponse(res, result, "EmailSetup updated successfully");
});

const deleteData = catchAsync(async (req, res, next) => {
  let lead = await db.EmailSetup.findByIdAndDelete({ _id: req.params.id });
  if (!lead) {
    return next(new AppError("No data found.", 404));
  }
  return successResponse(res, lead, "EmailSetup deleted successfully");
});

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

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