From e74ceae97b787008a37697cb1e36ab0938cc260c Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:13:11 +0530 Subject: [PATCH 1/8] feat: use Request instead of AuthenticatedRequest --- server/src/routes/proxy.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/routes/proxy.ts b/server/src/routes/proxy.ts index d68a889e..22b3465d 100644 --- a/server/src/routes/proxy.ts +++ b/server/src/routes/proxy.ts @@ -12,7 +12,7 @@ interface AuthenticatedRequest extends Request { user?: { id: string }; } -router.post('/config', requireSignIn, async (req: AuthenticatedRequest, res: Response) => { +router.post('/config', requireSignIn, async (req: Request, res: Response) => { const { server_url, username, password } = req.body; try { @@ -57,7 +57,7 @@ router.post('/config', requireSignIn, async (req: AuthenticatedRequest, res: Res } }); -router.get('/test', requireSignIn, async (req: AuthenticatedRequest, res: Response) => { +router.get('/test', requireSignIn, async (req: Request, res: Response) => { try { if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); @@ -98,7 +98,7 @@ router.get('/test', requireSignIn, async (req: AuthenticatedRequest, res: Respon } }); -router.get('/config', requireSignIn, async (req: AuthenticatedRequest, res: Response) => { +router.get('/config', requireSignIn, async (req: Request, res: Response) => { try { if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); @@ -125,7 +125,7 @@ router.get('/config', requireSignIn, async (req: AuthenticatedRequest, res: Resp } }); -router.delete('/config', requireSignIn, async (req: AuthenticatedRequest, res: Response) => { +router.delete('/config', requireSignIn, async (req: Request, res: Response) => { if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } From de241e141e9550ba7f17bf056f5763cabe56f2a1 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:14:20 +0530 Subject: [PATCH 2/8] feat: create authenticatedReq --- server/src/routes/proxy.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/src/routes/proxy.ts b/server/src/routes/proxy.ts index 22b3465d..efd05421 100644 --- a/server/src/routes/proxy.ts +++ b/server/src/routes/proxy.ts @@ -14,6 +14,7 @@ interface AuthenticatedRequest extends Request { router.post('/config', requireSignIn, async (req: Request, res: Response) => { const { server_url, username, password } = req.body; + const authenticatedReq = req as AuthenticatedRequest; try { @@ -58,6 +59,7 @@ router.post('/config', requireSignIn, async (req: Request, res: Response) => { }); router.get('/test', requireSignIn, async (req: Request, res: Response) => { + const authenticatedReq = req as AuthenticatedRequest; try { if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); @@ -99,6 +101,7 @@ router.get('/test', requireSignIn, async (req: Request, res: Response) => { }); router.get('/config', requireSignIn, async (req: Request, res: Response) => { + const authenticatedReq = req as AuthenticatedRequest; try { if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); @@ -126,6 +129,7 @@ router.get('/config', requireSignIn, async (req: Request, res: Response) => { }); router.delete('/config', requireSignIn, async (req: Request, res: Response) => { + const authenticatedReq = req as AuthenticatedRequest; if (!req.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } From 2077e2a89fd0a807ced530f3ed0214d68d1d8c43 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:15:10 +0530 Subject: [PATCH 3/8] feat: use authenticatedReq instead of req --- server/src/routes/proxy.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/routes/proxy.ts b/server/src/routes/proxy.ts index efd05421..ccf7e959 100644 --- a/server/src/routes/proxy.ts +++ b/server/src/routes/proxy.ts @@ -18,7 +18,7 @@ router.post('/config', requireSignIn, async (req: Request, res: Response) => { try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } @@ -61,7 +61,7 @@ router.post('/config', requireSignIn, async (req: Request, res: Response) => { router.get('/test', requireSignIn, async (req: Request, res: Response) => { const authenticatedReq = req as AuthenticatedRequest; try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } @@ -103,7 +103,7 @@ router.get('/test', requireSignIn, async (req: Request, res: Response) => { router.get('/config', requireSignIn, async (req: Request, res: Response) => { const authenticatedReq = req as AuthenticatedRequest; try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } @@ -130,7 +130,7 @@ router.get('/config', requireSignIn, async (req: Request, res: Response) => { router.delete('/config', requireSignIn, async (req: Request, res: Response) => { const authenticatedReq = req as AuthenticatedRequest; - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } From b95e8d18efccf97164ef1eb98f2e7b0e95a0adc2 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:15:53 +0530 Subject: [PATCH 4/8] feat: use authenticatedReq to query db --- server/src/routes/proxy.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server/src/routes/proxy.ts b/server/src/routes/proxy.ts index ccf7e959..f481cc45 100644 --- a/server/src/routes/proxy.ts +++ b/server/src/routes/proxy.ts @@ -22,7 +22,7 @@ router.post('/config', requireSignIn, async (req: Request, res: Response) => { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { attributes: { exclude: ['password'] }, }); @@ -65,7 +65,7 @@ router.get('/test', requireSignIn, async (req: Request, res: Response) => { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { attributes: ['proxy_url', 'proxy_username', 'proxy_password'], raw: true }); @@ -107,7 +107,7 @@ router.get('/config', requireSignIn, async (req: Request, res: Response) => { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { attributes: ['proxy_url', 'proxy_username', 'proxy_password'], raw: true, }); @@ -134,7 +134,7 @@ router.delete('/config', requireSignIn, async (req: Request, res: Response) => { return res.status(401).json({ ok: false, error: 'Unauthorized' }); } - const user = await User.findByPk(req.user.id); + const user = await User.findByPk(authenticatedReq.user.id); if (!user) { return res.status(404).json({ message: 'User not found' }); From bb77fe3b9313f44727275193a46ae90e45e92643 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:17:35 +0530 Subject: [PATCH 5/8] feat: use Request instead of AuthenticatedRequest --- server/src/routes/auth.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index 49af7090..f76c7758 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -107,7 +107,7 @@ router.get("/logout", async (req, res) => { router.get( "/current-user", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -135,7 +135,7 @@ router.get( router.get( "/user/:id", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { try { const { id } = req.params; if (!id) { @@ -164,7 +164,7 @@ router.get( router.post( "/generate-api-key", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -204,7 +204,7 @@ router.post( router.get( "/api-key", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -232,7 +232,7 @@ router.get( router.delete( "/delete-api-key", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { if (!req.user) { return res.status(401).send({ error: "Unauthorized" }); } @@ -294,7 +294,7 @@ router.get("/google", (req, res) => { router.get( "/google/callback", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { const { code, state } = req.query; try { if (!state) { @@ -403,7 +403,7 @@ router.get( router.post( "/gsheets/data", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { const { spreadsheetId, robotId } = req.body; if (!req.user) { return res.status(401).send({ error: "Unauthorized" }); @@ -520,7 +520,7 @@ router.post("/gsheets/update", requireSignIn, async (req, res) => { router.post( "/gsheets/remove", requireSignIn, - async (req: AuthenticatedRequest, res) => { + async (req: Request, res) => { const { robotId } = req.body; if (!robotId) { return res.status(400).json({ message: "Robot ID is required" }); From 7ae17685c5a54730abf0440476797fd3ba04958b Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:22:15 +0530 Subject: [PATCH 6/8] feat: create authenticatedReq --- server/src/routes/auth.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index f76c7758..58c6b6af 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -108,6 +108,7 @@ router.get( "/current-user", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -165,6 +166,7 @@ router.post( "/generate-api-key", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -205,6 +207,7 @@ router.get( "/api-key", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; try { if (!req.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); @@ -233,6 +236,7 @@ router.delete( "/delete-api-key", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; if (!req.user) { return res.status(401).send({ error: "Unauthorized" }); } @@ -295,6 +299,7 @@ router.get( "/google/callback", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; const { code, state } = req.query; try { if (!state) { @@ -404,6 +409,7 @@ router.post( "/gsheets/data", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; const { spreadsheetId, robotId } = req.body; if (!req.user) { return res.status(401).send({ error: "Unauthorized" }); @@ -521,6 +527,7 @@ router.post( "/gsheets/remove", requireSignIn, async (req: Request, res) => { + const authenticatedReq = req as AuthenticatedRequest; const { robotId } = req.body; if (!robotId) { return res.status(400).json({ message: "Robot ID is required" }); From 6d99f01e2d8e8d549e836da854dcfe10ca678b0c Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:23:21 +0530 Subject: [PATCH 7/8] feat: use authenticatedReq instead of req --- server/src/routes/auth.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index 58c6b6af..7802427e 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -110,7 +110,7 @@ router.get( async (req: Request, res) => { const authenticatedReq = req as AuthenticatedRequest; try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); } const user = await User.findByPk(req.user.id, { @@ -168,7 +168,7 @@ router.post( async (req: Request, res) => { const authenticatedReq = req as AuthenticatedRequest; try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); } const user = await User.findByPk(req.user.id, { @@ -209,7 +209,7 @@ router.get( async (req: Request, res) => { const authenticatedReq = req as AuthenticatedRequest; try { - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); } @@ -237,7 +237,7 @@ router.delete( requireSignIn, async (req: Request, res) => { const authenticatedReq = req as AuthenticatedRequest; - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).send({ error: "Unauthorized" }); } @@ -325,7 +325,7 @@ router.get( return res.status(400).json({ message: "Email not found" }); } - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).send({ error: "Unauthorized" }); } @@ -411,7 +411,7 @@ router.post( async (req: Request, res) => { const authenticatedReq = req as AuthenticatedRequest; const { spreadsheetId, robotId } = req.body; - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).send({ error: "Unauthorized" }); } const user = await User.findByPk(req.user.id, { raw: true }); @@ -533,7 +533,7 @@ router.post( return res.status(400).json({ message: "Robot ID is required" }); } - if (!req.user) { + if (!authenticatedReq.user) { return res.status(401).send({ error: "Unauthorized" }); } From e335e138ab55a91e17b2cf9d73b3b566a5be0aea Mon Sep 17 00:00:00 2001 From: amhsirak Date: Wed, 29 Jan 2025 15:24:19 +0530 Subject: [PATCH 8/8] feat: use authenticatedReq to query db --- server/src/routes/auth.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/server/src/routes/auth.ts b/server/src/routes/auth.ts index 7802427e..e7ee62d9 100644 --- a/server/src/routes/auth.ts +++ b/server/src/routes/auth.ts @@ -113,7 +113,7 @@ router.get( if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { attributes: { exclude: ["password"] }, }); if (!user) { @@ -171,7 +171,7 @@ router.post( if (!authenticatedReq.user) { return res.status(401).json({ ok: false, error: "Unauthorized" }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { attributes: { exclude: ["password"] }, }); @@ -213,7 +213,7 @@ router.get( return res.status(401).json({ ok: false, error: "Unauthorized" }); } - const user = await User.findByPk(req.user.id, { + const user = await User.findByPk(authenticatedReq.user.id, { raw: true, attributes: ["api_key"], }); @@ -242,7 +242,7 @@ router.delete( } try { - const user = await User.findByPk(req.user.id, { raw: true }); + const user = await User.findByPk(authenticatedReq.user.id, { raw: true }); if (!user) { return res.status(404).json({ message: "User not found" }); @@ -252,7 +252,7 @@ router.delete( return res.status(404).json({ message: "API Key not found" }); } - await User.update({ api_key: null }, { where: { id: req.user.id } }); + await User.update({ api_key: null }, { where: { id: authenticatedReq.user.id } }); capture("maxun-oss-api-key-deleted", { user_id: user.id, @@ -330,7 +330,7 @@ router.get( } // Get the currently authenticated user (from `requireSignIn`) - let user = await User.findOne({ where: { id: req.user.id } }); + let user = await User.findOne({ where: { id: authenticatedReq.user.id } }); if (!user) { return res.status(400).json({ message: "User not found" }); @@ -414,7 +414,7 @@ router.post( if (!authenticatedReq.user) { return res.status(401).send({ error: "Unauthorized" }); } - const user = await User.findByPk(req.user.id, { raw: true }); + const user = await User.findByPk(authenticatedReq.user.id, { raw: true }); if (!user) { return res.status(400).json({ message: "User not found" }); @@ -555,7 +555,7 @@ router.post( }); capture("maxun-oss-google-sheet-integration-removed", { - user_id: req.user.id, + user_id: authenticatedReq.user.id, robot_id: robotId, deleted_at: new Date().toISOString(), });