Files
Eventment/app/actions/profile.js
2019-08-05 21:23:17 -04:00

34 lines
881 B
JavaScript

import { List } from 'immutable';
import { getEndpointUrl } from '../api/index.js';
import {
EVENTS_LOADED,
GET_EVENTS,
} from '../constants/actionTypes.js';
import { blockUI, unblockUI } from './index.js';
import { API_ENDPOINTS } from '../constants/constants.js';
import Event from '../domain/Event.js';
const eventsLoadSuccess = (events, dispatch) => {
const payload = List(events).map((i) => Event.fromJS(i));
dispatch({ type: EVENTS_LOADED, payload });
dispatch(unblockUI);
};
export const setActiveEvent = (eventId) => ({
type: SET_ACTIVE_EVENT,
payload: eventId,
});
export const fetchEvents = () => (dispatch) => {
dispatch(blockUI());
fetch(getEndpointUr(API_ENDPOINTS.GET_EVENTS))
.then(response => response.json())
.then(payload => eventsLoadSuccess(payload, dispatch))
.catch(err => console.error('[actions::getEvents]', err));
};