Sindbad~EG File Manager

Current Path : /home/infinitibizsol/.trash/controllers.8/policy/
Upload File :
Current File : /home/infinitibizsol/.trash/controllers.8/policy/contractorUnderwriting.js

import db from "../../model/index";
import AppError from "../../utils/apiError";
import catchAsync from "../../utils/catchAsync";
import { successResponse, failedResponse } from "../../utils/responseFormat";

const validateDuplicateEntry = async (policy_id) => {
  let document = await db.ContractorUnderwriting.findOne({ policy_id });
  if (document) return true;
  return false;
};

const index = catchAsync(async (req, res, next) => {
  const query = req.query;

  let allData = await db.ContractorUnderwriting.find(query);

  return successResponse(res, allData);
});

const add = catchAsync(async (req, res, next) => {
  const isDuplicate = await validateDuplicateEntry(req.body.policy_id);
  if (isDuplicate) {
    return next(new AppError("Duplicate entry is not allowed.", 404));
  }
  const contractorUnderwriting = new db.ContractorUnderwriting(req.body);
  await contractorUnderwriting.save();
  return successResponse(
    res,
    contractorUnderwriting,
    "ContractorUnderwriting saved successfully"
  );
});

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

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

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

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