Sha256: 3fd97d5cb2c0dacbabaeb9fa100b28d3ceddb2e7194c3f2b7dd91673ad76d7bf

Contents?: true

Size: 1.79 KB

Versions: 14

Compression:

Stored size: 1.79 KB

Contents

import { propsToSnakeCase } from 'foremanReact/common/helpers';

import api, { orgId } from '../../../services/api';
import {
  normalizeRepositorySets,
  repoTypeFilterToSearchQuery,
  productsIdsToSearchQuery,
  joinSearchQueries,
  recommendedRepositorySetsQuery,
} from './helpers';

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

// eslint-disable-next-line import/prefer-default-export
export const loadRepositorySets = (extendedParams = {}) => (dispatch, getState) => {
  const { recommended } = getState().katello.redHatRepositories.sets;

  dispatch({ type: REPOSITORY_SETS_REQUEST, params: extendedParams });

  const searchParams = extendedParams.search || {};
  const search = joinSearchQueries([
    repoTypeFilterToSearchQuery(searchParams.filters || []),
    productsIdsToSearchQuery(searchParams.products || []),
    searchParams.query,
    recommended ? recommendedRepositorySetsQuery : '',
  ]);

  const params = {
    ...{ organization_id: orgId(), with_active_subscription: true },
    ...propsToSnakeCase(extendedParams),
    search,
  };

  api
    .get('/repository_sets', {}, params)
    .then(({ data }) => {
      dispatch({
        type: REPOSITORY_SETS_SUCCESS,
        payload: {
          response: normalizeRepositorySets(data),
          search: searchParams,
        },
      });
    })
    .catch((result) => {
      dispatch({
        type: REPOSITORY_SETS_FAILURE,
        payload: result,
      });
    });
};

export const updateRecommendedRepositorySets = value => (dispatch, getState) => {
  const { search } = getState().katello.redHatRepositories.sets;

  dispatch({
    type: REPOSITORY_SETS_UPDATE_RECOMMENDED,
    payload: value,
  });

  dispatch(loadRepositorySets({ search }));
};

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
katello-3.13.4 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.3 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.2 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.1 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.0 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.0.rc2.1 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.0.rc2 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.3 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.2 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.13.0.rc1 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.1 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.0 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.0.rc2 webpack/redux/actions/RedHatRepositories/sets.js
katello-3.12.0.rc1 webpack/redux/actions/RedHatRepositories/sets.js