From 8c269fd1936f1437ff23c9ee780905e082b840b4 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 11 Feb 2024 00:07:40 +0100 Subject: [PATCH] email on new login --- src/controllers/userController.ts | 19 +++++++++++++++---- src/utils/utils.ts | 19 +++++++++---------- 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/controllers/userController.ts b/src/controllers/userController.ts index 281d50d..a3b17e2 100644 --- a/src/controllers/userController.ts +++ b/src/controllers/userController.ts @@ -21,6 +21,7 @@ import { import { decodeBase64, getEmailVerificationUrl, + getUserAgentOS, getUserSession, hashPassword, matchPassword, @@ -140,7 +141,7 @@ export async function SignUp(req: Request, res: Response) { // create user - const user = await User.create({ + await User.create({ user_id: userId, store_id: store.store_id, role: Roles.Master, @@ -152,7 +153,7 @@ export async function SignUp(req: Request, res: Response) { state: ACCOUNT_STATE.PENDING_EMAIL_VERIFICATION, }); - saveSession(req, res, false, user.user_id, user.username, rememberMe); + res.status(200).send({ msg: "success" }); } catch (error) { logger.error(error); res.status(500).send({ err: "invalid request" }); @@ -180,7 +181,7 @@ export async function Login(req: Request, res: Response) { where: { email: email, }, - attributes: ["user_id", "password", "state"], + attributes: ["user_id", "password", "state", "language"], }); if (!user) { @@ -253,8 +254,18 @@ export async function Login(req: Request, res: Response) { }); } + rabbitmq.sendEmail( + email, + "dashboardSecurityInfoNewAccountLogin", + user.language, + { + os: getUserAgentOS(req), + email: email, + } + ); + // create session - saveSession(req, res, true, user.user_id, user.username, rememberMe); + saveSession(req, res, user.user_id, user.username, rememberMe); } catch (error) { logger.error(error); res.status(500).send({ err: "invalid request" }); diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 190418a..771a73b 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -59,10 +59,13 @@ export function newAccountExportId() { return uuidv4(); } +export function getUserAgentOS(req: Request) { + return req.useragent?.os as string | ""; +} + export async function saveSession( req: Request, res: Response, - sendResponseData: boolean, userId: string, username: string, rememberMe: boolean @@ -75,7 +78,7 @@ export async function saveSession( session_id: userSession, id: newSessionId(), browser: req.useragent?.browser as string, - os: req.useragent?.os as string, + os: getUserAgentOS(req), last_used: new Date(), expires: new Date( Date.now() + @@ -83,14 +86,10 @@ export async function saveSession( ), }); - if (sendResponseData) { - res.status(200).json({ - XAuthorization: userSession, - Username: username, - }); - } else { - res.status(200).send({ msg: "success" }); - } + res.status(200).json({ + XAuthorization: userSession, + Username: username, + }); } catch (err) { res.status(500).send({ err: "invalid request" }); }