Files
imexmobile/redux/employee/employee.reducer.js
2023-05-10 15:43:40 -04:00

64 lines
1.6 KiB
JavaScript

import EmployeeActionTypes from "./employee.types";
const INITIAL_STATE = {
currentEmployee: {
authorized: null,
technician: null,
},
signingIn: false,
gettingRates: false,
error: null,
};
const employeeReducer = (state = INITIAL_STATE, action) => {
switch (action.type) {
case EmployeeActionTypes.EMPLOYEE_SIGN_IN_START:
return {
...state,
signingIn: true,
};
case EmployeeActionTypes.EMPLOYEE_SIGN_IN_SUCCESS:
return {
...state,
currentEmployee: { authorized: true, technician:action.payload },
signingIn: false,
error: null,
};
case EmployeeActionTypes.EMPLOYEE_SIGN_IN_FAILURE:
return {
...state,
signingIn: false,
error: action.payload,
};
case EmployeeActionTypes.EMPLOYEE_SIGN_OUT:
return {
...state,
currentEmployee: { authorized: false, technician:null },//TODO check if this needs to do clean up like set loaders all to false
error: null,
};
case EmployeeActionTypes.EMPLOYEE_GET_RATES_START:
return {
...state,
gettingRates: true,
};
case EmployeeActionTypes.EMPLOYEE_GET_RATES_SUCCESS:
return {
...state,
currentEmployee: { ...state.currentEmployee, technician:action.payload },
gettingRates: false,
error: null,
};
case EmployeeActionTypes.EMPLOYEE_GET_RATES_FAILURE:
return {
...state,
gettingRates: false,
error: action.payload,
};
default:
return state;
}
};
export default employeeReducer;