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)); } }
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, }), ); }