执行子类型为

时间:2019-05-17 19:00:14

标签: node.js neo4j graphql graphql-js apollo-server

我正在尝试创建一个查询来登录用户,我的查询类型是AuthPayload,在此有效负载中,我具有令牌和用户:

type AuthPayload {
  token: String
  user: User
}
type User {
  uuid: ID!
  email: String
  password: String
}

这是我在服务器上定义的查询:

login(email: String!, password: String!): AuthPayload @cypher( 
    statement: """
      MATCH (u:User) WHERE u.email = email AND u.password = password RETURN u
    """
 )

这是我的解析器:

Query: {
    login: (parent, args, context, info) => svcUsers.login(parent, args, context, info),
}

这是我的服务

login(parent, args, context, info){
    let user = null;
    const query = cypherQuery(args, context, info);
    return {
      token: '123',
      user: {
        email: '123',
        password: '321'
      }
    };
 }

这是我要请求的查询:

query login($email: String!, $password: String!) {
  login(email: $email, password: $password) {
    token,
    user {
      email
    }
  }
}

问题是我收到以下错误消息作为重新操作:无法读取未定义的属性“ 0”,但是如果我从请求中删除用户:

query login($email: String!, $password: String!) {
  login(email: $email, password: $password) {
    token
  }
}

我可以使用令牌看到正确的结果。...错误在哪里?

非常感谢

0 个答案:

没有答案