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