diff options
Diffstat (limited to 'app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js')
-rw-r--r-- | app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js b/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js index 11bd04f5b01..409265175a4 100644 --- a/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js +++ b/app/assets/javascripts/projects/gke_cluster_dropdowns/store/actions.js @@ -1,9 +1,9 @@ /* global gapi */ import * as types from './mutation_types'; -const gapiRequest = ({ service, params, commit, mutation, payloadKey }) => +const gapiResourceListRequest = ({ resource, params, commit, mutation, payloadKey }) => new Promise((resolve, reject) => { - const request = service.list(params); + const request = resource.list(params); return request.then( resp => { @@ -32,17 +32,36 @@ export const setMachineType = ({ commit }, selectedMachineType) => { }; export const fetchProjects = ({ commit }) => - gapiRequest({ - service: gapi.client.cloudresourcemanager.projects, + gapiResourceListRequest({ + resource: gapi.client.cloudresourcemanager.projects, params: {}, commit, mutation: types.SET_PROJECTS, payloadKey: 'projects', }); +export const validateProjectBilling = ({ commit, state }) => + new Promise((resolve, reject) => { + const request = gapi.client.cloudbilling.projects.getBillingInfo({ + name: `projects/${state.selectedProject.projectId}`, + }); + + return request.then( + resp => { + const { billingEnabled } = resp.result; + + commit(types.SET_PROJECT_BILLING_STATUS, !!billingEnabled); + resolve(); + }, + resp => { + reject(resp); + }, + ); + }); + export const fetchZones = ({ commit, state }) => - gapiRequest({ - service: gapi.client.compute.zones, + gapiResourceListRequest({ + resource: gapi.client.compute.zones, params: { project: state.selectedProject.projectId, }, @@ -52,8 +71,8 @@ export const fetchZones = ({ commit, state }) => }); export const fetchMachineTypes = ({ commit, state }) => - gapiRequest({ - service: gapi.client.compute.machineTypes, + gapiResourceListRequest({ + resource: gapi.client.compute.machineTypes, params: { project: state.selectedProject.projectId, zone: state.selectedZone, |