Как сделать так, чтобы подписка разрешала тип объединения? - PullRequest
1 голос
/ 11 марта 2019

У меня есть мутация, которая возвращает Тип объединения .

  union Task = PersonalTask | OtherTask
  mutation updateTask(...) : Task
  subscription onUpdatePersonalTask(id: ID): PersonalTask
    @aws_subscribe(mutations: ["updateTask"])

Но это дает ошибку из-за несоответствия типов в мутации (возвращаемое значение равно Task, которое является объединением)и подписка (возвращает PersonalTask)

Вопросы

  1. Как подписка разрешает тип объединения мутаций для определенного типа?

  2. Есть ли более чистый способ для подписки иметь автоматическое разрешение типа?

1 Ответ

1 голос
/ 11 марта 2019

Это может быть только ограничением реализации директивы.Из документов :

Тип возврата поля подписки в вашей схеме должен совпадать с типом возврата соответствующего поля мутации.

Предполагая, что есть какое-то поле type, которое вы используете, чтобы различать PersonalTask и OtherTask, одним из обходных путей будет подписка на все задачи, но использование аргументачтобы сузить подписку:

подписка onUpdateTask (тип: String!): Задача @aws_subscribe (мутации: ["updateTask"])

...