From 01398367c6b5f3541ce7636febb1e57443b77e78 Mon Sep 17 00:00:00 2001 From: Mohammed Samiuddin <66519042+Ms3314@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:20:27 +0530 Subject: [PATCH 01/12] Update server.js added port for render --- Backend/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/server.js b/Backend/server.js index b350842..ab39d94 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -15,7 +15,7 @@ app.use(express.json()); app.use("/api/v1/admin", adminRouter); app.use("/api/v1/user" , userRouter); -app.listen(3000, () => { +app.listen(process.env.PORT || 3000, () => { console.log("Server is running on port 3000"); }); From 99a64e2adc2b6617444ba0d453e76091638be8ed Mon Sep 17 00:00:00 2001 From: Mohammed Samiuddin <66519042+Ms3314@users.noreply.github.com> Date: Wed, 5 Mar 2025 23:40:38 +0530 Subject: [PATCH 02/12] Update server.js --- Backend/server.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Backend/server.js b/Backend/server.js index ab39d94..d7fefec 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -6,7 +6,7 @@ import cookieParser from "cookie-parser"; import cors from 'cors' import userRouter from "./routes/user.js"; const app = express(); - +const port = process.env.PORT || 3000 ; app.use(cors()); app.use(cookieParser()); @@ -15,8 +15,8 @@ app.use(express.json()); app.use("/api/v1/admin", adminRouter); app.use("/api/v1/user" , userRouter); -app.listen(process.env.PORT || 3000, () => { - console.log("Server is running on port 3000"); +app.listen(port , () => { + console.log(`Server is running on port ${port}`); }); From c9c36ae324e69dd6089ad0a3f43c2761e7c5fca0 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 00:11:39 +0530 Subject: [PATCH 03/12] chore: Update outDir in vite.config.js for both Admin and Frontend directories --- Admin/vite.config.js | 1 + Frontend/vite.config.js | 1 + 2 files changed, 2 insertions(+) diff --git a/Admin/vite.config.js b/Admin/vite.config.js index 2328e17..ff56d59 100644 --- a/Admin/vite.config.js +++ b/Admin/vite.config.js @@ -3,5 +3,6 @@ import react from '@vitejs/plugin-react-swc' // https://vite.dev/config/ export default defineConfig({ + outDir: "dist", plugins: [react()], }) diff --git a/Frontend/vite.config.js b/Frontend/vite.config.js index 861b04b..709612d 100644 --- a/Frontend/vite.config.js +++ b/Frontend/vite.config.js @@ -3,5 +3,6 @@ import react from '@vitejs/plugin-react-swc' // https://vitejs.dev/config/ export default defineConfig({ + outDir: "dist", plugins: [react()], }) From f06cd03dbf920ca3b200e54bbd0797790319d302 Mon Sep 17 00:00:00 2001 From: Mohammed Samiuddin <66519042+Ms3314@users.noreply.github.com> Date: Thu, 6 Mar 2025 00:22:48 +0530 Subject: [PATCH 04/12] Update server.js added one cors --- Backend/server.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Backend/server.js b/Backend/server.js index d7fefec..9f05a21 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -8,7 +8,21 @@ import userRouter from "./routes/user.js"; const app = express(); const port = process.env.PORT || 3000 ; -app.use(cors()); +const allowedOrigins = ["https://hyd-events-website-admin.onrender.com"]; + +app.use( + cors({ + origin: function (origin, callback) { + if (!origin || allowedOrigins.includes(origin)) { + callback(null, true); + } else { + callback(new Error("Not allowed by CORS")); + } + }, + credentials: true, // Allow cookies & authentication headers if needed + }) +); + app.use(cookieParser()); app.use(express.json()); From fe3dd5cff2a6f5bb49cf214a2821594c52ec6967 Mon Sep 17 00:00:00 2001 From: Mohammed Samiuddin <66519042+Ms3314@users.noreply.github.com> Date: Thu, 6 Mar 2025 00:31:28 +0530 Subject: [PATCH 05/12] Update server.js , added both the cors now lets see --- Backend/server.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Backend/server.js b/Backend/server.js index 9f05a21..6a55f41 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -8,7 +8,11 @@ import userRouter from "./routes/user.js"; const app = express(); const port = process.env.PORT || 3000 ; -const allowedOrigins = ["https://hyd-events-website-admin.onrender.com"]; +const allowedOrigins = [ + "https://hyd-events-website-admin.onrender.com", + "https://hydevents-main.onrender.com", + "https://hyd-events-website.onrender.com" +]; app.use( cors({ From b0aa56fa8cf3bde0a998006d73ca6ece33c0b666 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 00:40:43 +0530 Subject: [PATCH 06/12] added withCredentials : true at post requests lets see now !!! --- Admin/src/App.jsx | 1 + Admin/src/Components/AddEvents/AddEvents.jsx | 1 + Admin/src/Login-Register/Login/Login.jsx | 4 +++- Admin/src/Login-Register/Register/Register.jsx | 4 +++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Admin/src/App.jsx b/Admin/src/App.jsx index 5adb23c..9ebd5d4 100644 --- a/Admin/src/App.jsx +++ b/Admin/src/App.jsx @@ -31,6 +31,7 @@ function App() { "http://localhost:3000/api/v1/admin/checkToken", {}, { + withCredentials : true , headers: { Authorization: `Bearer ${token}`, "Content-Type": "application/json", diff --git a/Admin/src/Components/AddEvents/AddEvents.jsx b/Admin/src/Components/AddEvents/AddEvents.jsx index 30b159d..a5a2677 100644 --- a/Admin/src/Components/AddEvents/AddEvents.jsx +++ b/Admin/src/Components/AddEvents/AddEvents.jsx @@ -42,6 +42,7 @@ const AddEvents = () => { }; const response = await axios.post(`${import.meta.env.VITE_SERVER_URL}/api/v1/admin/event`, eventData, { + withCredentials : true , headers: { "Authorization": `Bearer ${localStorage.getItem("token")}`, "Content-Type": "application/json", diff --git a/Admin/src/Login-Register/Login/Login.jsx b/Admin/src/Login-Register/Login/Login.jsx index f0ea70a..b56c392 100644 --- a/Admin/src/Login-Register/Login/Login.jsx +++ b/Admin/src/Login-Register/Login/Login.jsx @@ -13,7 +13,9 @@ const Login = () => { if (loginData.email === "" || loginData.password === "") return; try { - const payload = await axios.post(`${import.meta.env.VITE_SERVER_URL}/api/v1/admin/signin`, loginData); + const payload = await axios.post(`${import.meta.env.VITE_SERVER_URL}/api/v1/admin/signin`, loginData , { + withCredentials: true, + }); if (payload.status === 200) { localStorage.setItem("token", payload.data.token); localStorage.removeItem("events") diff --git a/Admin/src/Login-Register/Register/Register.jsx b/Admin/src/Login-Register/Register/Register.jsx index cc942dd..aca4d5e 100644 --- a/Admin/src/Login-Register/Register/Register.jsx +++ b/Admin/src/Login-Register/Register/Register.jsx @@ -42,7 +42,9 @@ const Register = () => { // console.log("what is the problem") const payload = await axios.post( `${import.meta.env.VITE_SERVER_URL}/api/v1/admin/signup`, - registerData + registerData , { + withCredentials: true, + } ); if (payload.status === 200) { toast.success("Account created successfully!"); From ca4375132ed3a3b9588bd7081acb15c27fb674a9 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 00:48:20 +0530 Subject: [PATCH 07/12] some changes to the cors again --- Backend/server.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Backend/server.js b/Backend/server.js index 6a55f41..8898d75 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -11,21 +11,19 @@ const port = process.env.PORT || 3000 ; const allowedOrigins = [ "https://hyd-events-website-admin.onrender.com", "https://hydevents-main.onrender.com", - "https://hyd-events-website.onrender.com" + "https://hyd-events-website.onrender.com", ]; -app.use( - cors({ - origin: function (origin, callback) { - if (!origin || allowedOrigins.includes(origin)) { - callback(null, true); - } else { - callback(new Error("Not allowed by CORS")); - } - }, - credentials: true, // Allow cookies & authentication headers if needed - }) -); +app.use((req, res, next) => { + const origin = req.headers.origin; + if (allowedOrigins.includes(origin)) { + res.setHeader("Access-Control-Allow-Origin", origin); + res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); + res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); + res.setHeader("Access-Control-Allow-Credentials", "true"); + } + next(); +}); app.use(cookieParser()); app.use(express.json()); From 2fbcf824e7a7b4fdd8bb2182194362fcd004c3d8 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 00:52:22 +0530 Subject: [PATCH 08/12] SMALL CHANGE PLEASE WORK MANNNNNNNNNNNNNM --- Backend/server.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Backend/server.js b/Backend/server.js index 8898d75..7fee144 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -22,6 +22,12 @@ app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); res.setHeader("Access-Control-Allow-Credentials", "true"); } + + // ✅ Handle OPTIONS preflight request + if (req.method === "OPTIONS") { + return res.sendStatus(204); // Send empty response for preflight requests + } + next(); }); From c9985469b1524742a5e0dbc862ed7ad7a8ccc632 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 01:00:49 +0530 Subject: [PATCH 09/12] CHECK --- Backend/server.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Backend/server.js b/Backend/server.js index 7fee144..858d022 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -23,9 +23,10 @@ app.use((req, res, next) => { res.setHeader("Access-Control-Allow-Credentials", "true"); } - // ✅ Handle OPTIONS preflight request + // ✅ Handle OPTIONS requests properly if (req.method === "OPTIONS") { - return res.sendStatus(204); // Send empty response for preflight requests + res.status(204).end(); // 🔴 This must include CORS headers + return; } next(); From 502659b8ed6899e0e438644486eb2d21b1a44892 Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 01:07:00 +0530 Subject: [PATCH 10/12] Check again 1:06 --- Backend/server.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Backend/server.js b/Backend/server.js index 858d022..78823e6 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -16,16 +16,19 @@ const allowedOrigins = [ app.use((req, res, next) => { const origin = req.headers.origin; - if (allowedOrigins.includes(origin)) { - res.setHeader("Access-Control-Allow-Origin", origin); + + // ✅ Always set CORS headers (even if origin is undefined) + if (!origin || allowedOrigins.includes(origin)) { + res.setHeader("Access-Control-Allow-Origin", origin || "*"); // Allow requests without an origin res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); res.setHeader("Access-Control-Allow-Credentials", "true"); } - // ✅ Handle OPTIONS requests properly + // ✅ Fix OPTIONS preflight response (must include headers) if (req.method === "OPTIONS") { - res.status(204).end(); // 🔴 This must include CORS headers + res.writeHead(204); + res.end(); return; } From 9252ee01aa9af8c813b796026db8b7648f9e354c Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 01:14:21 +0530 Subject: [PATCH 11/12] cors fix by claude --- Backend/server.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Backend/server.js b/Backend/server.js index 78823e6..ac4c11d 100644 --- a/Backend/server.js +++ b/Backend/server.js @@ -8,6 +8,7 @@ import userRouter from "./routes/user.js"; const app = express(); const port = process.env.PORT || 3000 ; +// Improved CORS configuration const allowedOrigins = [ "https://hyd-events-website-admin.onrender.com", "https://hydevents-main.onrender.com", @@ -16,22 +17,22 @@ const allowedOrigins = [ app.use((req, res, next) => { const origin = req.headers.origin; - - // ✅ Always set CORS headers (even if origin is undefined) - if (!origin || allowedOrigins.includes(origin)) { - res.setHeader("Access-Control-Allow-Origin", origin || "*"); // Allow requests without an origin + + // Check if the origin is in our allowed list + if (allowedOrigins.includes(origin)) { + res.setHeader("Access-Control-Allow-Origin", origin); res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization"); res.setHeader("Access-Control-Allow-Credentials", "true"); } - - // ✅ Fix OPTIONS preflight response (must include headers) + + // Handle preflight requests if (req.method === "OPTIONS") { res.writeHead(204); res.end(); return; } - + next(); }); From c290fa3d82077b5eee3f6304a4b7f8507a3808fe Mon Sep 17 00:00:00 2001 From: Samiuddin Date: Thu, 6 Mar 2025 01:23:13 +0530 Subject: [PATCH 12/12] might work --- Admin/src/App.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Admin/src/App.jsx b/Admin/src/App.jsx index 9ebd5d4..f56e8f7 100644 --- a/Admin/src/App.jsx +++ b/Admin/src/App.jsx @@ -28,7 +28,7 @@ function App() { try { const response = await axios.post( - "http://localhost:3000/api/v1/admin/checkToken", + `${import.meta.env.VITE_SERVER_URL}/api/v1/admin/checkToken`, {}, { withCredentials : true ,