Skip to content

Commit 6347c9e

Browse files
committed
[remote-config] Update query matcher
1 parent 230457b commit 6347c9e

File tree

1 file changed

+14
-7
lines changed
  • plugins/remote-config/api/parts

1 file changed

+14
-7
lines changed

plugins/remote-config/api/parts/rc.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,17 @@ remoteConfig.processFilter = function(inpUser, inpQuery) {
2424
*/
2525
function matchesQuery(user, query) {
2626
for (let key in query) {
27-
if (key === '$or') {
28-
return query[key].some((subQuery) => matchesQuery(user, subQuery));
29-
}
30-
else if (key === '$and') {
31-
return query[key].every((subQuery) => matchesQuery(user, subQuery));
32-
}
33-
else if (typeof query[key] === 'object' && query[key] !== null && !Array.isArray(query[key])) {
27+
if (typeof query[key] === 'object' && query[key] !== null && !Array.isArray(query[key])) {
3428
let qResult = true;
3529

3630
for (let prop in query) {
31+
if (prop === '$or') {
32+
return qResult && query[prop].some((subQuery) => matchesQuery(user, subQuery));
33+
}
34+
else if (prop === '$and') {
35+
return qResult && query[prop].every((subQuery) => matchesQuery(user, subQuery));
36+
}
37+
3738
let parts = prop.split(".");
3839
let value;
3940

@@ -76,6 +77,12 @@ remoteConfig.processFilter = function(inpUser, inpQuery) {
7677

7778
return qResult;
7879
}
80+
else if (key === '$or') {
81+
return query[key].some((subQuery) => matchesQuery(user, subQuery));
82+
}
83+
else if (key === '$and') {
84+
return query[key].every((subQuery) => matchesQuery(user, subQuery));
85+
}
7986
else {
8087
return false;
8188
}

0 commit comments

Comments
 (0)