All files / ee/app/assets/javascripts/approvals/stores/modules/approval_settings actions.js

100% Statements 20/20
80% Branches 4/5
100% Functions 14/14
100% Lines 20/20

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 65 66 67 68 69        75x   6x   6x     1x     5x   5x 5x         4x   4x           2x     2x   2x 2x         1x       1x       1x       1x       1x       1x       1x      
import * as Sentry from '~/sentry/sentry_browser_wrapper';
import axios from '~/lib/utils/axios_utils';
import * as types from './mutation_types';
 
export default (mapStateToPayload, updateMethod = 'put') => ({
  fetchSettings({ commit }, endpoint) {
    commit(types.REQUEST_SETTINGS);
 
    return axios
      .get(endpoint)
      .then(({ data }) => {
        commit(types.RECEIVE_SETTINGS_SUCCESS, data);
      })
      .catch((e) => {
        const error = e?.response?.data?.message || e;
 
        Sentry.captureException(error);
        commit(types.RECEIVE_SETTINGS_ERROR);
      });
  },
 
  updateSettings({ commit, state }, endpoint) {
    commit(types.REQUEST_UPDATE_SETTINGS);
 
    return axios({
      method: updateMethod,
      url: endpoint,
      data: { ...mapStateToPayload(state) },
    })
      .then(({ data }) => {
        commit(types.UPDATE_SETTINGS_SUCCESS, data);
      })
      .catch((e) => {
        const error = e?.response?.data?.message || e;
 
        Sentry.captureException(error);
        commit(types.UPDATE_SETTINGS_ERROR);
      });
  },
 
  dismissErrorMessage({ commit }) {
    commit(types.DISMISS_ERROR_MESSAGE);
  },
 
  setPreventAuthorApproval({ commit }, value) {
    commit(types.SET_PREVENT_AUTHOR_APPROVAL, value);
  },
 
  setPreventCommittersApproval({ commit }, value) {
    commit(types.SET_PREVENT_COMMITTERS_APPROVAL, value);
  },
 
  setPreventMrApprovalRuleEdit({ commit }, value) {
    commit(types.SET_PREVENT_MR_APPROVAL_RULE_EDIT, value);
  },
 
  setRemoveApprovalsOnPush({ commit }, value) {
    commit(types.SET_REMOVE_APPROVALS_ON_PUSH, value);
  },
 
  setSelectiveCodeOwnerRemovals({ commit }, value) {
    commit(types.SET_SELECTIVE_CODE_OWNER_REMOVALS, value);
  },
 
  setRequireUserPassword({ commit }, value) {
    commit(types.SET_REQUIRE_USER_PASSWORD, value);
  },
});