LukeSheard/Monzo-Dashboard

View on GitHub
src/common/decorators/user-is-not-authenticated.js

Summary

Maintainability
A
0 mins
Test Coverage
import {
  getOr,
} from 'lodash/fp';

import {
  routerActions,
} from 'react-router-redux';

import {
  UserAuthWrapper as userAuthWrapper,
} from 'redux-auth-wrapper';

import {
  getToken,
} from 'store/session/selectors';

export default userAuthWrapper({
  // Selectors
  authSelector: getToken,
  predicate: token => getOr(0, 'exp', token) * 1000 <= new Date().getTime(),

  // Redirect Options
  allowRedirectBack: false,
  failureRedirectPath: '/dashboard',
  redirectAction: routerActions.replace,

  // Wrapper Options
  wrapperDisplayName: 'LoginRedirectWrapper',
});