Did a minor workaround using ES6 spread operator for our blog site Progress.org:
const items = webflow.items({ collectionId: ids.collections.articles }, { limit: 1 })
items.then(i => {
const item = i.items[0]
// Do stuff. Then, modify item as seen in line below, using `email` field as example
let itemToUpdate = { ...item, email: true }
// Remove `_id`, and other fields that cannot be modified.
delete itemToUpdate['_id']
delete itemToUpdate['updated-on']
delete itemToUpdate['updated-by']
delete itemToUpdate['created-on']
delete itemToUpdate['created-by']
delete itemToUpdate['published-on']
delete itemToUpdate['published-by']
// Finally, update item.
const updateItem = webflow.updateItem({
collectionId: ids.collections.articles,
itemId: item['_id'],
fields: { ...itemToUpdate }
})
updateItem
.then(i => console.log(i))
.catch(err => console.error(err))
})
.catch(err => console.error(err))