Для стека GRAND, как вы используете пользовательский объект, хранящийся в контексте сервера Apollo, когда вы пишете свои собственные шифрованные запросы для мутации? - PullRequest
0 голосов
/ 07 июля 2019

Я пишу пользовательский запрос шифрования для мутации, используя стек GRAND.Однако у меня возникают проблемы с доступом к объекту пользователя, хранящемуся в контексте сервера Apollo, из запросов на шифрование, которые я пишу.

Поэтому вместо этого

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"
    )

1 Ответ

0 голосов
/ 09 июля 2019

Контекст 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);
    }
    ...
  }
}
...