Ejemplo n.º 1
0
export function* fetchSearchResults({ payload }: SearchStartAction): Saga {
  const { errorHandlerId } = payload;
  const errorHandler = createErrorHandler(errorHandlerId);

  yield put(errorHandler.createClearingAction());

  try {
    const { filters } = payload;

    const state = yield select(getState);

    const params: SearchParams = {
      api: state.api,
      auth: true,
      filters,
    };
    const response = yield call(searchApi, params);
    const { count, page_size: pageSize, results } = response;

    yield put(searchLoad({ count, pageSize, results }));
  } catch (error) {
    log.warn(`Search results failed to load: ${error}`);
    yield put(errorHandler.createErrorAction(error));
    yield put(abortSearch());
  }
}
Ejemplo n.º 2
0
 function getNextState() {
   return search(initialLoadedState, searchLoad(response));
 }