У меня есть набор достаточно похожих типов graphql, которые можно редактировать в целом. Я написал код для их отображения и изменения на стороне клиента, но теперь у меня проблемы с написанием запроса на изменение, который будет работать. Текущая реализация:
let node1 = {
id: 1,
type: 'theme',
fields: {name: 'potatoes'}
};
let node2 = {
id: 1,
type: 'subject',
fields: {
short_name: 'cool potatoes',
long_name: 'cool potatoes that grow on the mountain'
}
};
....
save: function (node) {
this.$apollo.mutate({
// Query
mutation: gql`mutation ($id: Int!) {
update_data_${node.type}(where: {id: {_eq: $id}}, _set: ${node.fields}) {
affected_rows
}
}`,
variables: {
id: node.id
}
})
}
Не то чтобы он сейчас не работал (потому что не хочет правильно интерполировать поля), но и мне кажется, что я делаю что-то не так.