email on new login
parent
2daf1042ce
commit
8c269fd193
|
@ -21,6 +21,7 @@ import {
|
||||||
import {
|
import {
|
||||||
decodeBase64,
|
decodeBase64,
|
||||||
getEmailVerificationUrl,
|
getEmailVerificationUrl,
|
||||||
|
getUserAgentOS,
|
||||||
getUserSession,
|
getUserSession,
|
||||||
hashPassword,
|
hashPassword,
|
||||||
matchPassword,
|
matchPassword,
|
||||||
|
@ -140,7 +141,7 @@ export async function SignUp(req: Request, res: Response) {
|
||||||
|
|
||||||
// create user
|
// create user
|
||||||
|
|
||||||
const user = await User.create({
|
await User.create({
|
||||||
user_id: userId,
|
user_id: userId,
|
||||||
store_id: store.store_id,
|
store_id: store.store_id,
|
||||||
role: Roles.Master,
|
role: Roles.Master,
|
||||||
|
@ -152,7 +153,7 @@ export async function SignUp(req: Request, res: Response) {
|
||||||
state: ACCOUNT_STATE.PENDING_EMAIL_VERIFICATION,
|
state: ACCOUNT_STATE.PENDING_EMAIL_VERIFICATION,
|
||||||
});
|
});
|
||||||
|
|
||||||
saveSession(req, res, false, user.user_id, user.username, rememberMe);
|
res.status(200).send({ msg: "success" });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
res.status(500).send({ err: "invalid request" });
|
res.status(500).send({ err: "invalid request" });
|
||||||
|
@ -180,7 +181,7 @@ export async function Login(req: Request, res: Response) {
|
||||||
where: {
|
where: {
|
||||||
email: email,
|
email: email,
|
||||||
},
|
},
|
||||||
attributes: ["user_id", "password", "state"],
|
attributes: ["user_id", "password", "state", "language"],
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!user) {
|
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
|
// create session
|
||||||
saveSession(req, res, true, user.user_id, user.username, rememberMe);
|
saveSession(req, res, user.user_id, user.username, rememberMe);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error);
|
logger.error(error);
|
||||||
res.status(500).send({ err: "invalid request" });
|
res.status(500).send({ err: "invalid request" });
|
||||||
|
|
|
@ -59,10 +59,13 @@ export function newAccountExportId() {
|
||||||
return uuidv4();
|
return uuidv4();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getUserAgentOS(req: Request) {
|
||||||
|
return req.useragent?.os as string | "";
|
||||||
|
}
|
||||||
|
|
||||||
export async function saveSession(
|
export async function saveSession(
|
||||||
req: Request,
|
req: Request,
|
||||||
res: Response,
|
res: Response,
|
||||||
sendResponseData: boolean,
|
|
||||||
userId: string,
|
userId: string,
|
||||||
username: string,
|
username: string,
|
||||||
rememberMe: boolean
|
rememberMe: boolean
|
||||||
|
@ -75,7 +78,7 @@ export async function saveSession(
|
||||||
session_id: userSession,
|
session_id: userSession,
|
||||||
id: newSessionId(),
|
id: newSessionId(),
|
||||||
browser: req.useragent?.browser as string,
|
browser: req.useragent?.browser as string,
|
||||||
os: req.useragent?.os as string,
|
os: getUserAgentOS(req),
|
||||||
last_used: new Date(),
|
last_used: new Date(),
|
||||||
expires: new Date(
|
expires: new Date(
|
||||||
Date.now() +
|
Date.now() +
|
||||||
|
@ -83,14 +86,10 @@ export async function saveSession(
|
||||||
),
|
),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (sendResponseData) {
|
|
||||||
res.status(200).json({
|
res.status(200).json({
|
||||||
XAuthorization: userSession,
|
XAuthorization: userSession,
|
||||||
Username: username,
|
Username: username,
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
res.status(200).send({ msg: "success" });
|
|
||||||
}
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
res.status(500).send({ err: "invalid request" });
|
res.status(500).send({ err: "invalid request" });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue