Welcome to mirror list, hosted at ThFree Co, Russian Federation.

actions.js « store « codequality_report « reports « javascripts « assets « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 04aca11b94553919e19bb6ec3a7855caef52eb3c (plain)
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
import pollUntilComplete from '~/lib/utils/poll_until_complete';
import { STATUS_NOT_FOUND } from '../../constants';
import * as types from './mutation_types';
import { parseCodeclimateMetrics } from './utils/codequality_parser';

export const setPaths = ({ commit }, paths) => commit(types.SET_PATHS, paths);

export const fetchReports = ({ state, dispatch, commit }) => {
  commit(types.REQUEST_REPORTS);

  return pollUntilComplete(state.reportsPath)
    .then(({ data }) => {
      if (data.status === STATUS_NOT_FOUND) {
        return dispatch('receiveReportsError', data);
      }
      return dispatch('receiveReportsSuccess', {
        newIssues: parseCodeclimateMetrics(data.new_errors, state.headBlobPath),
        resolvedIssues: parseCodeclimateMetrics(data.resolved_errors, state.baseBlobPath),
      });
    })
    .catch((error) => dispatch('receiveReportsError', error));
};

export const receiveReportsSuccess = ({ commit }, data) => {
  commit(types.RECEIVE_REPORTS_SUCCESS, data);
};

export const receiveReportsError = ({ commit }, error) => {
  commit(types.RECEIVE_REPORTS_ERROR, error);
};