I'm quite new to node applications, but I have made a frontend in react, and a backend using node and sql. I have a UserLogin component in the frontend, which makes the call after getting user data:
submitLoginForm(e) { e.preventDefault(); const { email, password } = this.state; const { login } = this.props; const validEmail = validateEmail(email); login(email, password); //login function in frontend } The login function is as follows:
export function login(email, password) { return async (dispatch) => { try { const resp = await callLoginApi(email, password); console.log("Response is", resp); } catch (err) { console.log("error is", err); } }; } function callLoginApi(email, password) { return axios.post(API.auth.login, { email, password }); } In the backend, this auth.controller makes the login call:
module.exports.login = utils.asyncRequest((req) => { const { body } = req; return authService.generateToken(dbService.User, body.email, body.password); }); and this is what generateToken in authService looks like :
module.exports.generateToken = async (Model = dbService.User, email, password, ssoData) => { user = await dbService.querySingle(Model, { [dbFields.email]: email }) try { await dbService.update(Model, user.id, { [dbFields.passwordAttempts]: user[dbFields.passwordAttempts] + 1 }); console.log("you're blocked, ", user[dbFields.passwordAttempts] ) } catch (err) { logger.error(err); } throw new error.AccessDenied('Invalid login credentials'); } My goal is to return the value of user[dbFields.passwordAttempts] to my frontend submitLoginForm function after it makes the login call. I'm able to console log the value in the backend, but is it possible to return this value to the frontend?
没有评论:
发表评论