Skip to content

ArgumentError (wrong number of arguments (given 2, expected 0..1)) #169

@Petercopter

Description

@Petercopter

Describe the bug

With a fresh, completely default install, I'm seeing this error when I try to do queries/mutations:

Started POST "/graphql_auth" for 127.0.0.1 at 2021-04-24 14:13:49 -0700
Processing by GraphqlDevise::GraphqlController#auth as */*
  Parameters: {"query"=>"{\n  mutation {\n    userLogin(email: \"email@email.com\", password: \"password\") {\n      user {\n        email\n        name\n        signInCount\n      }\n      credentials {\n        accessToken\n        uid\n        tokenType\n        client\n        expiry\n      }\n    }\n  }\n}\n", "graphql"=>{"query"=>"{\n  mutation {\n    userLogin(email: \"email@email.com\", password: \"password\") {\n      user {\n        email\n        name\n        signInCount\n      }\n      credentials {\n        accessToken\n        uid\n        tokenType\n        client\n        expiry\n      }\n    }\n  }\n}\n"}}
Completed 500 Internal Server Error in 0ms (ActiveRecord: 0.0ms | Allocations: 445)


  
ArgumentError (wrong number of arguments (given 2, expected 0..1)):
  
graphql (1.12.0) lib/graphql/schema.rb:1647:in `execute'
graphql_devise (0.14.2) app/controllers/graphql_devise/graphql_controller.rb:17:in `auth'
actionpack (6.1.3.1) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
actionpack (6.1.3.1) lib/abstract_controller/base.rb:228:in `process_action'
actionpack (6.1.3.1) lib/action_controller/metal/rendering.rb:30:in `process_action'
actionpack (6.1.3.1) lib/abstract_controller/callbacks.rb:42:in `block in process_action'
activesupport (6.1.3.1) lib/active_support/callbacks.rb:106:in `run_callbacks'
actionpack (6.1.3.1) lib/abstract_controller/callbacks.rb:41:in `process_action'
actionpack (6.1.3.1) lib/action_controller/metal/rescue.rb:22:in `process_action'
actionpack (6.1.3.1) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
activesupport (6.1.3.1) lib/active_support/notifications.rb:203:in `block in instrument'
activesupport (6.1.3.1) lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport (6.1.3.1) lib/active_support/notifications.rb:203:in `instrument'
actionpack (6.1.3.1) lib/action_controller/metal/instrumentation.rb:33:in `process_action'
actionpack (6.1.3.1) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'
activerecord (6.1.3.1) lib/active_record/railties/controller_runtime.rb:27:in `process_action'
actionpack (6.1.3.1) lib/abstract_controller/base.rb:165:in `process'
actionview (6.1.3.1) lib/action_view/rendering.rb:39:in `process'
actionpack (6.1.3.1) lib/action_controller/metal.rb:190:in `dispatch'
actionpack (6.1.3.1) lib/action_controller/metal.rb:254:in `dispatch'
actionpack (6.1.3.1) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
actionpack (6.1.3.1) lib/action_dispatch/routing/route_set.rb:33:in `serve'
actionpack (6.1.3.1) lib/action_dispatch/journey/router.rb:50:in `block in serve'
actionpack (6.1.3.1) lib/action_dispatch/journey/router.rb:32:in `each'
actionpack (6.1.3.1) lib/action_dispatch/journey/router.rb:32:in `serve'
actionpack (6.1.3.1) lib/action_dispatch/routing/route_set.rb:842:in `call'
warden (1.2.9) lib/warden/manager.rb:36:in `block in call'
warden (1.2.9) lib/warden/manager.rb:34:in `catch'
warden (1.2.9) lib/warden/manager.rb:34:in `call'
rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.3) lib/rack/etag.rb:27:in `call'
rack (2.2.3) lib/rack/conditional_get.rb:40:in `call'
rack (2.2.3) lib/rack/head.rb:12:in `call'
actionpack (6.1.3.1) lib/action_dispatch/http/permissions_policy.rb:22:in `call'
actionpack (6.1.3.1) lib/action_dispatch/http/content_security_policy.rb:18:in `call'
rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/cookies.rb:689:in `call'
activerecord (6.1.3.1) lib/active_record/migration.rb:601:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'
activesupport (6.1.3.1) lib/active_support/callbacks.rb:98:in `run_callbacks'
actionpack (6.1.3.1) lib/action_dispatch/middleware/callbacks.rb:26:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'
web-console (4.1.0) lib/web_console/middleware.rb:132:in `call_app'
web-console (4.1.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (4.1.0) lib/web_console/middleware.rb:17:in `catch'
web-console (4.1.0) lib/web_console/middleware.rb:17:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
railties (6.1.3.1) lib/rails/rack/logger.rb:37:in `call_app'
railties (6.1.3.1) lib/rails/rack/logger.rb:26:in `block in call'
activesupport (6.1.3.1) lib/active_support/tagged_logging.rb:99:in `block in tagged'
activesupport (6.1.3.1) lib/active_support/tagged_logging.rb:37:in `tagged'
activesupport (6.1.3.1) lib/active_support/tagged_logging.rb:99:in `tagged'
railties (6.1.3.1) lib/rails/rack/logger.rb:26:in `call'
sprockets-rails (3.2.2) lib/sprockets/rails/quiet_assets.rb:13:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
request_store (1.5.0) lib/request_store/middleware.rb:19:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/request_id.rb:26:in `call'
rack (2.2.3) lib/rack/method_override.rb:24:in `call'
rack (2.2.3) lib/rack/runtime.rb:22:in `call'
activesupport (6.1.3.1) lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/executor.rb:14:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/static.rb:24:in `call'
rack (2.2.3) lib/rack/sendfile.rb:110:in `call'
actionpack (6.1.3.1) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'
webpacker (5.2.1) lib/webpacker/dev_server_proxy.rb:25:in `perform_request'
rack-proxy (0.6.5) lib/rack/proxy.rb:57:in `call'
railties (6.1.3.1) lib/rails/engine.rb:539:in `call'
puma (5.2.2) lib/puma/configuration.rb:248:in `call'
puma (5.2.2) lib/puma/request.rb:76:in `block in handle_request'
puma (5.2.2) lib/puma/thread_pool.rb:337:in `with_force_shutdown'
puma (5.2.2) lib/puma/request.rb:75:in `handle_request'
puma (5.2.2) lib/puma/server.rb:431:in `process_client'
puma (5.2.2) lib/puma/thread_pool.rb:145:in `block in spawn_thread'

Environment

Rails 6.1.3
Latest everything

graphql (1.12.8)
    graphql_devise (0.14.2)
      devise_token_auth (>= 0.1.43, < 2.0)
      graphql (>= 1.8, < 1.13.0)
      rails (>= 4.2, < 6.2)

Steps to reproduce

Using Postman or GraphiQL, running this mutation:

{
  mutation {
    userLogin(email: "email@email.com", password: "password") {
      user {
        email
        name
        signInCount
      }
      credentials {
        accessToken
        uid
        tokenType
        client
        expiry
      }
    }
  }
}

Expected behavior

Response with Auth payload

Actual behavior

The error is coming from here:

    def auth
      result = if params[:_json]
        GraphqlDevise::Schema.multiplex(
          params[:_json].map do |param|
            { query: param[:query] }.merge(execute_params(param))
          end
        )
      else
        GraphqlDevise::Schema.execute(params[:query], execute_params(params))
      end

      render json: result unless performed?
    end

If I change

GraphqlDevise::Schema.execute(params[:query], execute_params(params))

to

GraphqlDevise::Schema.execute(params[:query])

It works

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions