20 lines
500 B
JavaScript
20 lines
500 B
JavaScript
import { ofType } from 'redux-epic';
|
|
import {
|
|
types,
|
|
|
|
fetchUserComplete,
|
|
createErrorObservable,
|
|
showSignIn
|
|
} from './';
|
|
|
|
export default function getUserEpic(actions, _, { services }) {
|
|
return actions::ofType('' + types.fetchUser)
|
|
.flatMap(() => {
|
|
return services.readService$({ service: 'user' })
|
|
.filter(({ entities, result }) => entities && !!result)
|
|
.map(fetchUserComplete)
|
|
.defaultIfEmpty(showSignIn())
|
|
.catch(createErrorObservable);
|
|
});
|
|
}
|