UNPKG

trc-client-core

Version:
59 lines (45 loc) 1.86 kB
import {Map, List, fromJS} from 'immutable'; import xhr from 'trc-client-core/src/utils/xhr'; import {createAction} from 'redux-actions'; import createRequestActions from 'trc-client-core/src/utils/createRequestActions'; import { ADMIN_EXPORT_REGISTRATION_ENDPOINT, SERVER_INFORMATION_ENDPOINT } from 'trc-client-core/src/constants/Endpoints'; const EXPORT_REGISTRATION_FETCH = 'trc/admin/EXPORT_REGISTRATION_FETCH'; const EXPORT_REGISTRATION_RECEIVE = 'trc/admin/EXPORT_REGISTRATION_RECEIVE'; const EXPORT_REGISTRATION_ERROR = 'trc/admin/EXPORT_REGISTRATION_ERROR'; export const requestRegistrationData = createRequestActions( EXPORT_REGISTRATION_FETCH, EXPORT_REGISTRATION_RECEIVE, EXPORT_REGISTRATION_ERROR, query => xhr.get(ADMIN_EXPORT_REGISTRATION_ENDPOINT, query) ); const SITE_INFORMATION_FETCH = 'trc/admin/SITE_INFORMATION_FETCH'; const SITE_INFORMATION_RECEIVE = 'trc/admin/SITE_INFORMATION_RECEIVE'; const SITE_INFORMATION_ERROR = 'trc/admin/SITE_INFORMATION_ERROR'; export const requestSiteInformation = createRequestActions( SITE_INFORMATION_FETCH, SITE_INFORMATION_RECEIVE, SITE_INFORMATION_ERROR, query => xhr.get(SERVER_INFORMATION_ENDPOINT) ); const initialState = Map({ registration: List() }); export default function AdminDuck(state = initialState, action) { switch (action.type) { case EXPORT_REGISTRATION_ERROR: return state .set('registrationError', fromJS(action.payload)); case EXPORT_REGISTRATION_RECEIVE: return state .set('registration', fromJS(action.payload)) .set('registrationFetching', false); case SITE_INFORMATION_RECEIVE: return state .set('siteInformation', fromJS(action.payload)); default: return state; } }