5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 
     | 
    
      # File 'lib/graphql/static_validation/rules/subscription_root_exists_and_single_subscription_selection.rb', line 5
def on_operation_definition(node, parent)
  if node.operation_type == "subscription"
    if context.types.subscription_root.nil?
      add_error(GraphQL::StaticValidation::SubscriptionRootExistsError.new(
        'Schema is not configured for subscriptions',
        nodes: node
      ))
    elsif node.selections.size != 1
      add_error(GraphQL::StaticValidation::NotSingleSubscriptionError.new(
        'A subscription operation may only have one selection',
        nodes: node,
      ))
    else
      super
    end
  else
    super
  end
end
     |