Description
Steps to reproduce
If you make an update with deleted properties or a patch with properties with null values, you'll get back the new items from the api without those properties.
When adding the replaceItems
for the items to be completely replaced, this doesn't works because a merge is still done at the end, the items are not replaced.
Expected behavior
The replaceItems
option should really replace the item.
Actual behavior
With replaceItems
set to true
and with an existing item, a new instance is created with the item received from the api.
feathers-vuex/src/service-module/service-module.mutations.ts
Lines 88 to 94 in 0d76efd
Then in the base model constructor, the mergeInstance
mutation is called.
feathers-vuex/src/service-module/make-base-model.ts
Lines 129 to 133 in 0d76efd
Which then call the
mergeWithAccessor
functionfeathers-vuex/src/service-module/service-module.mutations.ts
Lines 124 to 131 in 0d76efd
Possible solution
The mergeInstance
mutation in the base model should be called only if replaceItems
is not set to true
.
System configuration
Module versions: 3.16.0
NodeJS version: 14.17.0