neo4j生成增强模式?

neo4j生成增强模式?,neo4j,graphql,Neo4j,Graphql,我正在用graphql和Neo4j构建一个数据库api。我正在使用makeAugmentedSchema构建我的模式,它来自包neo4jgraphqljs,该包基于您的模式为您生成了突变和查询。我正在尝试添加一些自定义解析来帮助验证用户,但是我可以找出如何调用makeAugmentedSchema创建的现有变体,或者这是否可能 const schema = makeAugmentedSchema({ typeDefs, resolvers, config: { auth: {

我正在用graphql和Neo4j构建一个数据库api。我正在使用makeAugmentedSchema构建我的模式,它来自包neo4jgraphqljs,该包基于您的模式为您生成了突变和查询。我正在尝试添加一些自定义解析来帮助验证用户,但是我可以找出如何调用makeAugmentedSchema创建的现有变体,或者这是否可能

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);
    }
  }
}

希望这有帮助

你有没有找到解决这个问题的办法?我也在寻找解决办法。在任何地方都找不到任何例子。你有没有找到解决这个问题的方法?我也在寻找解决方法。到处都找不到任何例子。