src/common/actions/retroSurvey.js
import {getGraphQLFetcher} from 'src/common/util'
import types from './types'
import queries from './queries'
export function findRetrospectiveSurveys() {
return {
types: [
types.FIND_RETROSURVEYS_REQUEST,
types.FIND_RETROSURVEYS_SUCCESS,
types.FIND_RETROSURVEYS_FAILURE,
],
shouldCallAPI: () => true,
callAPI: (dispatch, getState) => {
const query = queries.findRetrospectiveSurveys()
return getGraphQLFetcher(dispatch, getState().auth)(query)
.then(graphQLResponse => graphQLResponse.data.findRetrospectiveSurveys)
},
payload: {},
}
}
export function getRetrospectiveSurvey(projectName) {
return {
types: [
types.GET_RETROSURVEY_REQUEST,
types.GET_RETROSURVEY_SUCCESS,
types.GET_RETROSURVEY_FAILURE,
],
shouldCallAPI: () => true,
callAPI: (dispatch, getState) => {
const query = queries.getRetrospectiveSurvey(projectName)
return getGraphQLFetcher(dispatch, getState().auth)(query)
.then(graphQLResponse => graphQLResponse.data.getRetrospectiveSurvey)
},
payload: {},
}
}
export function saveRetroSurveyResponses(responses, options = {}) {
return {
types: [
types.SAVE_SURVEY_RESPONSES_REQUEST,
types.SAVE_SURVEY_RESPONSES_SUCCESS,
types.SAVE_SURVEY_RESPONSES_FAILURE,
],
shouldCallAPI: () => true,
callAPI: (dispatch, getState) => {
const query = queries.saveRetrospectiveSurveyResponses(responses)
return getGraphQLFetcher(dispatch, getState().auth)(query)
.then(graphQLResponse => graphQLResponse.data.saveRetrospectiveSurveyResponse)
.then(result => {
if (options.onSuccess) {
options.onSuccess()
}
return result
})
},
payload: {},
}
}
export function submitSurvey(surveyId) {
return {
types: [
types.SUBMIT_SURVEY_REQUEST,
types.SUBMIT_SURVEY_SUCCESS,
types.SUBMIT_SURVEY_FAILURE,
],
shouldCallAPI: () => true,
callAPI: (dispatch, getState) => {
const query = queries.submitSurvey(surveyId)
return getGraphQLFetcher(dispatch, getState().auth)(query)
.then(graphQLResponse => graphQLResponse.data.submitSurvey)
},
payload: {},
}
}
export function setSurveyGroup(groupIndex) {
return {type: types.SET_SURVEY_GROUP, groupIndex}
}