From dc00a3c5aa032ded05ecec639cfa765056b48354 Mon Sep 17 00:00:00 2001 From: Victorv <v.vogt@etu.unistra.fr> Date: Mon, 3 Jan 2022 09:35:33 +0100 Subject: [PATCH] :bug: fixed wrong file removed --- frontend/src/actions/Login.actions.js | 99 +++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 frontend/src/actions/Login.actions.js diff --git a/frontend/src/actions/Login.actions.js b/frontend/src/actions/Login.actions.js new file mode 100644 index 0000000..9f845a7 --- /dev/null +++ b/frontend/src/actions/Login.actions.js @@ -0,0 +1,99 @@ +import { userService } from "../services/authentication.service"; +import {fetchUserData} from "./Profile.actions"; + +export const getAuth = () => { + return { + type:'GET_AUTH' + } +} + +export const logoutSuccess = () => { + return { + type:'LOGOUT_SUCCESS' + } +} + +export const loginSuccessWaitForPayment = () => { + return { + type:'LOGIN_SUCCESS_WAIT_PAYMENT' + } +} + +export const loginSuccesPaymentDone = () => { + return { + type:'LOGIN_SUCCESS_PAYMENT_DONE' + } +} + +export const loginFailed = (message) => { + return { + type:'LOGIN_FAILED', + message: message + } +} + +export const loginRequest = () => { + return { + type:'LOGIN_REQUEST' + } +} + +export const login = (loginData, ownProps) => { + return async (dispatch) => { + dispatch(loginRequest()); + + const response = await fetch( "/api/login", { + method: 'POST', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + }, + body: JSON.stringify(loginData), + }) + + if(response.ok){ + response.json().then(data => { + userService.setToken(data.token); + let user = dispatch(fetchUserData()); + //dispatch(user); + ownProps.history.push('/'); + + + // TODO: do another request to know if user paid adhesion + // make request to get user data + + + var paid=true; + + + if(paid){ + userService.setAdhesion(true); + dispatch(loginSuccesPaymentDone(data)); + } else { + userService.setToken(false); + dispatch(loginSuccessWaitForPayment(data)); + } + }).catch(err => dispatch(loginFailed(err))); + } + else{ + response.json().then(error => { + dispatch(loginFailed(error)); + }).catch(err => dispatch(loginFailed(err))); + } + + return response; + } +} + +export const logout = () => { + return (dispatch) => { + userService.logout(); + dispatch(logoutSuccess()); + } +} + +export const reinitializeState = () => { + return { + type:'REINITIALIZE_STATE' + } +} -- GitLab