Class: Mcp::Tools::GraphqlService

Inherits:
BaseService show all
Extended by:
Gitlab::Utils::Override
Includes:
Concerns::Versionable
Defined in:
app/services/mcp/tools/graphql_service.rb

Constant Summary

Constants included from Concerns::Versionable

Concerns::Versionable::VERSION_FORMAT

Instance Method Summary collapse

Methods included from Gitlab::Utils::Override

extended, extensions, included, method_added, override, prepended, queue_verification, verify!

Methods included from Concerns::Versionable

#description, #graphql_operation, #initialize_version, #input_schema, #operation_name, #version

Methods inherited from BaseService

#available?, #description, #input_schema, #to_h, tool_aliases

Constructor Details

#initialize(name:, version: nil) ⇒ GraphqlService

Returns a new instance of GraphqlService.



10
11
12
13
# File 'app/services/mcp/tools/graphql_service.rb', line 10

def initialize(name:, version: nil)
  super(name: name)
  initialize_version(version)
end

Instance Method Details

#execute(request: nil, params: nil) ⇒ Object



22
23
24
25
26
# File 'app/services/mcp/tools/graphql_service.rb', line 22

def execute(request: nil, params: nil)
  return Response.error("#{self.class.name}: current_user is not set") unless current_user.present?

  super
end

#set_cred(current_user: nil, access_token: nil) ⇒ Object



16
17
18
19
# File 'app/services/mcp/tools/graphql_service.rb', line 16

def set_cred(current_user: nil, access_token: nil)
  @current_user = current_user
  _ = access_token # access_token is not used in GraphqlService
end