summaryrefslogtreecommitdiff
path: root/app/graphql/types/query_type.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/types/query_type.rb')
-rw-r--r--app/graphql/types/query_type.rb184
1 files changed, 77 insertions, 107 deletions
diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb
index 7263f792bae..990ba1fb7fc 100644
--- a/app/graphql/types/query_type.rb
+++ b/app/graphql/types/query_type.rb
@@ -7,56 +7,17 @@ module Types
# The design management context object needs to implement #issue
DesignManagementObject = Struct.new(:issue)
- field :project, Types::ProjectType,
- null: true,
- resolver: Resolvers::ProjectResolver,
- description: "Find a project."
-
- field :projects, Types::ProjectType.connection_type,
- null: true,
- resolver: Resolvers::ProjectsResolver,
- description: "Find projects visible to the current user."
-
- field :group, Types::GroupType,
- null: true,
- resolver: Resolvers::GroupResolver,
- description: "Find a group."
-
- field :current_user, Types::UserType,
- null: true,
- description: "Get information about current user."
-
- field :namespace, Types::NamespaceType,
- null: true,
- resolver: Resolvers::NamespaceResolver,
- description: "Find a namespace."
-
- field :metadata, Types::MetadataType,
- null: true,
- resolver: Resolvers::MetadataResolver,
- description: 'Metadata about GitLab.'
-
- field :query_complexity, Types::QueryComplexityType,
+ field :board_list, ::Types::BoardListType,
null: true,
- description: 'Information about the complexity of the GraphQL query.'
-
- field :snippets,
- Types::SnippetType.connection_type,
+ resolver: Resolvers::BoardListResolver
+ field :ci_application_settings, Types::Ci::ApplicationSettingType,
null: true,
- resolver: Resolvers::SnippetsResolver,
- description: 'Find Snippets visible to the current user.'
-
- field :design_management, Types::DesignManagementType,
- null: false,
- description: 'Fields related to design management.'
-
- field :milestone, ::Types::MilestoneType,
+ description: 'CI related settings that apply to the entire instance.'
+ field :ci_config, resolver: Resolvers::Ci::ConfigResolver, complexity: 126 # AUTHENTICATED_MAX_COMPLEXITY / 2 + 1
+ field :ci_variables,
+ Types::Ci::InstanceVariableType.connection_type,
null: true,
- extras: [:lookahead],
- description: 'Find a milestone.' do
- argument :id, ::Types::GlobalIDType[Milestone], required: true, description: 'Find a milestone by its ID.'
- end
-
+ description: "List of the instance's CI/CD variables."
field :container_repository, Types::ContainerRepositoryDetailsType,
null: true,
description: 'Find a container repository.' do
@@ -65,107 +26,116 @@ module Types
required: true,
description: 'Global ID of the container repository.'
end
-
- field :package,
- description: 'Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status.',
- resolver: Resolvers::PackageDetailsResolver
-
- field :user, Types::UserType,
- null: true,
- description: 'Find a user.',
- resolver: Resolvers::UserResolver
-
- field :users, Types::UserType.connection_type,
+ field :current_user, Types::UserType,
null: true,
- description: 'Find users.',
- resolver: Resolvers::UsersResolver
-
+ description: "Get information about current user."
+ field :design_management, Types::DesignManagementType,
+ null: false,
+ description: 'Fields related to design management.'
field :echo, resolver: Resolvers::EchoResolver
-
- field :issues,
+ field :gitpod_enabled, GraphQL::Types::Boolean,
null: true,
- alpha: { milestone: '15.6' },
- resolver: Resolvers::IssuesResolver,
- description: 'Issues visible by the current user.' \
- ' Returns null if the `root_level_issues_query` feature flag is disabled.'
-
+ description: "Whether Gitpod is enabled in application settings."
+ field :group, Types::GroupType,
+ null: true,
+ resolver: Resolvers::GroupResolver,
+ description: "Find a group."
field :issue, Types::IssueType,
null: true,
description: 'Find an issue.' do
argument :id, ::Types::GlobalIDType[::Issue], required: true, description: 'Global ID of the issue.'
end
-
- field :work_item, Types::WorkItemType,
+ field :issues,
null: true,
- resolver: Resolvers::WorkItemResolver,
- alpha: { milestone: '15.1' },
- description: 'Find a work item.'
-
+ alpha: { milestone: '15.6' },
+ resolver: Resolvers::IssuesResolver,
+ description: 'Find issues visible to the current user.' \
+ ' At least one filter must be provided.' \
+ ' Returns `null` if the `root_level_issues_query` feature flag is disabled.'
+ field :jobs,
+ ::Types::Ci::JobType.connection_type,
+ null: true,
+ description: 'All jobs on this GitLab instance.',
+ resolver: ::Resolvers::Ci::AllJobsResolver
field :merge_request, Types::MergeRequestType,
null: true,
description: 'Find a merge request.' do
argument :id, ::Types::GlobalIDType[::MergeRequest], required: true, description: 'Global ID of the merge request.'
end
-
- field :usage_trends_measurements, Types::Admin::Analytics::UsageTrends::MeasurementType.connection_type,
+ field :metadata, Types::MetadataType,
null: true,
- description: 'Get statistics on the instance.',
- resolver: Resolvers::Admin::Analytics::UsageTrends::MeasurementsResolver
-
- field :ci_application_settings, Types::Ci::ApplicationSettingType,
+ resolver: Resolvers::MetadataResolver,
+ description: 'Metadata about GitLab.'
+ field :milestone, ::Types::MilestoneType,
null: true,
- description: 'CI related settings that apply to the entire instance.'
-
- field :runner_platforms, resolver: Resolvers::Ci::RunnerPlatformsResolver
- field :runner_setup, resolver: Resolvers::Ci::RunnerSetupResolver
-
+ extras: [:lookahead],
+ description: 'Find a milestone.' do
+ argument :id, ::Types::GlobalIDType[Milestone], required: true, description: 'Find a milestone by its ID.'
+ end
+ field :namespace, Types::NamespaceType,
+ null: true,
+ resolver: Resolvers::NamespaceResolver,
+ description: "Find a namespace."
+ field :package,
+ description: 'Find a package. This field can only be resolved for one query in any single request. Returns `null` if a package has no `default` status.',
+ resolver: Resolvers::PackageDetailsResolver
+ field :project, Types::ProjectType,
+ null: true,
+ resolver: Resolvers::ProjectResolver,
+ description: "Find a project."
+ field :projects, Types::ProjectType.connection_type,
+ null: true,
+ resolver: Resolvers::ProjectsResolver,
+ description: "Find projects visible to the current user."
+ field :query_complexity, Types::QueryComplexityType,
+ null: true,
+ description: 'Information about the complexity of the GraphQL query.'
field :runner, Types::Ci::RunnerType,
null: true,
resolver: Resolvers::Ci::RunnerResolver,
extras: [:lookahead],
description: "Find a runner."
-
+ field :runner_platforms, resolver: Resolvers::Ci::RunnerPlatformsResolver
+ field :runner_setup, resolver: Resolvers::Ci::RunnerSetupResolver
field :runners, Types::Ci::RunnerType.connection_type,
null: true,
resolver: Resolvers::Ci::RunnersResolver,
description: "Find runners visible to the current user."
-
- field :ci_variables,
- Types::Ci::InstanceVariableType.connection_type,
+ field :snippets,
+ Types::SnippetType.connection_type,
null: true,
- description: "List of the instance's CI/CD variables."
-
- field :ci_config, resolver: Resolvers::Ci::ConfigResolver, complexity: 126 # AUTHENTICATED_MAX_COMPLEXITY / 2 + 1
-
+ resolver: Resolvers::SnippetsResolver,
+ description: 'Find Snippets visible to the current user.'
field :timelogs, Types::TimelogType.connection_type,
null: true,
description: 'Find timelogs visible to the current user.',
extras: [:lookahead],
complexity: 5,
resolver: ::Resolvers::TimelogResolver
-
- field :board_list, ::Types::BoardListType,
- null: true,
- resolver: Resolvers::BoardListResolver
-
field :todo,
null: true,
resolver: Resolvers::TodoResolver
-
field :topics, Types::Projects::TopicType.connection_type,
null: true,
resolver: Resolvers::TopicsResolver,
description: "Find project topics."
-
- field :gitpod_enabled, GraphQL::Types::Boolean,
+ field :usage_trends_measurements, Types::Admin::Analytics::UsageTrends::MeasurementType.connection_type,
null: true,
- description: "Whether Gitpod is enabled in application settings."
-
- field :jobs,
- ::Types::Ci::JobType.connection_type,
+ description: 'Get statistics on the instance.',
+ resolver: Resolvers::Admin::Analytics::UsageTrends::MeasurementsResolver
+ field :user, Types::UserType,
null: true,
- description: 'All jobs on this GitLab instance.',
- resolver: ::Resolvers::Ci::AllJobsResolver
+ description: 'Find a user.',
+ resolver: Resolvers::UserResolver
+ field :users, Types::UserType.connection_type,
+ null: true,
+ description: 'Find users.',
+ resolver: Resolvers::UsersResolver
+ field :work_item, Types::WorkItemType,
+ null: true,
+ resolver: Resolvers::WorkItemResolver,
+ alpha: { milestone: '15.1' },
+ description: 'Find a work item.'
def design_management
DesignManagementObject.new(nil)