title: GraphQL: Require at least one argument in a query
body: <p>I have the following schema set up for my user query:</p>
  
  <pre><code>{
    type: UserType,
    args: {
      id: {
          type: GraphQLID,
          description: "A user's id.",
      },
      email: {
          type: GraphQLString,
          description: "A user's email.",
      },
  },
  resolve: async (parent, args) =&gt; {
    // ...
  }
  </code></pre>
  
  <p>I want to accept both <code>id</code> and <code>email</code> as arguments, but at least one is required. Is there a way to set this up in the schema, without having to write extra code inside the resolve function?</p>
  
  <p>Or would it be more advisable to create separate queries for each argument? For example: <code>getUserById</code>, <code>getUserByEmail</code>, <code>getUserBySessionToken</code>, etc?</p>