export function reducer()

in src/app/store/security/authentication.reducer.ts [41:89]


export function reducer(state = initialState, action: security.Actions): State {
  switch (action.type) {

    case security.LOGIN: {
      return Object.assign({}, state, {
        loading: true
      });
    }

    case security.LOGIN_SUCCESS: {
      const payload: LoginSuccessPayload = action.payload;
      return Object.assign({}, state, {
        loading: false,
        authentication: payload.authentication,
        username: payload.username,
        tenant: payload.tenant
      });
    }

    case security.REFRESH_ACCESS_TOKEN_SUCCESS: {
      const authentication = action.payload;
      return Object.assign({}, state, {
        authentication
      });
    }

    case security.CHANGE_PASSWORD_FAIL: {
      const error = action.payload;
      return Object.assign({}, state, {
        passwordError: error
      });
    }

    case security.LOGIN_FAIL: {
      const error = action.payload;
      return Object.assign({}, state, {
        loading: false,
        error
      });
    }

    case security.LOGOUT_SUCCESS: {
      return initialState;
    }

    default:
      return state;
  }
}