@@ -119,35 +119,21 @@ public function assertColumnRestrictions(Filter\Rule $filter): void
119119 return ;
120120 }
121121
122- $ forbiddenVars = Filter::all ();
123- $ protectedVars = Filter::any ();
124- $ hiddenVars = Filter::any ();
122+ $ forbiddenVars = Filter::none ();
125123 foreach ($ this ->getAuth ()->getUser ()->getRoles () as $ role ) {
126124 if (($ restriction = $ role ->getRestrictions ('icingadb/denylist/variables ' ))) {
127- $ denied = Filter::none ();
128- $ hiddenVars ->add ($ denied );
129125 foreach (explode (', ' , $ restriction ) as $ value ) {
130- $ denied ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
126+ $ forbiddenVars ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
131127 }
132128 }
133129
134130 if (($ restriction = $ role ->getRestrictions ('icingadb/protect/variables ' ))) {
135- $ protected = Filter::none ();
136- $ protectedVars ->add ($ protected );
137131 foreach (explode (', ' , $ restriction ) as $ value ) {
138- $ protected ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
132+ $ forbiddenVars ->add (Filter::like ('name ' , trim ($ value ))->ignoreCase ());
139133 }
140134 }
141135 }
142136
143- if (! $ hiddenVars ->isEmpty ()) {
144- $ forbiddenVars ->add ($ hiddenVars );
145- }
146-
147- if (! $ protectedVars ->isEmpty ()) {
148- $ forbiddenVars ->add ($ protectedVars );
149- }
150-
151137 if ($ forbiddenVars ->isEmpty ()) {
152138 return ;
153139 }
@@ -217,13 +203,14 @@ public function applyRestrictions(Query $query)
217203 $ resolver = $ query ->getResolver ();
218204
219205 $ queryFilter = Filter::any ();
220- $ obfuscationRules = Filter::any ();
206+ $ forbiddenVars = Filter::all ();
207+ $ obfuscationRules = Filter::all ();
221208 foreach ($ this ->getAuth ()->getUser ()->getRoles () as $ role ) {
222209 $ roleFilter = Filter::all ();
223210
224211 if ($ customVarRelationName !== false ) {
225212 if (($ restriction = $ role ->getRestrictions ('icingadb/denylist/variables ' ))) {
226- $ roleFilter ->add ($ this ->parseDenylist (
213+ $ forbiddenVars ->add ($ this ->parseDenylist (
227214 $ restriction ,
228215 $ customVarRelationName
229216 ? $ resolver ->qualifyColumn ('flatname ' , $ customVarRelationName )
@@ -358,7 +345,8 @@ public function applyRestrictions(Query $query)
358345 }
359346 }
360347
361- $ query ->filter ($ queryFilter );
348+ $ query ->filter ($ queryFilter )
349+ ->filter ($ forbiddenVars );
362350 }
363351 }
364352
0 commit comments