Sindbad~EG File Manager
let db,AppError,catchAsync,successResponse;_ed2.x([["default",()=>_ed2.o]]);_ed2.w("../../model/index",[["default",["db"],function(v){db=v}]]);_ed2.w("../../utils/apiError",[["default",["AppError"],function(v){AppError=v}]]);_ed2.w("../../utils/catchAsync",[["default",["catchAsync"],function(v){catchAsync=v}]]);_ed2.w("../../utils/responseFormat",[["successResponse",["successResponse"],function(v){successResponse=v}]]);
const validateDuplicateEntry = async (query) => {
let document = await db.SocialMedia.findOne(query);
if (document) return true;
return false;
};
const index = catchAsync(async (req, res, next) => {
const query = req.query;
query.user_id = query.contact_id ? undefined : req.user._id;
let allData = await db.SocialMedia.find(query);
return successResponse(res, allData);
});
const add = catchAsync(async (req, res, next) => {
let { contact_id } = req.body;
let user_id = contact_id ? undefined : req.user._id;
req.body.user_id = user_id;
const isDuplicate = await validateDuplicateEntry({ contact_id, user_id });
if (isDuplicate) {
return next(new AppError("Duplicate entry is not allowed.", 404));
}
const socialMedia = new db.SocialMedia(req.body);
await socialMedia.save();
return successResponse(res, socialMedia, "socialMedia saved successfully.");
});
const edit = catchAsync(async (req, res, next) => {
const socialMedia_id = req.params.id;
const result = await db.SocialMedia.findByIdAndUpdate(
{ _id: socialMedia_id },
{
$set: req.body,
},
{
new: true,
}
);
if (!result) {
return next(new AppError("No data found.", 404));
}
return successResponse(res, result, "Social Media updated successfully.");
});
const view = catchAsync(async (req, res, next) => {
let socialMedia = await db.SocialMedia.findOne({ _id: req.params.id });
if (!socialMedia) {
return next(new AppError("No data found.", 404));
}
return successResponse(res, socialMedia);
});
const deleteData = catchAsync(async (req, res, next) => {
const socialMedia_id = req.params.id;
const lead = await db.SocialMedia.findByIdAndDelete({
_id: socialMedia_id,
});
if (!lead) {
return next(new AppError("No data found.", 404));
}
return successResponse(
res,
lead,
"social-media and related data deleted successfully."
);
});
_ed2.d({ index, add, edit, view, deleteData });
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists