diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-27 18:09:15 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-01-27 18:09:15 +0300 |
commit | 0cbb4a75699e1ab6a0cb704b551e672e09192377 (patch) | |
tree | 3464aa858cfe0051bf898c919c097905c9f5f8da /app/assets/javascripts/terraform/graphql | |
parent | 507c0e71cd73201beadf9c5e1e0361fc8e9e2665 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/terraform/graphql')
3 files changed, 48 insertions, 0 deletions
diff --git a/app/assets/javascripts/terraform/graphql/fragments/state.fragment.graphql b/app/assets/javascripts/terraform/graphql/fragments/state.fragment.graphql index 49f9ae3dd97..f876fea64ac 100644 --- a/app/assets/javascripts/terraform/graphql/fragments/state.fragment.graphql +++ b/app/assets/javascripts/terraform/graphql/fragments/state.fragment.graphql @@ -2,6 +2,10 @@ #import "./state_version.fragment.graphql" fragment State on TerraformState { + _showDetails @client + errorMessages @client + loadingActions @client + id name lockedAt diff --git a/app/assets/javascripts/terraform/graphql/mutations/add_data_to_state.mutation.graphql b/app/assets/javascripts/terraform/graphql/mutations/add_data_to_state.mutation.graphql new file mode 100644 index 00000000000..645b9766e2b --- /dev/null +++ b/app/assets/javascripts/terraform/graphql/mutations/add_data_to_state.mutation.graphql @@ -0,0 +1,3 @@ +mutation addDataToTerraformState($terraformState: State!) { + addDataToTerraformState(terraformState: $terraformState) @client +} diff --git a/app/assets/javascripts/terraform/graphql/resolvers.js b/app/assets/javascripts/terraform/graphql/resolvers.js new file mode 100644 index 00000000000..2845a1e5279 --- /dev/null +++ b/app/assets/javascripts/terraform/graphql/resolvers.js @@ -0,0 +1,41 @@ +import TerraformState from './fragments/state.fragment.graphql'; + +export default { + TerraformState: { + _showDetails: (state) => { + // eslint-disable-next-line no-underscore-dangle + return state._showDetails || false; + }, + errorMessages: (state) => { + return state.errorMessages || []; + }, + loadingActions: (state) => { + return state.loadingActions || false; + }, + }, + Mutation: { + addDataToTerraformState: (_, { terraformState }, { client }) => { + const fragmentData = { + id: terraformState.id, + fragment: TerraformState, + // eslint-disable-next-line @gitlab/require-i18n-strings + fragmentName: 'State', + }; + + const previousTerraformState = client.readFragment(fragmentData); + + if (previousTerraformState) { + client.writeFragment({ + ...fragmentData, + data: { + ...previousTerraformState, + // eslint-disable-next-line no-underscore-dangle + _showDetails: terraformState._showDetails, + errorMessages: terraformState.errorMessages, + loadingActions: terraformState.loadingActions, + }, + }); + } + }, + }, +}; |