2019-03-10 00:00:54 +00:00
|
|
|
import {
|
|
|
|
DATA_AVAILABLE,
|
|
|
|
API_LOGIN,
|
|
|
|
CHECK_USER,
|
|
|
|
LOGOUT_USER,
|
|
|
|
USER_INFO,
|
|
|
|
HOLD,
|
|
|
|
GET_EVENTS,
|
|
|
|
GET_CAREERS,
|
|
|
|
CHANGE_GUEST,
|
|
|
|
WAIT_CHANGE,
|
|
|
|
GET_SESSIONS,
|
|
|
|
SESSION_BLOCKS,
|
|
|
|
TIMERWAIT_CHANGE,
|
|
|
|
SIGN_SESSION,
|
|
|
|
OPEN_MODAL,
|
2019-03-11 16:15:51 +00:00
|
|
|
CLOSE_MODAL,
|
2019-03-12 03:34:40 +00:00
|
|
|
LOADINGLOGIN,
|
|
|
|
REMOVE_SESSION
|
2019-03-10 00:00:54 +00:00
|
|
|
} from "../actions/actionTypes"; //Import the actions types constant we defined in our actions
|
2019-03-11 16:15:51 +00:00
|
|
|
|
2019-03-10 00:00:54 +00:00
|
|
|
import { REHYDRATE } from "redux-persist";
|
|
|
|
|
|
|
|
let apiState = {
|
|
|
|
isConnected: false,
|
|
|
|
logged: false,
|
|
|
|
onHold: true,
|
|
|
|
user: {},
|
|
|
|
events: [],
|
|
|
|
showAlert: true,
|
|
|
|
failedAttempt: false,
|
|
|
|
userDetails: {
|
|
|
|
username: "",
|
|
|
|
password: "",
|
|
|
|
token: {
|
|
|
|
expirationDateToken: 0,
|
|
|
|
access_token: ""
|
|
|
|
}
|
|
|
|
},
|
|
|
|
calendar: {},
|
|
|
|
changingGuest: false,
|
|
|
|
sessions: {},
|
|
|
|
Blocks: {},
|
|
|
|
onHoldBlocks: true,
|
2019-03-12 03:34:40 +00:00
|
|
|
careerPath: { name: "Sem Career Path", color: "#eeeeee" },
|
|
|
|
a: {},
|
|
|
|
b: {},
|
|
|
|
c: {},
|
|
|
|
d: {},
|
|
|
|
loadingLogin: false
|
2019-03-10 00:00:54 +00:00
|
|
|
};
|
2019-01-31 00:46:49 +00:00
|
|
|
|
|
|
|
const apiReducer = (state = apiState, action) => {
|
2019-03-10 00:00:54 +00:00
|
|
|
switch (action.type) {
|
|
|
|
case REHYDRATE:
|
|
|
|
console.log(action);
|
|
|
|
if (action.payload != undefined) {
|
|
|
|
console.log(action.payload);
|
|
|
|
|
|
|
|
var expirationDateTokenA = 0;
|
|
|
|
var access_tokenA = "";
|
|
|
|
|
|
|
|
if (action.payload.apiReducer.userDetails.token != undefined) {
|
|
|
|
if (
|
|
|
|
action.payload.apiReducer.userDetails.token.expirationDateToken !=
|
|
|
|
undefined
|
|
|
|
) {
|
|
|
|
expirationDateTokenA =
|
|
|
|
action.payload.apiReducer.userDetails.token.expirationDateToken;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (
|
|
|
|
action.payload.apiReducer.userDetails.token.access_token !=
|
|
|
|
undefined
|
|
|
|
) {
|
|
|
|
access_tokenA =
|
|
|
|
action.payload.apiReducer.userDetails.token.access_token;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
sessions: action.payload.apiReducer.sessions,
|
|
|
|
// token: action.payload.apiReducer.token,
|
|
|
|
user: action.payload.apiReducer.user,
|
|
|
|
onHoldBlocks: true,
|
|
|
|
userDetails: {
|
|
|
|
token: {
|
|
|
|
expirationDateToken: expirationDateTokenA,
|
|
|
|
access_token: access_tokenA
|
|
|
|
},
|
|
|
|
username: action.payload.apiReducer.userDetails.username,
|
|
|
|
password: action.payload.apiReducer.userDetails.password
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
case "CHANGE_CONNECTION_STATUS":
|
|
|
|
return Object.assign({}, state, {
|
|
|
|
isConnected: action.isConnected
|
|
|
|
});
|
|
|
|
|
2019-03-11 16:15:51 +00:00
|
|
|
case LOADINGLOGIN:
|
2019-03-12 03:34:40 +00:00
|
|
|
state = Object.assign({}, state, { loadingLogin: true });
|
2019-03-11 16:15:51 +00:00
|
|
|
|
2019-03-10 00:00:54 +00:00
|
|
|
case HOLD:
|
|
|
|
state = Object.assign({}, state, { onHold: true });
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case API_LOGIN:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
logged: action.logged,
|
|
|
|
//token:action.token,
|
|
|
|
failedAttempt: action.failedAttempt,
|
|
|
|
user: action.user,
|
|
|
|
userDetails: {
|
|
|
|
token: action.token,
|
|
|
|
username: action.userDetails.username,
|
|
|
|
password: action.userDetails.password
|
2019-03-11 16:15:51 +00:00
|
|
|
},
|
2019-03-12 03:34:40 +00:00
|
|
|
loadingLogin: false,
|
2019-03-11 16:15:51 +00:00
|
|
|
onHold: action.onHold
|
2019-03-10 00:00:54 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case CHECK_USER:
|
|
|
|
var u = action.userDetails;
|
|
|
|
if (action.token != undefined) u.token = action.token;
|
|
|
|
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
logged: action.logged,
|
|
|
|
onHold: action.onHold,
|
|
|
|
userDetails: u
|
|
|
|
});
|
|
|
|
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case LOGOUT_USER:
|
2019-03-12 03:34:40 +00:00
|
|
|
state = Object.assign({}, state, {
|
|
|
|
user: {},
|
|
|
|
userDetails: {},
|
|
|
|
logged: false
|
|
|
|
});
|
2019-03-10 00:00:54 +00:00
|
|
|
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case USER_INFO:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
user: action.user,
|
|
|
|
loggedIn: action.loggedIn,
|
|
|
|
onHold: action.onHold
|
|
|
|
});
|
|
|
|
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case GET_EVENTS:
|
2019-03-12 03:34:40 +00:00
|
|
|
state = Object.assign({}, state, {
|
|
|
|
events: action.events,
|
|
|
|
a: action.day1,
|
|
|
|
b: action.day2,
|
|
|
|
c: action.day3,
|
|
|
|
d: action.day4
|
|
|
|
});
|
2019-03-10 00:00:54 +00:00
|
|
|
|
|
|
|
return state;
|
|
|
|
|
2019-03-12 03:34:40 +00:00
|
|
|
case REMOVE_SESSION:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
sessions: action.sessions,
|
|
|
|
Blocks: action.Blocks,
|
|
|
|
careerPath: action.careerPath,
|
|
|
|
changingGuest: action.changingGuest,
|
|
|
|
user: action.user
|
|
|
|
});
|
|
|
|
return state;
|
|
|
|
|
2019-03-10 00:00:54 +00:00
|
|
|
case OPEN_MODAL:
|
2019-03-12 03:34:40 +00:00
|
|
|
console.log("open modal");
|
2019-03-10 00:00:54 +00:00
|
|
|
state = Object.assign({}, state, {
|
|
|
|
modalOpen: true,
|
|
|
|
modalInfo: action.modalInfo,
|
|
|
|
modalType: action.type
|
|
|
|
});
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case CLOSE_MODAL:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
modalOpen: false,
|
|
|
|
modalInfo: "",
|
|
|
|
type: ""
|
|
|
|
});
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case SIGN_SESSION:
|
2019-03-12 03:34:40 +00:00
|
|
|
|
|
|
|
if(action.sessions==undefined || action.Blocks==undefined || action.user==undefined){
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
|
|
|
|
changingGuest: false,
|
|
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
else{
|
|
|
|
state = Object.assign({}, state, {
|
2019-03-10 18:28:14 +00:00
|
|
|
sessions: action.sessions,
|
2019-03-10 00:00:54 +00:00
|
|
|
Blocks: action.Blocks,
|
2019-03-10 18:28:14 +00:00
|
|
|
careerPath: action.careerPath,
|
2019-03-12 03:34:40 +00:00
|
|
|
changingGuest: false,
|
|
|
|
user: action.user
|
2019-03-10 00:00:54 +00:00
|
|
|
});
|
2019-03-12 03:34:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-03-10 00:00:54 +00:00
|
|
|
return state;
|
|
|
|
|
|
|
|
case SESSION_BLOCKS:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
Blocks: action.Blocks,
|
|
|
|
onHoldBlocks: false,
|
|
|
|
changingGuest: false
|
|
|
|
});
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case GET_CAREERS:
|
|
|
|
var c = {
|
|
|
|
guests: action.guests
|
|
|
|
};
|
|
|
|
state = Object.assign({}, state, { calendar: c });
|
|
|
|
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case CHANGE_GUEST:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
changingGuest: false,
|
|
|
|
sessions: action.sessions,
|
2019-03-10 18:28:14 +00:00
|
|
|
Blocks: action.Blocks,
|
|
|
|
careerPath: action.careerPath
|
2019-03-10 00:00:54 +00:00
|
|
|
});
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case WAIT_CHANGE:
|
|
|
|
state = Object.assign({}, state, { changingGuest: true });
|
|
|
|
return state;
|
|
|
|
|
|
|
|
case TIMERWAIT_CHANGE:
|
|
|
|
state = Object.assign({}, state, { Blocks: true });
|
|
|
|
return state;
|
|
|
|
case GET_SESSIONS:
|
|
|
|
state = Object.assign({}, state, {
|
|
|
|
sessions: action.sessions,
|
|
|
|
Blocks: action.Blocks,
|
|
|
|
careerPath: action.careerPath
|
|
|
|
});
|
|
|
|
return state;
|
|
|
|
default:
|
|
|
|
return state;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
export default apiReducer;
|