From 3a0cc0d6f678e1b326d98c93f300d5eecbcc01d1 Mon Sep 17 00:00:00 2001 From: Pierre Donias Date: Mon, 21 Sep 2020 12:14:50 +0200 Subject: [PATCH] fix(xo-server/subjects/addToArraySet): dont erase previous values (#5269) Prior to this change, adding a value to an existing set that already contains that value would replace the whole set with a new one containing only that value. --- packages/xo-server/src/xo-mixins/subjects.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/xo-server/src/xo-mixins/subjects.js b/packages/xo-server/src/xo-mixins/subjects.js index ddfe8d10c..75379b9ed 100644 --- a/packages/xo-server/src/xo-mixins/subjects.js +++ b/packages/xo-server/src/xo-mixins/subjects.js @@ -1,5 +1,5 @@ import createLogger from '@xen-orchestra/log' -import { filter, includes } from 'lodash' +import { filter } from 'lodash' import { ignoreErrors } from 'promise-toolbox' import { hash, needsRehash, verify } from 'hashy' import { invalidCredentials, noSuchObject } from 'xo-common/api-errors' @@ -14,7 +14,7 @@ import { forEach, isEmpty, lightSet, mapToArray } from '../utils' const log = createLogger('xo:xo-mixins:subjects') const addToArraySet = (set, value) => - set && !includes(set, value) ? set.concat(value) : [value] + set !== undefined ? (set.includes(value) ? set : set.concat(value)) : [value] const removeFromArraySet = (set, value) => set && filter(set, current => current !== value)