@@ -125,35 +125,21 @@ public function assertColumnRestrictions(Filter\Rule $filter): void
125125 return ;
126126 }
127127
128- $ forbiddenVars = Filter::all ();
129- $ protectedVars = Filter::any ();
130- $ hiddenVars = Filter::any ();
128+ $ forbiddenVars = Filter::none ();
131129 foreach ($ this ->getAuth ()->getUser ()->getRoles () as $ role ) {
132130 if (($ restriction = $ role ->getRestrictions ('icingadb/denylist/variables ' ))) {
133- $ denied = Filter::none ();
134- $ hiddenVars ->add ($ denied );
135131 foreach (explode (', ' , $ restriction ) as $ value ) {
136- $ denied ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
132+ $ forbiddenVars ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
137133 }
138134 }
139135
140136 if (($ restriction = $ role ->getRestrictions ('icingadb/protect/variables ' ))) {
141- $ protected = Filter::none ();
142- $ protectedVars ->add ($ protected );
143137 foreach (explode (', ' , $ restriction ) as $ value ) {
144- $ protected ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
138+ $ forbiddenVars ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
145139 }
146140 }
147141 }
148142
149- if (! $ hiddenVars ->isEmpty ()) {
150- $ forbiddenVars ->add ($ hiddenVars );
151- }
152-
153- if (! $ protectedVars ->isEmpty ()) {
154- $ forbiddenVars ->add ($ protectedVars );
155- }
156-
157143 if ($ forbiddenVars ->isEmpty ()) {
158144 return ;
159145 }
@@ -223,13 +209,14 @@ public function applyRestrictions(Query $query)
223209 $ resolver = $ query ->getResolver ();
224210
225211 $ queryFilter = Filter::any ();
226- $ obfuscationRules = Filter::any ();
212+ $ forbiddenVars = Filter::all ();
213+ $ obfuscationRules = Filter::all ();
227214 foreach ($ this ->getAuth ()->getUser ()->getRoles () as $ role ) {
228215 $ roleFilter = Filter::all ();
229216
230217 if ($ customVarRelationName !== false ) {
231218 if (($ restriction = $ role ->getRestrictions ('icingadb/denylist/variables ' ))) {
232- $ roleFilter ->add ($ this ->parseDenylist (
219+ $ forbiddenVars ->add ($ this ->parseDenylist (
233220 $ restriction ,
234221 $ customVarRelationName
235222 ? $ resolver ->qualifyColumn ('flatname ' , $ customVarRelationName )
@@ -364,7 +351,8 @@ public function applyRestrictions(Query $query)
364351 }
365352 }
366353
367- $ query ->filter ($ queryFilter );
354+ $ query ->filter ($ queryFilter )
355+ ->filter ($ forbiddenVars );
368356 }
369357 }
370358
0 commit comments