- item.properties[data.key] = data.value;
- const updatedCollection = await services.collectionService.update(uuid, item);
+ const key = data.keyID || data.key;
+ const value = data.valueID || data.value;
+ if (item.properties[key]) {
+ if (Array.isArray(item.properties[key])) {
+ item.properties[key] = [...item.properties[key], value];
+ // Remove potential duplicates
+ item.properties[key] = Array.from(new Set(item.properties[key]));
+ } else {
+ item.properties[key] = [item.properties[key], value];
+ }
+ } else {
+ item.properties[key] = value;
+ }
+ const updatedCollection = await services.collectionService.update(
+ uuid, {
+ properties: {...JSON.parse(JSON.stringify(item.properties))}
+ }
+ );
+ item.properties = updatedCollection.properties;