Strapi GraphQL перезаписывает - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь переписать мою схему GraphQL, чтобы все сводилось к «верхнему запросу».Например, у меня есть пациент, местоположение, практика типов контента.но я хочу, чтобы каждый запрос начинался с location { // rest of query, чтобы люди не могли проверять вещи, которые им не принадлежат.Чтобы добиться этого, я добавлял schema.graphql ко всем моим моделям, чтобы

, а затем я хочу отменить доступ ко всему на практике и перезаписать findOne, чтобы исключить параметры, и просто быть practice, гдеКонтроллер заполнит идентификатор с указанием состояния текущего пользователя.

module.exports = {
  query: `
    practice: Practice
  `,
  resolver: {
    Query: {
      practice: {
        description: 'Return the practice of the authenticated user',
        resolver: 'Practice.findMine'
      },
      practices: false
    }
  }
};

Я не могу заставить предыдущий код работать, потому что GraphQl с внутренней ошибкой говорит, что я могу указать тренировку только один раз.Тем не менее, это не относится к сгенерированной схеме

type Query {
  practice: Practice
  files(sort: String, limit: Int, start: Int, where: JSON): [UploadFile]
  role(id: String!): UsersPermissionsRole

  """
  Retrieve all the existing roles. You can't apply filters on this query.
  """
  roles(sort: String, limit: Int, start: Int, where: JSON): [UsersPermissionsRole]
  user(id: String!): UsersPermissionsUser
  users(sort: String, limit: Int, start: Int, where: JSON): [UsersPermissionsUser]
}

Есть идеи, как этого добиться?Спасибо!

1 Ответ

0 голосов
/ 15 мая 2018

Я один из соучредителей Страпи. Ты можешь попробовать это? Я думаю, вам нужно отключить функцию теневого CRUD для типа Практика.

module.exports = {
  definition: ``,
  query: `
    practice: Practice
  `,
  type: {
    Practice: false
  }
  resolver: {
    Query: {
      practice: {
        description: 'Return the practice of the authenticated user',
        resolver: 'Practice.findMine'
      },
      practices: false
    }
  }
};
...