/
home
/
infinitibizsol
/
.trash
/
controllers.8
/
common
/
File Upload :
llllll
Current File: /home/infinitibizsol/.trash/controllers.8/common/socialMedia.js
import db from "../../model/index"; import AppError from "../../utils/apiError"; import catchAsync from "../../utils/catchAsync"; import { successResponse } from "../../utils/responseFormat"; 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." ); }); export default { index, add, edit, view, deleteData };
Copyright ©2k19 -
Hexid
|
Tex7ure