Sha256: 4f91c8c58960b74b18c5723bde970a63e1b4961b8da6c0ce6b18cb491e4d6310

Contents?: true

Size: 1.43 KB

Versions: 88

Compression:

Stored size: 1.43 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

88 entries across 88 versions & 1 rubygems

Version Path
katello-4.3.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.4.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0.rc4 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0.rc3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0.rc2.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.3.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.0.1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.1.4 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.0.3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.0.1.rc3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-3.18.5 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.0.1.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.0.rc2 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.1.3 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.2.0.rc1 webpack/redux/reducers/RedHatRepositories/sets.js
katello-4.0.2.1 webpack/redux/reducers/RedHatRepositories/sets.js