diff options
Diffstat (limited to 'app/graphql/types/terraform/state_version_type.rb')
-rw-r--r-- | app/graphql/types/terraform/state_version_type.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/app/graphql/types/terraform/state_version_type.rb b/app/graphql/types/terraform/state_version_type.rb new file mode 100644 index 00000000000..b1fbe42ecaf --- /dev/null +++ b/app/graphql/types/terraform/state_version_type.rb @@ -0,0 +1,35 @@ +# frozen_string_literal: true + +module Types + module Terraform + class StateVersionType < BaseObject + graphql_name 'TerraformStateVersion' + + authorize :read_terraform_state + + field :id, GraphQL::ID_TYPE, + null: false, + description: 'ID of the Terraform state version' + + field :created_by_user, Types::UserType, + null: true, + authorize: :read_user, + description: 'The user that created this version', + resolve: -> (version, _, _) { Gitlab::Graphql::Loaders::BatchModelLoader.new(User, version.created_by_user_id).find } + + field :job, Types::Ci::JobType, + null: true, + authorize: :read_build, + description: 'The job that created this version', + resolve: -> (version, _, _) { Gitlab::Graphql::Loaders::BatchModelLoader.new(::Ci::Build, version.ci_build_id).find } + + field :created_at, Types::TimeType, + null: false, + description: 'Timestamp the version was created' + + field :updated_at, Types::TimeType, + null: false, + description: 'Timestamp the version was updated' + end + end +end |