This is an automated email from the ASF dual-hosted git repository.

gopidesu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 602d0dee5ad Fix FAB provider in unreachable code (#53436)
602d0dee5ad is described below

commit 602d0dee5adf1566e25560f0e24d95146fe599f8
Author: GPK <[email protected]>
AuthorDate: Thu Jul 17 17:25:57 2025 +0100

    Fix FAB provider in unreachable code (#53436)
---
 .../providers/fab/auth_manager/security_manager/override.py        | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
 
b/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
index 1c6293bd441..978bf8b5202 100644
--- 
a/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
+++ 
b/providers/fab/src/airflow/providers/fab/auth_manager/security_manager/override.py
@@ -1551,7 +1551,7 @@ class 
FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
     ---------------
     """
 
-    def get_resource(self, name: str) -> Resource:
+    def get_resource(self, name: str) -> Resource | None:
         """
         Return a resource record by name, if it exists.
 
@@ -1559,7 +1559,7 @@ class 
FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
         """
         return 
self.get_session.query(self.resource_model).filter_by(name=name).one_or_none()
 
-    def create_resource(self, name) -> Resource:
+    def create_resource(self, name) -> Resource | None:
         """
         Create a resource with the given name.
 
@@ -1628,6 +1628,9 @@ class 
FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
         if perm:
             return perm
         resource = self.create_resource(resource_name)
+        if resource is None:
+            log.error(const.LOGMSG_ERR_SEC_ADD_PERMVIEW, f"Resource creation 
failed {resource_name}")
+            return None
         action = self.create_action(action_name)
         perm = self.permission_model()
         perm.resource_id, perm.action_id = resource.id, action.id

Reply via email to