All files / app/assets/javascripts/feature_flags/store/index actions.js

100% Statements 37/37
33.33% Branches 1/3
100% Functions 20/20
100% Lines 33/33

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64      2x 27x   2x 28x   28x         22x         6x     27x 2x 22x 6x   2x 3x   3x       1x 2x     2x   2x 1x 2x 2x   2x 3x   3x   1x 2x     2x 2x 1x 2x 2x   2x 1x    
import axios from '~/lib/utils/axios_utils';
import * as types from './mutation_types';
 
export const setFeatureFlagsOptions = ({ commit }, options) =>
  commit(types.SET_FEATURE_FLAGS_OPTIONS, options);
 
export const fetchFeatureFlags = ({ state, dispatch }) => {
  dispatch('requestFeatureFlags');
 
  axios
    .get(state.endpoint, {
      params: state.options,
    })
    .then((response) =>
      dispatch('receiveFeatureFlagsSuccess', {
        data: response.data || {},
        headers: response.headers,
      }),
    )
    .catch(() => dispatch('receiveFeatureFlagsError'));
};
 
export const requestFeatureFlags = ({ commit }) => commit(types.REQUEST_FEATURE_FLAGS);
export const receiveFeatureFlagsSuccess = ({ commit }, response) =>
  commit(types.RECEIVE_FEATURE_FLAGS_SUCCESS, response);
export const receiveFeatureFlagsError = ({ commit }) => commit(types.RECEIVE_FEATURE_FLAGS_ERROR);
 
export const toggleFeatureFlag = ({ dispatch }, flag) => {
  dispatch('updateFeatureFlag', flag);
 
  axios
    .put(flag.update_path, {
      operations_feature_flag: flag,
    })
    .then((response) => dispatch('receiveUpdateFeatureFlagSuccess', response.data))
    .catch(() => dispatch('receiveUpdateFeatureFlagError', flag.id));
};
 
export const updateFeatureFlag = ({ commit }, flag) => commit(types.UPDATE_FEATURE_FLAG, flag);
 
export const receiveUpdateFeatureFlagSuccess = ({ commit }, data) =>
  commit(types.RECEIVE_UPDATE_FEATURE_FLAG_SUCCESS, data);
export const receiveUpdateFeatureFlagError = ({ commit }, id) =>
  commit(types.RECEIVE_UPDATE_FEATURE_FLAG_ERROR, id);
 
export const rotateInstanceId = ({ state, dispatch }) => {
  dispatch('requestRotateInstanceId');
 
  axios
    .post(state.rotateEndpoint)
    .then(({ data = {}, headers }) => dispatch('receiveRotateInstanceIdSuccess', { data, headers }))
    .catch(() => dispatch('receiveRotateInstanceIdError'));
};
 
export const requestRotateInstanceId = ({ commit }) => commit(types.REQUEST_ROTATE_INSTANCE_ID);
export const receiveRotateInstanceIdSuccess = ({ commit }, response) =>
  commit(types.RECEIVE_ROTATE_INSTANCE_ID_SUCCESS, response);
export const receiveRotateInstanceIdError = ({ commit }) =>
  commit(types.RECEIVE_ROTATE_INSTANCE_ID_ERROR);
 
export const clearAlert = ({ commit }, index) => {
  commit(types.RECEIVE_CLEAR_ALERT, index);
};