From 7c9fb02c33ea4f2d40f14aa51306cc431ed3f8ef Mon Sep 17 00:00:00 2001 From: kanak-bansal Date: Fri, 3 Jul 2026 10:33:59 +0530 Subject: [PATCH] perf(auth): optimize backend auth performance --- server/config/nodeMailer.js | 2 ++ server/controllers/authControllers.js | 5 +++-- server/middleware/userAuth.js | 14 ++------------ server/server.js | 21 ++++++++++----------- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/server/config/nodeMailer.js b/server/config/nodeMailer.js index 5273f38..e79222b 100644 --- a/server/config/nodeMailer.js +++ b/server/config/nodeMailer.js @@ -6,6 +6,8 @@ const transporter = nodemailer.createTransport({ host: "smtp-relay.brevo.com", port: 587, secure: false, // Must be false for port 587 + pool: true, + maxConnections: 5, auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS, diff --git a/server/controllers/authControllers.js b/server/controllers/authControllers.js index 7eee77a..6d4db7a 100644 --- a/server/controllers/authControllers.js +++ b/server/controllers/authControllers.js @@ -41,9 +41,10 @@ export const register = async (req, res) => { subject: "Welcome to MeetOnMemory!", text: `Welcome to MeetOnMemory, ${name}! Your account has been successfully created.`, }; - await transporter.sendMail(mailOptions); + res.json({ success: true, message: "Registration successful" }); - return res.json({ success: true, message: "Registration successful" }); + transporter.sendMail(mailOptions).catch((err) => { + console.error("Welcome email failed to send:", err.message); }); } catch (error) { console.error("Register error:", error); res.json({ success: false, message: error.message }); diff --git a/server/middleware/userAuth.js b/server/middleware/userAuth.js index 2b43b44..74db26d 100644 --- a/server/middleware/userAuth.js +++ b/server/middleware/userAuth.js @@ -3,18 +3,10 @@ import userModel from "../models/userModel.js"; const userAuth = async (req, res, next) => { try { - console.log("================================="); - console.log("Origin:", req.headers.origin); - console.log("Cookies:", req.cookies); - console.log("Authorization:", req.headers.authorization); - console.log("================================="); - const token = req.cookies?.token || req.header("Authorization")?.replace("Bearer ", ""); - console.log("Token Found:", token ? "YES" : "NO"); - if (!token) { return res.status(401).json({ success: false, @@ -24,9 +16,7 @@ const userAuth = async (req, res, next) => { const decoded = jwt.verify(token, process.env.JWT_SECRET); - console.log("Decoded JWT:", decoded); - - const user = await userModel.findById(decoded.id).select("-password"); + const user = await userModel.findById(decoded.id).select("-password").lean(); if (!user) { return res.status(404).json({ @@ -48,4 +38,4 @@ const userAuth = async (req, res, next) => { } }; -export default userAuth; \ No newline at end of file +export default userAuth; diff --git a/server/server.js b/server/server.js index 546dbf0..97e9f1b 100644 --- a/server/server.js +++ b/server/server.js @@ -100,16 +100,6 @@ app.use("/api/policies", policyRoutes); app.use("/api/analytics", analyticsRoutes); app.use("/api/gemini", geminiRoutes); -// ================================ -// VECTOR STORE INIT -// ================================ -try { - await initVectorStore(); - console.log("✅ Vector store initialized"); -} catch (error) { - console.error("⚠️ Vector store initialization failed:", error.message); -} - // ================================ // START SERVER // ================================ @@ -118,6 +108,15 @@ const server = app.listen(PORT, () => { console.log(`🌐 Allowed Origins: ${allowedOrigins.join(", ")}`); }); +// ================================ +// VECTOR STORE INIT (non-blocking) +// ================================ +initVectorStore() + .then(() => console.log("✅ Vector store initialized")) + .catch((error) => { + console.error("⚠️ Vector store initialization failed:", error.message); + }); + // ================================ // SOCKET.IO // ================================ @@ -158,4 +157,4 @@ process.on("SIGINT", () => { server.close(() => { process.exit(0); }); -}); \ No newline at end of file +});