summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/create_cluster/gke_cluster/store/actions.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/create_cluster/gke_cluster/store/actions.js')
-rw-r--r--app/assets/javascripts/create_cluster/gke_cluster/store/actions.js89
1 files changed, 48 insertions, 41 deletions
diff --git a/app/assets/javascripts/create_cluster/gke_cluster/store/actions.js b/app/assets/javascripts/create_cluster/gke_cluster/store/actions.js
index f0c41d1d230..8977053297a 100644
--- a/app/assets/javascripts/create_cluster/gke_cluster/store/actions.js
+++ b/app/assets/javascripts/create_cluster/gke_cluster/store/actions.js
@@ -1,19 +1,19 @@
-/* global gapi */
import * as types from './mutation_types';
+import gapiLoader from '../gapi_loader';
const gapiResourceListRequest = ({ resource, params, commit, mutation, payloadKey }) =>
new Promise((resolve, reject) => {
const request = resource.list(params);
return request.then(
- resp => {
+ (resp) => {
const { result } = resp;
commit(mutation, result[payloadKey]);
resolve();
},
- resp => {
+ (resp) => {
reject(resp);
},
);
@@ -36,57 +36,64 @@ export const setIsValidatingProjectBilling = ({ commit }, isValidatingProjectBil
};
export const fetchProjects = ({ commit }) =>
- gapiResourceListRequest({
- resource: gapi.client.cloudresourcemanager.projects,
- params: {},
- commit,
- mutation: types.SET_PROJECTS,
- payloadKey: 'projects',
- });
+ gapiLoader().then((gapi) =>
+ gapiResourceListRequest({
+ resource: gapi.client.cloudresourcemanager.projects,
+ params: {},
+ commit,
+ mutation: types.SET_PROJECTS,
+ payloadKey: 'projects',
+ }),
+ );
export const validateProjectBilling = ({ dispatch, commit, state }) =>
- new Promise((resolve, reject) => {
- const request = gapi.client.cloudbilling.projects.getBillingInfo({
- name: `projects/${state.selectedProject.projectId}`,
- });
+ gapiLoader()
+ .then((gapi) => {
+ const request = gapi.client.cloudbilling.projects.getBillingInfo({
+ name: `projects/${state.selectedProject.projectId}`,
+ });
- commit(types.SET_ZONE, '');
- commit(types.SET_MACHINE_TYPE, '');
+ commit(types.SET_ZONE, '');
+ commit(types.SET_MACHINE_TYPE, '');
- return request.then(
- resp => {
+ return request;
+ })
+ .then(
+ (resp) => {
const { billingEnabled } = resp.result;
commit(types.SET_PROJECT_BILLING_STATUS, Boolean(billingEnabled));
dispatch('setIsValidatingProjectBilling', false);
- resolve();
},
- resp => {
+ (errorResp) => {
dispatch('setIsValidatingProjectBilling', false);
- reject(resp);
+ return errorResp;
},
);
- });
export const fetchZones = ({ commit, state }) =>
- gapiResourceListRequest({
- resource: gapi.client.compute.zones,
- params: {
- project: state.selectedProject.projectId,
- },
- commit,
- mutation: types.SET_ZONES,
- payloadKey: 'items',
- });
+ gapiLoader().then((gapi) =>
+ gapiResourceListRequest({
+ resource: gapi.client.compute.zones,
+ params: {
+ project: state.selectedProject.projectId,
+ },
+ commit,
+ mutation: types.SET_ZONES,
+ payloadKey: 'items',
+ }),
+ );
export const fetchMachineTypes = ({ commit, state }) =>
- gapiResourceListRequest({
- resource: gapi.client.compute.machineTypes,
- params: {
- project: state.selectedProject.projectId,
- zone: state.selectedZone,
- },
- commit,
- mutation: types.SET_MACHINE_TYPES,
- payloadKey: 'items',
- });
+ gapiLoader().then((gapi) =>
+ gapiResourceListRequest({
+ resource: gapi.client.compute.machineTypes,
+ params: {
+ project: state.selectedProject.projectId,
+ zone: state.selectedZone,
+ },
+ commit,
+ mutation: types.SET_MACHINE_TYPES,
+ payloadKey: 'items',
+ }),
+ );