Files
Eventment/app/actions/auctionStatus.js

28 lines
965 B
JavaScript

import { List } from 'immutable';
import { fetchAuctionStatus as fetchActionStatusApi } from '../api/actionStatus.js';
import { AUCTIONS_UPDATED } from '../constants/actionTypes.js';
import { getActiveEventId } from '../selectors/activeEvent.js';
import { getAuthToken } from '../selectors/auth.js';
import Auction from '../domain/Auction.js';
const auctionsUpdated = (payload) => ({
type: AUCTIONS_UPDATED,
payload,
});
const autionStatusLoadSuccess = (auctions) => (dispatch) => {
const payload = List(auctions).map((i) => Auction.fromJS(i));
dispatch(auctionsUpdated(payload));
};
export const fetchAuctionStatus = () => (dispatch, getState) => {
const authToken = getAuthToken(getState());
const eventId = getActiveEventId(getState());
return fetchActionStatusApi(eventId, authToken)
.then((payload) => dispatch(autionStatusLoadSuccess(payload)))
.catch((err) => console.error('[actions::getStatus]', err));
};