Elbab/process/verify.js
2026-04-25 09:25:40 +03:00

56 lines
1.6 KiB
JavaScript

const { generateJWT, verifyJWT } = require("../middlewares/jwt");
const returndata = require("../middlewares/returndata");
const Logins = require("../models/logins");
const { createSession } = require("./process");
const { queryLogin } = require("./query");
const siginLogin = async function (email, password) {
try {
const login = await queryLogin({ email: email, password: password });
if (login.Success === false && !login.Data) {
return login;
};
const accountData = {
id: login.Data.account.id,
name: login.Data.account.name,
surname: login.Data.account.surname,
username: login.Data.account.username,
email: email
};
const tokenJWT = await generateJWT({
account: accountData
});
if (login.Success === true) {
return returndata(true, {
token: tokenJWT.Data,
account: { ...accountData }
}, true);
} else {
return returndata(true, null, false);
};
} catch (error) {
console.log(error);
return returndata(false, null, false);
};
};
exports.siginLogin = siginLogin;
const verifyLogin = async function (token) {
try {
jwtToken = token.split(' ')[1];
const verify = await verifyJWT(jwtToken);
if (verify) {
return returndata(true, verify.Data, true);
} else {
return returndata(true, null, false);
}
} catch (error) {
return returndata(false, null, false);
};
};
exports.verifyLogin = verifyLogin