title: Apollo GraphQL Nested Mutation
body: <p>need some help on nested mutations. </p>
  
  <p>Abstracted scenario is this:</p>
  
  <p>I want to combine 2 mutation calls on apollo-server to first create a a <code>Customer</code> then create an <code>Address</code> for that customer. The <code>Address</code> mutation needs a <code>customerID</code> to be able to do this but also has information from the original overall mutation that it needs access to. </p>
  
  <p>Here's the generic code:</p>
  
  <pre><code>makeExecutableSchema({
    typeDefs: gql`
      type Mutation {
        createCustomerWithAddress(customer: CustomerRequest!, address: AddressRequest!): Response
      }
      input CustomerRequest {
         name: String!
      }
  
      input AddressRequest {
         address: String!
         city: String!
         state: String!
         country: String!
      }
  
      type Response {
         customerID: Int!
         addressID: Int!
      }
    `,
    resolvers: {
      Mutation: {
        createCustomerWithAddress: async (_, {customer}, context, info) =&gt; {
          return await api.someAsyncCall(customer);
        }
      },
      Response: {
        addressID: async(customerID) =&gt; {
          // how do we get AddressRequest here?
          return await api.someAsyncCall(customerID, address);
        }
      }
    }
  })
  
  
  
  </code></pre>
  
  <p>There's a lot of complexity I'm not showing from the original code, but what I wanted to get at is just at the root of how to access request params via sub mutations, if even possible. I don't really want to pass down <code>address</code> from the top mutation to the sub mutation. </p>