import { createEnquiry, updateEnquiry, getAllEnquiries, getEnquiryByQuery, aggregateEnquiry, } from "../models/Enquiry/operations"; import dayjs from "dayjs"; export const createEnquiryController = async (req, res) => { try { const { user } = res.locals; const enquiry = await createEnquiry({ ...req.body, createdBy: user.id }); return res.json({ result: enquiry }); } catch (error) { console.log("createEnquiryController Error", error); next(error); } }; export const getMyEnquiriesController = async (req, res, next) => { try { const { user } = res.locals; const enquiries = getAllEnquiries({ createdBy: user.id }); return res.json({ result: enquiries }); } catch (error) { console.log("getMyEnquiriesController Error", error); next(error); } }; export const getAllPendingEnquiriesController = async (req, res, next) => { try { const enquiries = await getAllEnquiries({ status: "CREATED" }); return res.json({ result: enquiries }); } catch (error) { console.log("getAllPendingEnquiriesController Error", error); next(error); } }; export const getAllConfirmedEnquiriesController = async (req, res, next) => { try { const enquiries = await getAllEnquiries({ status: "CONFIRMED" }); return res.json({ result: enquiries }); } catch (error) { console.log("getAllConfirmedEnquiriesController Error", error); next(error); } }; export const updateEnquiryStatusController = async (req, res, next) => { try { const { id } = req.params; const { status } = req.body; const enquiry = await updateEnquiry(id, { status }); return res.json({ result: enquiry }); } catch (error) { console.log("updateEnquiryStatusController Error", error); next(error); } }; export const addRemarkToEnquiryController = async (req, res, next) => { try { const { id } = req.params; const { remark, type, createdBy } = req.body; const enquiry = await updateEnquiry(id, { $push: { remarks: { remark, type, createdBy, createdOn: dayjs().toISOString(), }, }, }); return res.json({ result: enquiry }); } catch (error) { console.log("addRemarkToEnquiryController Error", error); next(error); } }; export const getEnquiryByIdController = async (req, res, next) => { try { const { id } = req.params; const enquiry = await getEnquiryById(id); return res.json({ result: enquiry }); } catch (error) { console.log("getEnquiryByIdController Error", error); next(error); } };