-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Labels
Description
Можно попробовать
В 6.1. объединять мутации не просто в namespace-типы, которые возвращают {} (что приводит к тому, что корень - пустой объект), а делегировать логику по "поиску" объекта, над которым будет произведена мутация, этому самому namespace-типу?
То есть:
mutation {
post(id: 4) {
like { ... }
}
}И, например, если поста с id 4 не существует, то просто возвращаем null на post и на этом мутация завершится, избавив нас от потенциальных багов.
А что, если...
Возвращать тот самый namespace тип в качестве поля результата мутации? Мы получим чейнинг :)
mutation {
post {
create(...) {
...
post { // Здесь мы имеем дело с только что созданным постом
like { ... }
}
}
}
}Таким образом мы можем проделать некие операции с только что созданной сущностью, не совершая лишних запросов с одной стороны и не плодить всевозвожные комбинации мутаций в схеме, тем самым делая её чище.