Example #1
0
function* fetchUserReviews({
  payload: { errorHandlerId, page, userId },
}: FetchUserReviewsAction): Saga {
  const errorHandler = createErrorHandler(errorHandlerId);

  try {
    const state = yield select(getState);

    const params: GetReviewsParams = {
      apiState: state.api,
      page,
      user: userId,
    };

    const response: GetReviewsApiResponse = yield call(getReviews, params);

    yield put(
      setUserReviews({
        pageSize: response.page_size,
        reviewCount: response.count,
        reviews: response.results,
        userId,
      }),
    );
  } catch (error) {
    log.warn(`Failed to load reviews for user ID ${userId}: ${error}`);
    yield put(errorHandler.createErrorAction(error));
  }
}
Example #2
0
 function _setUserReviews({ reviews = [{ ...fakeReview }], ...params } = {}) {
   return setUserReviews({
     pageSize: DEFAULT_API_PAGE_SIZE,
     reviews,
     reviewCount: reviews.length,
     userId: 321,
     ...params,
   });
 }
 function _setUserReviews({
   store,
   userId,
   reviews = [fakeReview],
   count = null,
 }) {
   store.dispatch(
     setUserReviews({
       pageSize: DEFAULT_API_PAGE_SIZE,
       reviewCount: count === null ? reviews.length : count,
       reviews,
       userId,
     }),
   );
 }