我正在编写一个使用GRAND堆栈进行突变的自定义密码查询。但是,从我编写的密码查询访问存储在Apollo Server上下文中的用户对象时遇到问题。
所以不要这样做,
createUser(id: String): User
@cypher(
statement: "CREATE (u:User {id: $id}) RETURN u"
)
我想做类似的事情
createUser: User
@cypher(
statement: "CREATE (u:User {id: context.user.id}) RETURN u"
)
答案 0 :(得分:0)
Apollo上下文不会本地传递给密码查询。 因此,您必须根据需要编写相应的解析器。
您可以尝试类似的方法吗:
export const typeDefs = `
...
type Mutation {
...
createUser: User @cypher(statement: "CREATE (u:User {id: context.user.id}) RETURN u")
...
}`
export const resolvers = {
...
Mutation: {
...
createUser(object, params, ctx, resolveInfo) {
let newParms = params;
params.context = ctx;
return neo4jgraphql(object, newParms, ctx, resolveInfo, true);
}
...
}
}