Apollo not updating nested data cached query

Viewed 119

I have this:

const { data: { orderUpdate: { code } } } = await this.$apollo.mutate({
  mutation: orderUpdate,
  variables: {
    id: this.order.id,
    input: { ...data }
  },
  update: async (store) => {
    const data = await store.readQuery({
      query: order,
      variables: {
        code: this.order.code,
        clientId: this.order.client.id
      }
    })

    store.writeQuery({
      query: order,
      data
    })
  }
})

Every data is updated fine except the nested ones, i have on data array a nested clothing_types array with some objects, this objects isn't being updates for some reason.

Anyone can help me with that?

This is the structure of data var:

order:
art_paths: (...)
client: (...)
closed_at: null
clothing_types: Array(2)
code: (...)
created_at: (...)
delivery_date: (...)
discount: (...)
id: (...)
name: (...)
original_price: (...)
payment_voucher_paths: (...)
payments: (...)
price: (...)
production_date: (...)
quantity: (...)
reminder: (...)
size_paths: (...)
states: (...)
status: (...)
total_clothings_value: (...)
total_owing: (...)
total_paid: (...)
__typename: (...)
__ob__: Observer {value: {…}, dep: Dep, vmCount: 0}
get art_paths: ƒ reactiveGetter()
set art_paths: ƒ reactiveSetter(newVal)
get client: ƒ reactiveGetter()
set client: ƒ reactiveSetter(newVal)
get closed_at: ƒ reactiveGetter()
set closed_at: ƒ reactiveSetter(newVal)
get clothing_types: ƒ reactiveGetter()
set clothing_types: ƒ reactiveSetter(newVal)
get code: ƒ reactiveGetter()
set code: ƒ reactiveSetter(newVal)
get created_at: ƒ reactiveGetter()
set created_at: ƒ reactiveSetter(newVal)
get delivery_date: ƒ reactiveGetter()
set delivery_date: ƒ reactiveSetter(newVal)
get discount: ƒ reactiveGetter()
set discount: ƒ reactiveSetter(newVal)
get id: ƒ reactiveGetter()
set id: ƒ reactiveSetter(newVal)
get name: ƒ reactiveGetter()
set name: ƒ reactiveSetter(newVal)
get original_price: ƒ reactiveGetter()
set original_price: ƒ reactiveSetter(newVal)
get payment_voucher_paths: ƒ reactiveGetter()
set payment_voucher_paths: ƒ reactiveSetter(newVal)
get payments: ƒ reactiveGetter()
set payments: ƒ reactiveSetter(newVal)
get price: ƒ reactiveGetter()
set price: ƒ reactiveSetter(newVal)
get production_date: ƒ reactiveGetter()
set production_date: ƒ reactiveSetter(newVal)
get quantity: ƒ reactiveGetter()
set quantity: ƒ reactiveSetter(newVal)
get reminder: ƒ reactiveGetter()
set reminder: ƒ reactiveSetter(newVal)
get size_paths: ƒ reactiveGetter()
set size_paths: ƒ reactiveSetter(newVal)
get states: ƒ reactiveGetter()
set states: ƒ reactiveSetter(newVal)
get status: ƒ reactiveGetter()
set status: ƒ reactiveSetter(newVal)
get total_clothings_value: ƒ reactiveGetter()
set total_clothings_value: ƒ reactiveSetter(newVal)
get total_owing: ƒ reactiveGetter()
set total_owing: ƒ reactiveSetter(newVal)
get total_paid: ƒ reactiveGetter()
set total_paid: ƒ reactiveSetter(newVal)
get __typename: ƒ reactiveGetter()
set __typename: ƒ reactiveSetter(newVal)
[[Prototype]]: Object
[[Prototype]]: Object

My graphql order query, of course, is returning those data, here it is:

query order ($code: ID! $clientId: ID!) {
  order (code: $code clientId: $clientId) {
    ...OrderParts
  }
}

fragment OrderParts on Order {
  client {
      id
      name
      phone
      total_owing
      shipping_company {
        name
      }
      branch {
        city {
          name
        }
      }
      city {
        name
      }
    }
    status {
      id
      text
    }
    clothing_types {
      id
      key
      name
      is_hidden
      commission
      quantity
      value
      total_value
    }
    payments (orderBy: [
      {column: "date" order: DESC}
      {column: "created_at" order: DESC}
    ]) {
      id
      value
      date
      note
      via {
        id
        name
      }
      confirmed_at
      is_confirmed
      created_at
    }
    id
    code
    name
    price
    original_price
    states
    discount
    quantity
    total_paid
    total_owing
    total_clothings_value
    production_date
    delivery_date
    created_at
    closed_at
    art_paths
    size_paths
    payment_voucher_paths
    reminder
}
0 Answers
Related