From 3cd1e571acf6da8e498e4ece0901978fa7289a47 Mon Sep 17 00:00:00 2001 From: Diptayan Jash Date: Thu, 16 Oct 2025 17:16:46 +0530 Subject: [PATCH] Refactor EmailDialogue component to use email instead of name; update API handler to validate email field --- .../Events/EmailDialogue/EmailDialogue.jsx | 36 +++++++------- pages/api/v1/certificates/index.js | 48 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/components/Events/EmailDialogue/EmailDialogue.jsx b/components/Events/EmailDialogue/EmailDialogue.jsx index d0a4fce..1815a58 100644 --- a/components/Events/EmailDialogue/EmailDialogue.jsx +++ b/components/Events/EmailDialogue/EmailDialogue.jsx @@ -4,18 +4,18 @@ import { toast, ToastContainer } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; const EmailDialogBox = ({ CertiOBJ, title, handelCloseModel }) => { - // const [formData, setFormData] = useState({ - // email: "", - // type: "", - // event: title - // }); - - //only for ossome hacks 2 const [formData, setFormData] = useState({ - name: "", + email: "", type: "", event: title }); + + //only for ossome hacks 2 + // const [formData, setFormData] = useState({ + // name: "", + // type: "", + // event: title + // }); const [emailError, setEmailError] = useState(""); const [certificate, setCertificate] = useState(null); const [isLoading, setIsLoading] = useState(false); @@ -29,7 +29,7 @@ const EmailDialogBox = ({ CertiOBJ, title, handelCloseModel }) => { }; const handleEmailChange = (event) => { - setFormData({ ...formData, name: event.target.value }); + setFormData({ ...formData, email: event.target.value }); }; const handleRoleChange = (event) => { @@ -38,10 +38,10 @@ const EmailDialogBox = ({ CertiOBJ, title, handelCloseModel }) => { const handleGetCertificate = async (e) => { e.preventDefault(); - // if (!validateEmail(formData.email)) { - // setEmailError("Please enter a valid SRMIST email address."); - // return; - // } + if (!validateEmail(formData.email)) { + setEmailError("Please enter a valid SRMIST email address."); + return; + } setEmailError(""); setIsButtonDisabled(true); try { @@ -117,15 +117,15 @@ const EmailDialogBox = ({ CertiOBJ, title, handelCloseModel }) => {
diff --git a/pages/api/v1/certificates/index.js b/pages/api/v1/certificates/index.js index 4d4fddc..8f75d23 100644 --- a/pages/api/v1/certificates/index.js +++ b/pages/api/v1/certificates/index.js @@ -7,24 +7,24 @@ DBInstance(); export default async function handler(req, res) { if (req.method === "POST") { - // const { email, event, type } = req.body; + const { email, event, type } = req.body; //only for ossome hacks 2 - const { name, event, type } = req.body; + // const { name, event, type } = req.body; - // if (!email || !event || !type) { - // return res - // .status(400) - // .json({ success: false, error: "All fields are required." }); - // } - - //only for ossome hacks 2 - if (!name || !event || !type) { + if (!email || !event || !type) { return res .status(400) .json({ success: false, error: "All fields are required." }); } + //only for ossome hacks 2 + // if (!name || !event || !type) { + // return res + // .status(400) + // .json({ success: false, error: "All fields are required." }); + // } + try { const eventData = await Event.findOne({ slug: event }); @@ -69,28 +69,28 @@ export default async function handler(req, res) { }); const User = db.model(eventData.collection[type], userSchema); - // const userData = await User.findOne({ email }); - - //only for ossome hacks 2 - const userData = await User.findOne({ - name: { $regex: new RegExp(`^${name}$`, 'i') } - }); - - // if (!userData || !userData.checkin) { - // return res.status(404).json({ - // success: false, - // error: `No certificate found for email: ${email}` - // }); - // } + const userData = await User.findOne({ email }); //only for ossome hacks 2 + // const userData = await User.findOne({ + // name: { $regex: new RegExp(`^${name}$`, 'i') } + // }); if (!userData) { return res.status(404).json({ success: false, - error: `No certificate found for name: ${name}` + error: `No certificate found for email: ${email}` }); } + + //only for ossome hacks 2 + + // if (!userData) { + // return res.status(404).json({ + // success: false, + // error: `No certificate found for name: ${name}` + // }); + // } // console.log("User data:", userData); const color =