mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 05:32:18 +00:00
- Clean up login/redirect flow - Add redirect when not authed on other endpoints - Add GET /stats endpoint for overal stats
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
import {
|
|
REGISTER_SUCCESS,
|
|
REGISTER_FAIL,
|
|
LOGIN_SUCCESS,
|
|
LOGIN_FAIL,
|
|
LOGOUT,
|
|
} from "../Actions/types";
|
|
|
|
const user = JSON.parse(localStorage.getItem('user'));
|
|
|
|
const initialState = user
|
|
? { isLoggedIn: true, user: user }
|
|
: { isLoggedIn: false, user: null };
|
|
|
|
export default function authReducer(state = initialState, action) {
|
|
const { type, payload } = action;
|
|
|
|
switch (type) {
|
|
case REGISTER_SUCCESS:
|
|
return {
|
|
...state,
|
|
isLoggedIn: false,
|
|
};
|
|
case REGISTER_FAIL:
|
|
return {
|
|
...state,
|
|
isLoggedIn: false,
|
|
};
|
|
case LOGIN_SUCCESS:
|
|
return {
|
|
...state,
|
|
isLoggedIn: true,
|
|
user: {
|
|
jwt: payload.jwt,
|
|
uuid: payload.sub,
|
|
exp: payload.exp,
|
|
}
|
|
};
|
|
case LOGIN_FAIL:
|
|
return {
|
|
...state,
|
|
isLoggedIn: false,
|
|
};
|
|
case LOGOUT:
|
|
return {
|
|
...state,
|
|
isLoggedIn: false,
|
|
user: null,
|
|
};
|
|
default:
|
|
return state;
|
|
}
|
|
}
|