Skip to content
Snippets Groups Projects

Feature/trans

Merged VOGT VICTOR requested to merge feature/trans into develop
Compare and
5 files
+ 88
114
Preferences
Compare changes
Files
5
import {userService} from "../services/authentication.service";
export const profileDataFetchSuccess = (data) => {
const MONEY_API_URL = 'https://money.erp.uni.princelle.org';
export const transactionDataFetchSuccess = (data) => {
return {
type:'PROFILE_DATA_REQ_SUCCESS',
type:'TRANS_DATA_REQ_SUCCESS',
data
}
}
export const profileDataFetchFailure = () => {
export const transactionDataFetchFailure = (message) => {
return {
type:'PROFILE_DATA_REQ_FAILURE'
type:'TRANS_DATA_REQ_FAILURE',
message
}
}
export const updateUserSuccess = () => {
export const profileDataFetchSuccess = (data) => {
return {
type:'UPDATE_USER_SUCCESS',
type:'PROFILE_DATA_REQ_SUCCESS',
data
}
}
export const updateUserFailure = (error) => {
export const profileDataFetchFailure = (message) => {
return {
type:'UPDATE_USER_FAILURE',
message:error,
type:'PROFILE_DATA_REQ_FAILURE',
message
}
}
export const fetchUserData = () => {
export const fetchUserTransactions = (student_number) => {
return async (dispatch) => {
const response = await fetch( "/api/me", {
const response = await fetch(MONEY_API_URL+'/transactions/get/'+student_number, {
method: 'GET',
headers: {
'Authorization': userService.getToken()
}
})
if(response.ok){
response.json().then(data => {
dispatch(profileDataFetchSuccess(data));
}).catch(err => dispatch(profileDataFetchFailure(err)));
console.log(data);
let balance = data.rows.map(data => data.amount).reduce((sum, amount) => sum + amount);
let data_sorted = data.rows.sort(function(a,b){return Date.parse(a.concluded_at) - Date.parse(b.concluded_at)});
dispatch(transactionDataFetchSuccess({balance: balance, transactions: data_sorted}));
}).catch(err => dispatch(transactionDataFetchFailure(err)));
}
else{
response.json().then(error => {
dispatch(profileDataFetchFailure(error));
}).catch(err => dispatch(profileDataFetchFailure(err)));
dispatch(transactionDataFetchFailure(error));
}).catch(err => dispatch(transactionDataFetchFailure(err)));
}
return response;
}
}
export const changeUserData = (data) => {
export const fetchUserData = () => {
return async (dispatch) => {
const response = await fetch( "/api/me/update", {
method: 'POST',
const response = await fetch( "/api/me", {
method: 'GET',
headers: {
'Authorization': userService.getToken(),
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data),
})
'Authorization': userService.getToken()
}
});
if(response.ok){
dispatch(updateUserSuccess());
}
else{
response.json().then(data => {
dispatch(profileDataFetchFailure(data));
}).catch(err => dispatch(profileDataFetchFailure(err)));
} else {
response.json().then(error => {
dispatch(updateUserFailure(error));
}).catch(err => dispatch(updateUserFailure(err)));
dispatch(profileDataFetchFailure(error));
}).catch(err => dispatch(profileDataFetchFailure(err)));
}
return response;