uranusjr commented on a change in pull request #19294:
URL: https://github.com/apache/airflow/pull/19294#discussion_r741605290



##########
File path: airflow/api_connexion/endpoints/dag_run_endpoint.py
##########
@@ -211,7 +212,7 @@ def get_dag_runs_batch(session):
         raise BadRequest(detail=str(err.messages))
 
     appbuilder = current_app.appbuilder
-    readable_dag_ids = appbuilder.sm.get_readable_dag_ids(g.user)
+    readable_dag_ids = {dag.dag_id for dag in 
appbuilder.sm.get_readable_dags(g.user)}
     query = session.query(DagRun)
     if data.get("dag_ids"):
         dag_ids = set(data["dag_ids"]) & set(readable_dag_ids)

Review comment:
       ```suggestion
           dag_ids = set(data["dag_ids"]) & readable_dag_ids
   ```
   
   Because `readable_dag_ids` is now already a set
   
   Or
   
   ```suggestion
           dag_ids = readable_dag_ids.intersection(data["dag_ids"])
   ```

##########
File path: airflow/www/fab_security/manager.py
##########
@@ -85,6 +85,33 @@ def _oauth_tokengetter(token=None):
     return token
 
 
+class AnonymousUser(AnonymousUserMixin):
+    """User object used when no active user is logged in."""
+
+    _roles = set()
+    _perms = set()
+
+    @property
+    def roles(self):
+        if not self._roles:
+            public_role = 
current_app.appbuilder.get_app.config["AUTH_ROLE_PUBLIC"]
+            self._roles = {current_app.appbuilder.sm.find_role(public_role)} 
if public_role else set()
+        return self._roles
+
+    @roles.setter
+    def roles(self, roles):
+        self._roles = roles
+        self._perms = set()
+
+    @property
+    def perms(self):
+        if not self._perms:
+            self._perms = set()
+            for role in self.roles:
+                self._perms.update({(perm.action.name, perm.resource.name) for 
perm in role.permissions})

Review comment:
       ```suggestion
               self._perms = {
                   (perm.action.name, perm.resource.name)
                   for role in self.roles
                   for perm in role.permissions
               }
   ```
   
   Same for `User` below




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to