Commit 1a9f90f8 authored by Clement Ho's avatar Clement Ho

Merge branch '46032/cycle-analytics-service-axios' into 'master'

refactor 'cycle_analytics' to use axios

See merge request gitlab-org/gitlab-ce!18782
parents 149e91b5 0421fbcd
...@@ -82,7 +82,6 @@ export default () => { ...@@ -82,7 +82,6 @@ export default () => {
this.service this.service
.fetchCycleAnalyticsData(fetchOptions) .fetchCycleAnalyticsData(fetchOptions)
.then(resp => resp.json())
.then((response) => { .then((response) => {
this.store.setCycleAnalyticsData(response); this.store.setCycleAnalyticsData(response);
this.selectDefaultStage(); this.selectDefaultStage();
...@@ -116,7 +115,6 @@ export default () => { ...@@ -116,7 +115,6 @@ export default () => {
stage, stage,
startDate: this.startDate, startDate: this.startDate,
}) })
.then(resp => resp.json())
.then((response) => { .then((response) => {
this.isEmptyStage = !response.events.length; this.isEmptyStage = !response.events.length;
this.store.setStageEvents(response.events, stage); this.store.setStageEvents(response.events, stage);
......
import Vue from 'vue'; import axios from '~/lib/utils/axios_utils';
import VueResource from 'vue-resource';
Vue.use(VueResource);
export default class CycleAnalyticsService { export default class CycleAnalyticsService {
constructor(options) { constructor(options) {
this.requestPath = options.requestPath; this.axios = axios.create({
this.cycleAnalytics = Vue.resource(this.requestPath); baseURL: options.requestPath,
});
} }
fetchCycleAnalyticsData(options = { startDate: 30 }) { fetchCycleAnalyticsData(options = { startDate: 30 }) {
return this.cycleAnalytics.get({ cycle_analytics: { start_date: options.startDate } }); return this.axios
.get('', {
params: {
'cycle_analytics[start_date]': options.startDate,
},
})
.then(x => x.data);
} }
fetchStageData(options) { fetchStageData(options) {
...@@ -19,12 +23,12 @@ export default class CycleAnalyticsService { ...@@ -19,12 +23,12 @@ export default class CycleAnalyticsService {
startDate, startDate,
} = options; } = options;
return Vue.http.get(`${this.requestPath}/events/${stage.name}.json`, { return this.axios
.get(`events/${stage.name}.json`, {
params: { params: {
cycle_analytics: { 'cycle_analytics[start_date]': startDate,
start_date: startDate,
},
}, },
}); })
.then(x => x.data);
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment