@graphql_ru
GraphQL — русскоговорящее сообщество

Общаемся на темы, посвященные GraphQL и опыту его использования. Проблемы. Новости. Решения. Вам могут быть полезны: @apollo_ru, @react_js, @vuejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание в чате было полезным и комфортным.

352 members

Архив канала @graphql_ru 17 марта 2018 г.

03:17:10 ПП
User 118564668
Всем привет! Как кто решает кейс, что мутация аффектит не только возвращаемую сущность? Или если такая проблема у меня встала - то проблема с архитектурой графа? Пока на ум приходят только subscribe для сущности вне возвращаемого поля. Кейс подробнее, юзер поменял настройки кампании, ввиду этого у него произошел refund денег, собственно баланс поменялся, на мутацию кампани возвращаем ему эту же кампанию, а вот до баланса достучатся не можем
03:34:17 ПП
User 321317845
кажется что тут онли сабскрайберы помогут
03:34:27 ПП
User 321317845
либо возвращать какой-нибудь юнион
03:34:53 ПП
User 321317845
т.е. 
update: Campaing | Account
03:35:09 ПП
User 321317845
а в юнионе перечислять заафекченные сущности
03:35:19 ПП
User 321317845
@sem_eleven
03:36:41 ПП
User 118564668
User 321317845
а в юнионе перечислять заафекченные сущности
Юнион как вариант, только похоже на дикий костыль
03:37:22 ПП
User 321317845
ну или отдельный эндпоинт
03:37:28 ПП
User 321317845
тип т.е.
03:37:35 ПП
User 321317845
"получить изменённые сущности"
03:38:53 ПП
User 321317845
Возвращать в результате вот это
type MutationResult {
    requestId: ID!
    entries: [String!]!
}
03:39:28 ПП
User 321317845
а клиент уже будет дёргать:
type MutationInfo {
    entities(requestID: ID!): [Any!]!
}
03:39:32 ПП
User 321317845
ну или как-то так
03:39:48 ПП
User 321317845
ну идею ты понял, думаю
03:40:21 ПП
User 321317845
в ответе мутатора возвращать ид результата, и отдельный запрос на получение инфы о том, что конкретно было изменено, какие сущности, какие айдишники и какие значения
03:42:27 ПП
User 321317845
можно даже вот так:
type MutationResult {
    items: [UpdatedEntity!]!
}

type UpdatedEntity{
    id: ID!
    name: String!
    fields: [UpdatedField!]!
}
03:42:44 ПП
User 321317845
и во всех мутациях возвращаешь MutationResult
03:42:54 ПП
User 321317845
ну точнее бек возвращает
04:09:19 ПП
User 118564668
хм, очень гибко получается, спасибо большое!