feat: login by NISN
This commit is contained in:
parent
89b4aedc93
commit
c290873bd5
|
|
@ -692,10 +692,10 @@ export const registerStudentForAdmin = async (req, res) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
export const loginUser = async (req, res) => {
|
export const loginUser = async (req, res) => {
|
||||||
const { EMAIL, PASSWORD } = req.body;
|
const { IDENTIFIER, PASSWORD } = req.body;
|
||||||
|
|
||||||
if (!EMAIL) {
|
if (!IDENTIFIER) {
|
||||||
return response(400, null, "Email is required!", res);
|
return response(400, null, "Identifier (Email or NISN) is required!", res);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!PASSWORD) {
|
if (!PASSWORD) {
|
||||||
|
|
@ -703,7 +703,22 @@ export const loginUser = async (req, res) => {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const user = await models.User.findOne({ where: { EMAIL } });
|
let user;
|
||||||
|
|
||||||
|
if (IDENTIFIER.includes("@")) {
|
||||||
|
user = await models.User.findOne({ where: { EMAIL: IDENTIFIER } });
|
||||||
|
} else {
|
||||||
|
const student = await models.Student.findOne({
|
||||||
|
where: { NISN: IDENTIFIER },
|
||||||
|
include: [
|
||||||
|
{
|
||||||
|
model: models.User,
|
||||||
|
as: "studentUser",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
user = student?.studentUser;
|
||||||
|
}
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
return response(404, null, "User data not found!", res);
|
return response(404, null, "User data not found!", res);
|
||||||
|
|
@ -713,7 +728,7 @@ export const loginUser = async (req, res) => {
|
||||||
return response(
|
return response(
|
||||||
403,
|
403,
|
||||||
null,
|
null,
|
||||||
"User is not validated! Please verify your email first.",
|
"User is not validated! Please verify via email first.",
|
||||||
res
|
res
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user