natep
natep

Reputation: 126

Graphiql variables not being passed to server

I'm building an Apollo Server. I have one simple endpoint communicating with Mongo. There's a collection of announcements.

export const typeDefs = gql`
  type Query {
    announcements: [Announcement]
    announcementsByAuthor(author: String!): [Announcement]
  }

  type Announcement {
    _id: ID!
    msg: String!
    author: String!
    title: String
  }
`;

export const resolvers = {
  Query: {
    announcements: () => {
      return new AnnouncementController().getAnnouncements();
    },
    announcementsByAuthor: (author: string) => {
      console.log('RESOLVER: ', author);
      return new AnnouncementController().getAnnouncementsByAuthor(author);
    }
  },
}

In my graphiql interface, the announcements query works correctly:

{
  announcements {
    msg
    author
    }
}

The announcementsByAuthor query does not seem to be accepting the string argument, either from a variable or when hardcoded into the query.

query($author: String!){
  announcementsByAuthor(author: $author) {
    msg
    author
  }
}

Variables:

{
  "author":"Nate"
}

I've logged out from the resolver, and an empty string is being passed in, instead of the specified value for the author variable. I'm new to graphql and I'm hoping someone can enlighten me as to what I'm sure is a simple oversight.

Upvotes: 0

Views: 660

Answers (1)

brysgo
brysgo

Reputation: 848

Try this instead:

announcementsByAuthor: (doc, {author}) => {

Upvotes: 1

Related Questions