28 lines
966 B
JavaScript
28 lines
966 B
JavaScript
import { List } from 'immutable';
|
|
|
|
import { fetchAuctionStatus as fetchActionStatusApi } from '../api/auctionStatus.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));
|
|
};
|