Files
codecrumbs/example-project/auth/reducer.js
2018-10-25 19:48:13 +02:00

27 lines
542 B
JavaScript

import { Record } from 'immutable';
import { INIT_AUTH, SIGN_IN_SUCCESS, SIGN_OUT_SUCCESS } from './action-types';
export const AuthState = new Record({
authenticated: false,
id: null
});
export function authReducer(state = new AuthState(), {payload, type}) {
switch (type) {
case INIT_AUTH:
case SIGN_IN_SUCCESS:
return state.merge({
authenticated: !!payload,
id: payload ? payload.uid : null
});
case SIGN_OUT_SUCCESS:
return new AuthState();
default:
return state;
}
}