Sindbad~EG File Manager
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.PolicyInfo.findOne({ policy_id });
if (document) return true;
return false;
};
const index = catchAsync(async (req, res, next) => {
const query = req.query;
let allData = await db.PolicyInfo.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 policyInfo = new db.PolicyInfo(req.body);
await policyInfo.save();
return successResponse(res, policyInfo, "PolicyInfo saved successfully");
});
const edit = catchAsync(async (req, res, next) => {
let result = await db.PolicyInfo.findByIdAndUpdate(
{ _id: req.params.id },
{ $set: req.body },
{ new: true }
);
if (!result) {
return next(new AppError("No data found.", 404));
}
return successResponse(res, result, "PolicyInfo updated successfully");
});
const deleteData = catchAsync(async (req, res, next) => {
let policyInfo = await db.PolicyInfo.findByIdAndDelete({
_id: req.params.id,
});
if (!policyInfo) {
return next(new AppError("No data found.", 404));
}
return successResponse(res, policyInfo, "PolicyInfo deleted successfully");
});
export default { index, add, edit, deleteData };
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists