Sha256: b0c5f359a6b3bcca770895a8e7a12a61b43c2253ae735192f7a84ee42af73b79

Contents?: true

Size: 1.38 KB

Versions: 69

Compression:

Stored size: 1.38 KB

Contents

import Immutable from 'seamless-immutable';
import { isEmpty, get } from 'lodash';

import {
  REPOSITORY_SETS_REQUEST,
  REPOSITORY_SETS_SUCCESS,
  REPOSITORY_SETS_FAILURE,
  REPOSITORY_SETS_UPDATE_RECOMMENDED,
} from '../../consts';

import { initialState } from './sets.fixtures.js';

export default (state = initialState, action) => {
  const { payload } = action;

  switch (action.type) {
  case REPOSITORY_SETS_REQUEST:
    return state.set('loading', true);

  case REPOSITORY_SETS_UPDATE_RECOMMENDED:
    return state
      .set('recommended', payload);

  case REPOSITORY_SETS_SUCCESS:
    return state
      .set('results', payload.response.results)
      .set('pagination', {
        page: Number(payload.response.page),
        // server can return per_page: null when there's error in the search query,
        // don't store it in such case
        // eslint-disable-next-line camelcase
        perPage: Number(payload.response.per_page || state.pagination.perPage),
      })
      .set('itemCount', Number(payload.response.subtotal))
      .set('loading', false)
      .set('searchIsActive', !isEmpty(payload.search))
      .set('search', payload.search);

  case REPOSITORY_SETS_FAILURE:
    return Immutable({
      error: payload,
      loading: false,
      missingPermissions: get(payload, ['response', 'data', 'error', 'missing_permissions']),
    });

  default:
    return state;
  }
};

Version data entries

69 entries across 69 versions & 1 rubygems

Version Path
katello-4.16.0 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.15.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.16.0.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.16.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.15.0 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.15.0.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.15.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.0 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.0.rc3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.0.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.0.rc1.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.14.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.13.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.13.0 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.12.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.13.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.12.0 webpack/redux/reducers/RedHatRepositories/sets.js