neo4j生成增强模式?
我正在用graphql和Neo4j构建一个数据库api。我正在使用makeAugmentedSchema构建我的模式,它来自包neo4jgraphqljs,该包基于您的模式为您生成了突变和查询。我正在尝试添加一些自定义解析来帮助验证用户,但是我可以找出如何调用makeAugmentedSchema创建的现有变体,或者这是否可能neo4j生成增强模式?,neo4j,graphql,Neo4j,Graphql,我正在用graphql和Neo4j构建一个数据库api。我正在使用makeAugmentedSchema构建我的模式,它来自包neo4jgraphqljs,该包基于您的模式为您生成了突变和查询。我正在尝试添加一些自定义解析来帮助验证用户,但是我可以找出如何调用makeAugmentedSchema创建的现有变体,或者这是否可能 const schema = makeAugmentedSchema({ typeDefs, resolvers, config: { auth: {
const schema = makeAugmentedSchema({
typeDefs,
resolvers,
config: {
auth: {
isAuthenticated: true,
}
}
});
这是在我的服务器文件中创建这个扩展模式的地方,它创建了诸如create、update和delete之类的变化。我很难理解如何处理auth,所以我试图创建一个名为registerUser的自定义解析器,对密码进行加密,然后运行createUser变异,但不确定如何引入这些现有变异。这是它现在的样子
import bcrypt from 'bcrypt';
import { schema } from './graphql-schema';
export const resolvers = {
Mutation: {
registerUser: async (_, { email, password }) => {
const hashPassword = await bcrypt.hash(password, 10);
console.log(schema, 'herrrr');
await schema.User.create({
email,
password: hashPassword
})
return true;
}
}
}
我想在不使用Auth0的情况下处理auth。作为neo4j的新手,如果您不确定最佳方法,请提供任何建议。因此,您正在解构
args
参数,以获取密码并在创建用户之前对其进行哈希运算。您可以在此处重新定义CreateUser解析器,然后将修改后的args
传递给neo4jgraphql
调用,而不是创建新的解析器来处理此哈希,如下所示:
import bcrypt from 'bcrypt';
import { schema } from './graphql-schema';
export const resolvers = {
Mutation: {
CreateUser: async (obj, args, context, info) => {
const password = await bcrypt.hash(password, 10);
args = {
...args,
password,
}
return neo4jgraphql(obj, args, context, info);
}
}
}
希望这有帮助 因此,您正在解构
args
参数,以获取密码并在创建用户之前对其进行哈希运算。您可以在此处重新定义CreateUser解析器,然后将修改后的args
传递给neo4jgraphql
调用,而不是创建新的解析器来处理此哈希,如下所示:
import bcrypt from 'bcrypt';
import { schema } from './graphql-schema';
export const resolvers = {
Mutation: {
CreateUser: async (obj, args, context, info) => {
const password = await bcrypt.hash(password, 10);
args = {
...args,
password,
}
return neo4jgraphql(obj, args, context, info);
}
}
}
希望这有帮助 你有没有找到解决这个问题的办法?我也在寻找解决办法。在任何地方都找不到任何例子。你有没有找到解决这个问题的方法?我也在寻找解决方法。到处都找不到任何例子。