apache-airflow-providers-fab 2.0.0rc2__py3-none-any.whl → 2.0.0rc4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/fab/__init__.py +2 -2
- airflow/providers/fab/auth_manager/cli_commands/utils.py +1 -1
- airflow/providers/fab/auth_manager/fab_auth_manager.py +5 -2
- airflow/providers/fab/auth_manager/security_manager/override.py +132 -1
- airflow/providers/fab/get_provider_info.py +22 -37
- airflow/providers/fab/www/app.py +8 -0
- airflow/providers/fab/www/extensions/init_appbuilder.py +4 -0
- airflow/providers/fab/www/extensions/init_session.py +2 -2
- airflow/providers/fab/www/package-lock.json +20 -732
- airflow/providers/fab/www/package.json +3 -3
- airflow/providers/fab/www/utils.py +16 -0
- airflow/providers/fab/www/views.py +1 -1
- {apache_airflow_providers_fab-2.0.0rc2.dist-info → apache_airflow_providers_fab-2.0.0rc4.dist-info}/METADATA +5 -3
- {apache_airflow_providers_fab-2.0.0rc2.dist-info → apache_airflow_providers_fab-2.0.0rc4.dist-info}/RECORD +16 -16
- {apache_airflow_providers_fab-2.0.0rc2.dist-info → apache_airflow_providers_fab-2.0.0rc4.dist-info}/WHEEL +1 -1
- {apache_airflow_providers_fab-2.0.0rc2.dist-info → apache_airflow_providers_fab-2.0.0rc4.dist-info}/entry_points.txt +0 -0
@@ -48,7 +48,7 @@
|
|
48
48
|
"copy-webpack-plugin": "^13.0.0",
|
49
49
|
"css-loader": "7.1.2",
|
50
50
|
"css-minimizer-webpack-plugin": "^7.0.2",
|
51
|
-
"eslint": "^9.
|
51
|
+
"eslint": "^9.24.0",
|
52
52
|
"eslint-config-prettier": "^10.1.1",
|
53
53
|
"eslint-plugin-html": "^8.1.2",
|
54
54
|
"eslint-plugin-import": "^2.27.5",
|
@@ -59,10 +59,10 @@
|
|
59
59
|
"moment": "^2.29.4",
|
60
60
|
"moment-locales-webpack-plugin": "^1.2.0",
|
61
61
|
"prettier": "^3.5.3",
|
62
|
-
"stylelint": "^16.
|
62
|
+
"stylelint": "^16.18.0",
|
63
63
|
"terser-webpack-plugin": "<6.0.0",
|
64
64
|
"url-loader": "4.1.1",
|
65
|
-
"webpack": "^5.
|
65
|
+
"webpack": "^5.99.5",
|
66
66
|
"webpack-cli": "^6.0.1",
|
67
67
|
"webpack-license-plugin": "^4.2.1",
|
68
68
|
"webpack-manifest-plugin": "^5.0.1"
|
@@ -17,6 +17,7 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
+
import logging
|
20
21
|
from typing import TYPE_CHECKING, Any
|
21
22
|
|
22
23
|
from flask_appbuilder.models.filters import BaseFilter
|
@@ -28,6 +29,7 @@ from sqlalchemy import types
|
|
28
29
|
from sqlalchemy.ext.associationproxy import AssociationProxy
|
29
30
|
|
30
31
|
from airflow.api_fastapi.app import get_auth_manager
|
32
|
+
from airflow.configuration import conf
|
31
33
|
from airflow.providers.fab.www.security.permissions import (
|
32
34
|
ACTION_CAN_ACCESS_MENU,
|
33
35
|
ACTION_CAN_CREATE,
|
@@ -51,6 +53,20 @@ _MAP_METHOD_NAME_TO_FAB_ACTION_NAME: dict[ResourceMethod, str] = {
|
|
51
53
|
"DELETE": ACTION_CAN_DELETE,
|
52
54
|
"MENU": ACTION_CAN_ACCESS_MENU,
|
53
55
|
}
|
56
|
+
log = logging.getLogger(__name__)
|
57
|
+
|
58
|
+
|
59
|
+
def get_session_lifetime_config():
|
60
|
+
"""Get session timeout configs and handle outdated configs gracefully."""
|
61
|
+
session_lifetime_minutes = conf.get("fab", "session_lifetime_minutes", fallback=None)
|
62
|
+
minutes_per_day = 24 * 60
|
63
|
+
if not session_lifetime_minutes:
|
64
|
+
session_lifetime_days = 30
|
65
|
+
session_lifetime_minutes = minutes_per_day * session_lifetime_days
|
66
|
+
|
67
|
+
log.debug("User session lifetime is set to %s minutes.", session_lifetime_minutes)
|
68
|
+
|
69
|
+
return int(session_lifetime_minutes)
|
54
70
|
|
55
71
|
|
56
72
|
def get_fab_auth_manager() -> FabAuthManager:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0rc4
|
4
4
|
Summary: Provider package apache-airflow-providers-fab for Apache Airflow
|
5
5
|
Keywords: airflow-provider,fab,airflow,integration
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
@@ -20,7 +20,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
|
-
Requires-Dist: apache-airflow>=3.0.
|
23
|
+
Requires-Dist: apache-airflow>=3.0.0rc0
|
24
24
|
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1rc0
|
25
25
|
Requires-Dist: blinker>=1.6.2
|
26
26
|
Requires-Dist: flask>=2.2.1,<2.3
|
@@ -31,6 +31,7 @@ Requires-Dist: flask-wtf>=1.1.0
|
|
31
31
|
Requires-Dist: connexion[flask]>=2.14.2,<3.0
|
32
32
|
Requires-Dist: jmespath>=0.7.0
|
33
33
|
Requires-Dist: werkzeug>=2.2,<4
|
34
|
+
Requires-Dist: wtforms>=3.0,<4
|
34
35
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos"
|
35
36
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
36
37
|
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0/changelog.html
|
@@ -96,7 +97,7 @@ Requirements
|
|
96
97
|
========================================== ==================
|
97
98
|
PIP package Version required
|
98
99
|
========================================== ==================
|
99
|
-
``apache-airflow`` ``>=3.0.0
|
100
|
+
``apache-airflow`` ``>=3.0.0``
|
100
101
|
``apache-airflow-providers-common-compat`` ``>=1.2.1``
|
101
102
|
``blinker`` ``>=1.6.2``
|
102
103
|
``flask`` ``>=2.2.1,<2.3``
|
@@ -107,6 +108,7 @@ PIP package Version required
|
|
107
108
|
``connexion[flask]`` ``>=2.14.2,<3.0``
|
108
109
|
``jmespath`` ``>=0.7.0``
|
109
110
|
``werkzeug`` ``>=2.2,<4``
|
111
|
+
``wtforms`` ``>=3.0,<4``
|
110
112
|
========================================== ==================
|
111
113
|
|
112
114
|
Cross provider package dependencies
|
@@ -1,9 +1,9 @@
|
|
1
1
|
airflow/providers/fab/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
2
|
-
airflow/providers/fab/__init__.py,sha256=
|
2
|
+
airflow/providers/fab/__init__.py,sha256=bBthzGfg08N53PgXbtsOBKt1Xr0sH_NhfEGCL-Oeons,1490
|
3
3
|
airflow/providers/fab/alembic.ini,sha256=_1SvObfjMAkuD7DN5VR2S6Rd7_F81pORZT-w7GJldIA,4461
|
4
|
-
airflow/providers/fab/get_provider_info.py,sha256=
|
4
|
+
airflow/providers/fab/get_provider_info.py,sha256=I1fRKp4u-vUmSjoVyFmdD_spXfWhmdIqtlnWe2F5m40,5149
|
5
5
|
airflow/providers/fab/auth_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
6
|
-
airflow/providers/fab/auth_manager/fab_auth_manager.py,sha256=
|
6
|
+
airflow/providers/fab/auth_manager/fab_auth_manager.py,sha256=4gwd5En0e0fviMGdd4BphN-S1cgykzk2RLcbsc8IOns,25843
|
7
7
|
airflow/providers/fab/auth_manager/api/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
8
|
airflow/providers/fab/auth_manager/api/auth/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
9
9
|
airflow/providers/fab/auth_manager/api/auth/backend/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
@@ -28,7 +28,7 @@ airflow/providers/fab/auth_manager/cli_commands/definition.py,sha256=XIAPqoHwkFH
|
|
28
28
|
airflow/providers/fab/auth_manager/cli_commands/role_command.py,sha256=4w1tHTR5gBbsymeqGIJ4Rs8CmGdw0l49y58pfI0DB_s,9098
|
29
29
|
airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py,sha256=VpW-rWhgHAL_ReU66D_BrsxlXQN4okfxzj6dyE5IfwA,1663
|
30
30
|
airflow/providers/fab/auth_manager/cli_commands/user_command.py,sha256=jkJZnuw17YGTCuUZHtnkSQ6pcUr38nDHetuRdV-0N5o,10273
|
31
|
-
airflow/providers/fab/auth_manager/cli_commands/utils.py,sha256=
|
31
|
+
airflow/providers/fab/auth_manager/cli_commands/utils.py,sha256=4MK6IYGtI8CtYPZSgj25IJL--42_gGUmQ72m47MYq7M,2921
|
32
32
|
airflow/providers/fab/auth_manager/models/__init__.py,sha256=Maaid2MjfR3wswj5SsbfBc-VEqgKbbCgny1JLk5Aqaw,9255
|
33
33
|
airflow/providers/fab/auth_manager/models/anonymous_user.py,sha256=mGLV26biw5db6hymFZ6qL7oCyVNaLduwDWS0kYuMZDg,1886
|
34
34
|
airflow/providers/fab/auth_manager/models/db.py,sha256=zKwih8X_nh82jbNfiiucn6Spxshp5Vz_JNqTdCCJ0Ws,4973
|
@@ -39,7 +39,7 @@ airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py,sha256=
|
|
39
39
|
airflow/providers/fab/auth_manager/schemas/user_schema.py,sha256=MLnZotQqAg_BFvJunrSwbwur5CaTjk1ww3eCI3aPT6Y,2401
|
40
40
|
airflow/providers/fab/auth_manager/security_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
41
41
|
airflow/providers/fab/auth_manager/security_manager/constants.py,sha256=x1Sjl_Mu3wmaSy3NFZlHxK2z-juzWmMs1SrzJ0aiBBQ,907
|
42
|
-
airflow/providers/fab/auth_manager/security_manager/override.py,sha256=
|
42
|
+
airflow/providers/fab/auth_manager/security_manager/override.py,sha256=lNmjFrkjL0tvnYugie4VZ42pUA6jW4RsGoCRzXNlukA,97281
|
43
43
|
airflow/providers/fab/auth_manager/views/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
44
44
|
airflow/providers/fab/auth_manager/views/permissions.py,sha256=CT6jMCDHtirs0Qe4Penb6VwQq1yZeZ1lOLZITIlVqm4,2904
|
45
45
|
airflow/providers/fab/auth_manager/views/roles_list.py,sha256=DwJ1iOCfpbxsWTEFWjW5_Jo3fmrZwxj1rPeflTaSg7A,1512
|
@@ -54,16 +54,16 @@ airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py,sh
|
|
54
54
|
airflow/providers/fab/migrations/versions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
55
55
|
airflow/providers/fab/www/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
56
56
|
airflow/providers/fab/www/airflow_flask_app.py,sha256=-JPQ-mS1kKEj5adENnoVSD4LaFrh36l1THnVhFYF8d4,1057
|
57
|
-
airflow/providers/fab/www/app.py,sha256=
|
57
|
+
airflow/providers/fab/www/app.py,sha256=RhUCSxS4Sivwu7aeLOqIVADszBh9uWOs1oni99FY9Rk,4951
|
58
58
|
airflow/providers/fab/www/auth.py,sha256=FbDJOlfO70cg1OatrWZOiiNsjPlDWnuh5QLu-iEXH9A,12659
|
59
59
|
airflow/providers/fab/www/constants.py,sha256=VUg48B-EZAUZ2IIdmL31Iv0lRlP0yLNPNTufB7rsWr0,1352
|
60
|
-
airflow/providers/fab/www/package-lock.json,sha256=
|
61
|
-
airflow/providers/fab/www/package.json,sha256=
|
60
|
+
airflow/providers/fab/www/package-lock.json,sha256=kbZdRu-c51C2FpNXnVLV4kisr8VjtIDOjaT0DbGlUbc,328250
|
61
|
+
airflow/providers/fab/www/package.json,sha256=Z7P02yIy22rlcD6Qm0KCOK8c9cZuxu1-sLuUizi9tC4,2357
|
62
62
|
airflow/providers/fab/www/security_appless.py,sha256=J0OJGRPq6NK2vY6qfMRvyMUEc-E59vXucquQdjgsndY,1655
|
63
63
|
airflow/providers/fab/www/security_manager.py,sha256=Zr6xqjego7Z1-1h2HHyWLt1ZBKG8yHHmNPfEXNxXaRY,4850
|
64
64
|
airflow/providers/fab/www/session.py,sha256=qyy8ipXLe4qH7D52tH3aKY6hyJNJ5tUfHel7_1S4BGg,1741
|
65
|
-
airflow/providers/fab/www/utils.py,sha256=
|
66
|
-
airflow/providers/fab/www/views.py,sha256
|
65
|
+
airflow/providers/fab/www/utils.py,sha256=9D_ESPV6ar5GOenD2Jm-lS7pW78yzxCWC5N-3kgMem8,9982
|
66
|
+
airflow/providers/fab/www/views.py,sha256=-xTQPTerP3vVLbWy6GvT_FI3c1yV3qY7lCR9gioZPNA,4750
|
67
67
|
airflow/providers/fab/www/webpack.config.js,sha256=_TYJ8cnmJW0vxb87xY4eNr9ZE7G5NFUPuiXvpF6SKys,6124
|
68
68
|
airflow/providers/fab/www/api_connexion/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
69
69
|
airflow/providers/fab/www/api_connexion/exceptions.py,sha256=j0S90JH6Q5hnkshfiZot7Yb9hAvFs1JON0EYjW2bxW0,5783
|
@@ -71,11 +71,11 @@ airflow/providers/fab/www/api_connexion/parameters.py,sha256=9XbKYdjpQ9KesyPK6Eb
|
|
71
71
|
airflow/providers/fab/www/api_connexion/security.py,sha256=tc6IA-lFVovRWV6ETQdAleq73scapD_1kUPQcn4rwH8,3063
|
72
72
|
airflow/providers/fab/www/api_connexion/types.py,sha256=FY96u5nR-ByiKBhoxC_kKVoXalH9GDhexXIGmCbBmKw,1094
|
73
73
|
airflow/providers/fab/www/extensions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
74
|
-
airflow/providers/fab/www/extensions/init_appbuilder.py,sha256=
|
74
|
+
airflow/providers/fab/www/extensions/init_appbuilder.py,sha256=ZktxW33J4nHDpoXRJtrJP3L88mscxirlE83JAJZAKbs,22172
|
75
75
|
airflow/providers/fab/www/extensions/init_jinja_globals.py,sha256=TfNOEsdLg9mflzDz6hU7lB2ZMkEJvgr-ruB6qKBBLoI,3199
|
76
76
|
airflow/providers/fab/www/extensions/init_manifest_files.py,sha256=DLeAcH2zMGbT-eDLYdXztP7HJG7H-e1jmSTolimZeAI,2125
|
77
77
|
airflow/providers/fab/www/extensions/init_security.py,sha256=sDwMjNMMQgyn2tsQAVkNHArPVbWe9qua66iOO59YGoU,2110
|
78
|
-
airflow/providers/fab/www/extensions/init_session.py,sha256=
|
78
|
+
airflow/providers/fab/www/extensions/init_session.py,sha256=y8zUVSngawNhkO4egEkhrQ_2v03wCeDjm8LUaNY0sZ8,2637
|
79
79
|
airflow/providers/fab/www/extensions/init_views.py,sha256=OiLfHshii7R1s3lOpTQEzs2syIq-5Arm4Gt-AXGxsKI,6447
|
80
80
|
airflow/providers/fab/www/security/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
81
81
|
airflow/providers/fab/www/security/permissions.py,sha256=5Srt7nuYHOOee439CHKJ74FnCgYkesG32a_6WFCXcOA,4537
|
@@ -119,7 +119,7 @@ airflow/providers/fab/www/templates/appbuilder/index.html,sha256=ZaZsNdD8fCENqdn
|
|
119
119
|
airflow/providers/fab/www/templates/appbuilder/navbar.html,sha256=N3KTgWFw720Hyr3NGYz787oRYLGQXDrRW1mLXIABLxc,10236
|
120
120
|
airflow/providers/fab/www/templates/appbuilder/navbar_menu.html,sha256=WWQ-_QLMqcW4Cpx_1_yulaQO-soD6ztnY2zfmBAUAGI,2034
|
121
121
|
airflow/providers/fab/www/templates/appbuilder/navbar_right.html,sha256=qrwZDBbzLi4yhLrfai842MJDdQ4C31Xz9hJ3NoG5mo0,2488
|
122
|
-
apache_airflow_providers_fab-2.0.
|
123
|
-
apache_airflow_providers_fab-2.0.
|
124
|
-
apache_airflow_providers_fab-2.0.
|
125
|
-
apache_airflow_providers_fab-2.0.
|
122
|
+
apache_airflow_providers_fab-2.0.0rc4.dist-info/entry_points.txt,sha256=m05kASp7vFi0ZmQ--CFp7GeJpPL7UT2RQF8EEP5XRX8,99
|
123
|
+
apache_airflow_providers_fab-2.0.0rc4.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
124
|
+
apache_airflow_providers_fab-2.0.0rc4.dist-info/METADATA,sha256=eos_T7JlJUryv5r9NzAJZNwwi0IHjq9I1PlB_bS2lig,6086
|
125
|
+
apache_airflow_providers_fab-2.0.0rc4.dist-info/RECORD,,
|
File without changes
|