UNPKG

rewardwee_auth_access

Version:

auth verify access for all microservices

118 lines (117 loc) 3.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isTalent = exports.isCompany = exports.isTokenCorrect = void 0; const misc_1 = require("../helpers/misc"); const login_1 = require("../controllers/login"); function extractTokenFromHeader(header) { if (header == undefined) { return undefined; } const parts = header.split(' '); if (parts.length === 3 && parts[0] === 'Bearer') { // console.log({part1: parts[1], part2: parts[2] }) return [parts[1], parts[2]]; } return undefined; } const isTokenCorrect = (req, res, next) => { const authHeader = req.headers.authorization; const tokenData = extractTokenFromHeader(authHeader); // console.log({authHeader, tokenData}) if (tokenData != undefined) { let token = tokenData[0]; // get token (0, misc_1.extractTokenContent)(token, req.body.jk) .then((verified) => { console.log({ verified, data: verified.data[0] }); delete req.body.jk; let { id, email, time, role } = verified.data[0]; let user_id = tokenData[1]; console.log({ token, user_id }); if (id != user_id) { let error = { data: [], message: "invalid login token.", status: 400, statusCode: "LOGIN_FAILED" }; console.log({ error }); (0, misc_1.response)(res, error); return; } login_1.AuthLogin.isUserLoggedIn(id, token, req.body.UserLoginRecord) .then((success) => { delete req.body.UserLoginRecord; if (success.statusCode == "LOGIN_SUCCESSFUL") { req.user_id = id; req.user_email = email; req.user_token = token; req.role = role; next(); } else { (0, misc_1.response)(res, success); return; } }) .catch((err) => { delete req.body.UserLoginRecord; (0, misc_1.response)(res, err); return; }); }) .catch((err) => { console.log({ err }); delete req.body.jk; (0, misc_1.response)(res, err); return; }); } else { let error = { data: [], message: "invalid login token.", status: 400, statusCode: "LOGIN_FAILED" }; console.log({ error }); (0, misc_1.response)(res, error); return; } }; exports.isTokenCorrect = isTokenCorrect; const isCompany = (req, res, next) => { var _a; console.log({ role: req.role }); if (((_a = req.role) === null || _a === void 0 ? void 0 : _a.toLowerCase()) == "company") { next(); } else { let error = { data: [], message: "access denied.", status: 403, statusCode: "LOGIN_FAILED" }; (0, misc_1.response)(res, error); return; } }; exports.isCompany = isCompany; const isTalent = (req, res, next) => { var _a; if (((_a = req.role) === null || _a === void 0 ? void 0 : _a.toLowerCase()) == "talent") { next(); } else { let error = { data: [], message: "access denied.", status: 403, statusCode: "LOGIN_FAILED" }; (0, misc_1.response)(res, error); return; } }; exports.isTalent = isTalent;