apache-airflow-providers-fab 2.0.0rc1__py3-none-any.whl → 2.0.0rc2__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/LICENSE +0 -52
- airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +3 -4
- airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +4 -4
- airflow/providers/fab/auth_manager/api/auth/backend/session.py +1 -1
- airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +14 -14
- airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +12 -13
- airflow/providers/fab/auth_manager/api_fastapi/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +32 -0
- airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml +153 -0
- airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +51 -0
- airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +16 -0
- airflow/providers/fab/auth_manager/api_fastapi/services/login.py +58 -0
- airflow/providers/fab/auth_manager/cli_commands/db_command.py +2 -4
- airflow/providers/fab/auth_manager/cli_commands/user_command.py +2 -2
- airflow/providers/fab/auth_manager/cli_commands/utils.py +17 -4
- airflow/providers/fab/auth_manager/fab_auth_manager.py +222 -119
- airflow/providers/fab/auth_manager/models/__init__.py +1 -1
- airflow/providers/fab/auth_manager/models/anonymous_user.py +1 -1
- airflow/providers/fab/auth_manager/models/db.py +22 -5
- airflow/providers/fab/auth_manager/openapi/v1.yaml +9 -0
- airflow/providers/fab/auth_manager/schemas/user_schema.py +1 -1
- airflow/providers/fab/auth_manager/security_manager/override.py +89 -561
- airflow/providers/fab/auth_manager/views/permissions.py +1 -1
- airflow/providers/fab/auth_manager/views/roles_list.py +1 -1
- airflow/providers/fab/auth_manager/views/user.py +1 -1
- airflow/providers/fab/auth_manager/views/user_edit.py +1 -1
- airflow/providers/fab/auth_manager/views/user_stats.py +1 -1
- airflow/providers/fab/get_provider_info.py +26 -15
- airflow/providers/fab/www/airflow_flask_app.py +31 -0
- airflow/providers/fab/www/api_connexion/exceptions.py +197 -0
- airflow/providers/fab/www/api_connexion/parameters.py +131 -0
- airflow/providers/fab/www/api_connexion/security.py +84 -0
- airflow/providers/fab/www/api_connexion/types.py +30 -0
- airflow/providers/fab/www/app.py +34 -9
- airflow/providers/fab/www/auth.py +350 -0
- airflow/providers/fab/www/constants.py +28 -0
- airflow/providers/fab/www/extensions/init_appbuilder.py +54 -9
- airflow/providers/fab/www/extensions/init_jinja_globals.py +5 -3
- airflow/providers/fab/www/extensions/init_security.py +19 -0
- airflow/providers/fab/www/extensions/init_session.py +64 -0
- airflow/providers/fab/www/extensions/init_views.py +111 -1
- airflow/providers/fab/www/package-lock.json +4967 -16517
- airflow/providers/fab/www/package.json +25 -104
- airflow/providers/fab/www/security/__init__.py +17 -0
- airflow/providers/fab/www/security/permissions.py +126 -0
- airflow/providers/fab/www/security_appless.py +44 -0
- airflow/providers/fab/www/security_manager.py +122 -0
- airflow/providers/fab/www/session.py +41 -0
- airflow/providers/fab/www/static/css/flash.css +57 -0
- airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +1 -0
- airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +1 -0
- airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css +33 -0
- airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js +1 -0
- airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +1 -0
- airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css +18 -0
- airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js +1 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.css +5 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.js +2 -0
- airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +4 -0
- airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css +18 -0
- airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js +1 -0
- airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.css +18 -0
- airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js +2 -0
- airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js.LICENSE.txt +18 -0
- airflow/providers/fab/www/static/dist/manifest.json +20 -0
- airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css +18 -0
- airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js +1 -0
- airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js +2 -0
- airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js.LICENSE.txt +11 -0
- airflow/providers/fab/www/static/dist/oss-licenses.json +20 -0
- airflow/providers/fab/www/templates/airflow/main.html +10 -11
- airflow/providers/fab/www/templates/airflow/traceback.html +1 -5
- airflow/providers/fab/www/templates/appbuilder/flash.html +34 -0
- airflow/providers/fab/www/templates/appbuilder/navbar.html +7 -0
- airflow/providers/fab/www/templates/appbuilder/navbar_right.html +64 -0
- airflow/providers/fab/www/utils.py +272 -0
- airflow/providers/fab/www/views.py +129 -0
- airflow/providers/fab/www/webpack.config.js +5 -40
- {apache_airflow_providers_fab-2.0.0rc1.dist-info → apache_airflow_providers_fab-2.0.0rc2.dist-info}/METADATA +24 -34
- apache_airflow_providers_fab-2.0.0rc2.dist-info/RECORD +125 -0
- {apache_airflow_providers_fab-2.0.0rc1.dist-info → apache_airflow_providers_fab-2.0.0rc2.dist-info}/WHEEL +1 -1
- airflow/providers/fab/auth_manager/decorators/auth.py +0 -127
- apache_airflow_providers_fab-2.0.0rc1.dist-info/RECORD +0 -78
- /airflow/providers/fab/{auth_manager/decorators → www/api_connexion}/__init__.py +0 -0
- {apache_airflow_providers_fab-2.0.0rc1.dist-info → apache_airflow_providers_fab-2.0.0rc2.dist-info}/entry_points.txt +0 -0
@@ -58,6 +58,7 @@ Foundation (http://www.apache.org/).
|
|
58
58
|
const config = {
|
59
59
|
entry: {
|
60
60
|
airflowDefaultTheme: `${CSS_DIR}/bootstrap-theme.css`,
|
61
|
+
flash: `${CSS_DIR}/flash.css`,
|
61
62
|
loadingDots: `${CSS_DIR}/loading-dots.css`,
|
62
63
|
main: [`${CSS_DIR}/main.css`, `${JS_DIR}/main.js`],
|
63
64
|
materialIcons: `${CSS_DIR}/material-icons.css`,
|
@@ -76,19 +77,16 @@ const config = {
|
|
76
77
|
// Be sure to update aliases in jest.config.js and tsconfig.json
|
77
78
|
src: path.resolve(__dirname, "static/js"),
|
78
79
|
},
|
79
|
-
extensions: [".js", ".
|
80
|
+
extensions: [".js", ".css"],
|
80
81
|
},
|
81
82
|
module: {
|
82
83
|
rules: [
|
83
84
|
{
|
84
|
-
test: /\.(js
|
85
|
+
test: /\.(js)$/,
|
85
86
|
exclude: /node_modules/,
|
86
87
|
use: [
|
87
88
|
{
|
88
89
|
loader: "babel-loader",
|
89
|
-
options: {
|
90
|
-
presets: ["@babel/preset-react", "@babel/preset-typescript"],
|
91
|
-
},
|
92
90
|
},
|
93
91
|
],
|
94
92
|
},
|
@@ -176,46 +174,13 @@ const config = {
|
|
176
174
|
// we'll have the dependencies imported within the custom JS
|
177
175
|
new CopyWebpackPlugin({
|
178
176
|
patterns: [
|
179
|
-
{
|
180
|
-
from: "node_modules/d3/d3.min.*",
|
181
|
-
flatten: true,
|
182
|
-
},
|
183
|
-
{
|
184
|
-
from: "node_modules/dagre-d3/dist/*.min.*",
|
185
|
-
flatten: true,
|
186
|
-
},
|
187
|
-
{
|
188
|
-
from: "node_modules/d3-shape/dist/*.min.*",
|
189
|
-
flatten: true,
|
190
|
-
},
|
191
|
-
{
|
192
|
-
from: "node_modules/d3-tip/dist/index.js",
|
193
|
-
to: "d3-tip.js",
|
194
|
-
flatten: true,
|
195
|
-
},
|
196
177
|
{
|
197
178
|
from: "node_modules/jquery-ui/dist/jquery-ui.min.js",
|
198
|
-
|
179
|
+
to: "jquery-ui.min.js",
|
199
180
|
},
|
200
181
|
{
|
201
182
|
from: "node_modules/jquery-ui/dist/themes/base/jquery-ui.min.css",
|
202
|
-
|
203
|
-
},
|
204
|
-
{
|
205
|
-
from: "node_modules/codemirror/lib/codemirror.*",
|
206
|
-
flatten: true,
|
207
|
-
},
|
208
|
-
{
|
209
|
-
from: "node_modules/codemirror/addon/lint/**.*",
|
210
|
-
flatten: true,
|
211
|
-
},
|
212
|
-
{
|
213
|
-
from: "node_modules/codemirror/mode/javascript/javascript.js",
|
214
|
-
flatten: true,
|
215
|
-
},
|
216
|
-
{
|
217
|
-
from: "node_modules/jshint/dist/jshint.js",
|
218
|
-
flatten: true,
|
183
|
+
to: "jquery-ui.min.css",
|
219
184
|
},
|
220
185
|
],
|
221
186
|
}),
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: apache-airflow-providers-fab
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0rc2
|
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,20 +20,24 @@ 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.0.dev0
|
23
24
|
Requires-Dist: apache-airflow-providers-common-compat>=1.2.1rc0
|
24
|
-
Requires-Dist:
|
25
|
-
Requires-Dist: flask
|
25
|
+
Requires-Dist: blinker>=1.6.2
|
26
|
+
Requires-Dist: flask>=2.2.1,<2.3
|
27
|
+
Requires-Dist: flask-appbuilder==4.5.3
|
26
28
|
Requires-Dist: flask-login>=0.6.2
|
27
|
-
Requires-Dist: flask>=
|
28
|
-
Requires-Dist:
|
29
|
+
Requires-Dist: flask-session>=0.4.0,<0.6
|
30
|
+
Requires-Dist: flask-wtf>=1.1.0
|
31
|
+
Requires-Dist: connexion[flask]>=2.14.2,<3.0
|
29
32
|
Requires-Dist: jmespath>=0.7.0
|
33
|
+
Requires-Dist: werkzeug>=2.2,<4
|
30
34
|
Requires-Dist: kerberos>=1.3.0 ; extra == "kerberos"
|
31
35
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
32
36
|
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0/changelog.html
|
33
37
|
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0
|
38
|
+
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
34
39
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
35
40
|
Project-URL: Source Code, https://github.com/apache/airflow
|
36
|
-
Project-URL: Twitter, https://x.com/ApacheAirflow
|
37
41
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
38
42
|
Provides-Extra: kerberos
|
39
43
|
|
@@ -55,33 +59,14 @@ Provides-Extra: kerberos
|
|
55
59
|
specific language governing permissions and limitations
|
56
60
|
under the License.
|
57
61
|
|
58
|
-
|
59
|
-
or more contributor license agreements. See the NOTICE file
|
60
|
-
distributed with this work for additional information
|
61
|
-
regarding copyright ownership. The ASF licenses this file
|
62
|
-
to you under the Apache License, Version 2.0 (the
|
63
|
-
"License"); you may not use this file except in compliance
|
64
|
-
with the License. You may obtain a copy of the License at
|
65
|
-
|
66
|
-
.. http://www.apache.org/licenses/LICENSE-2.0
|
67
|
-
|
68
|
-
.. Unless required by applicable law or agreed to in writing,
|
69
|
-
software distributed under the License is distributed on an
|
70
|
-
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
71
|
-
KIND, either express or implied. See the License for the
|
72
|
-
specific language governing permissions and limitations
|
73
|
-
under the License.
|
74
|
-
|
75
|
-
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE
|
76
|
-
OVERWRITTEN WHEN PREPARING PACKAGES.
|
77
|
-
|
78
|
-
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
79
|
-
`PROVIDER_README_TEMPLATE.rst.jinja2` IN the `dev/breeze/src/airflow_breeze/templates` DIRECTORY
|
62
|
+
.. NOTE! THIS FILE IS AUTOMATICALLY GENERATED AND WILL BE OVERWRITTEN!
|
80
63
|
|
64
|
+
.. IF YOU WANT TO MODIFY TEMPLATE FOR THIS FILE, YOU SHOULD MODIFY THE TEMPLATE
|
65
|
+
``PROVIDER_README_TEMPLATE.rst.jinja2`` IN the ``dev/breeze/src/airflow_breeze/templates`` DIRECTORY
|
81
66
|
|
82
67
|
Package ``apache-airflow-providers-fab``
|
83
68
|
|
84
|
-
Release: ``2.0.0
|
69
|
+
Release: ``2.0.0``
|
85
70
|
|
86
71
|
|
87
72
|
`Flask App Builder <https://flask-appbuilder.readthedocs.io/>`__
|
@@ -113,18 +98,22 @@ PIP package Version required
|
|
113
98
|
========================================== ==================
|
114
99
|
``apache-airflow`` ``>=3.0.0.dev0``
|
115
100
|
``apache-airflow-providers-common-compat`` ``>=1.2.1``
|
116
|
-
``
|
117
|
-
``flask
|
101
|
+
``blinker`` ``>=1.6.2``
|
102
|
+
``flask`` ``>=2.2.1,<2.3``
|
103
|
+
``flask-appbuilder`` ``==4.5.3``
|
118
104
|
``flask-login`` ``>=0.6.2``
|
119
|
-
``
|
105
|
+
``flask-session`` ``>=0.4.0,<0.6``
|
106
|
+
``flask-wtf`` ``>=1.1.0``
|
107
|
+
``connexion[flask]`` ``>=2.14.2,<3.0``
|
120
108
|
``jmespath`` ``>=0.7.0``
|
109
|
+
``werkzeug`` ``>=2.2,<4``
|
121
110
|
========================================== ==================
|
122
111
|
|
123
112
|
Cross provider package dependencies
|
124
113
|
-----------------------------------
|
125
114
|
|
126
115
|
Those are dependencies that might be needed in order to use all the features of the package.
|
127
|
-
You need to install the specified
|
116
|
+
You need to install the specified providers in order to use them.
|
128
117
|
|
129
118
|
You can install such cross-provider dependencies when installing from PyPI. For example:
|
130
119
|
|
@@ -141,3 +130,4 @@ Dependent package
|
|
141
130
|
|
142
131
|
The changelog for the provider package can be found in the
|
143
132
|
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-fab/2.0.0/changelog.html>`_.
|
133
|
+
|
@@ -0,0 +1,125 @@
|
|
1
|
+
airflow/providers/fab/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
2
|
+
airflow/providers/fab/__init__.py,sha256=XfPbA_RY3CtuASSD_ZA32yNOhy8KxVVn8HOjx9JJefA,1500
|
3
|
+
airflow/providers/fab/alembic.ini,sha256=_1SvObfjMAkuD7DN5VR2S6Rd7_F81pORZT-w7GJldIA,4461
|
4
|
+
airflow/providers/fab/get_provider_info.py,sha256=EfNgZbkd_Tduyl9vETunJ8j5Qr7B9Cp2Md0hk8v11oc,4067
|
5
|
+
airflow/providers/fab/auth_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
6
|
+
airflow/providers/fab/auth_manager/fab_auth_manager.py,sha256=N4jaAmJe2yE8A0p2Ai6tMqa-stOVft1acayHHTPnqw8,25728
|
7
|
+
airflow/providers/fab/auth_manager/api/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
+
airflow/providers/fab/auth_manager/api/auth/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
9
|
+
airflow/providers/fab/auth_manager/api/auth/backend/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
10
|
+
airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py,sha256=TFvx99qOS-HcHXvDkMlpiauttuHMG3veZYT4xH3LbXs,2510
|
11
|
+
airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py,sha256=60ukPvKf-o7emmKS0A_l2cMToGRWEB_s4k4IOu64dFM,5005
|
12
|
+
airflow/providers/fab/auth_manager/api/auth/backend/session.py,sha256=aNDrYNidwr99NWgrl5WA6TY5CbHYif6chVRUPgYVOWc,1504
|
13
|
+
airflow/providers/fab/auth_manager/api_endpoints/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
14
|
+
airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py,sha256=CIBNyj3zMK1NjHCv6C3KB48foRKCBMozIUxAW5R5YfQ,7607
|
15
|
+
airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py,sha256=TZywqf9rQBwkjvzsEwIm5TPstfOtiRwl4XKTjAVWzrk,8445
|
16
|
+
airflow/providers/fab/auth_manager/api_fastapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
17
|
+
airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
18
|
+
airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py,sha256=Ndj8BR0K0tbmBNyrgAvE4GK_SeY7RTE6cfYB3I3g7iY,1092
|
19
|
+
airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
20
|
+
airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml,sha256=v5EA4oiuGiZlKf8nHly1lPMtp5yjdxKSC-7IHfJsab4,4098
|
21
|
+
airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
22
|
+
airflow/providers/fab/auth_manager/api_fastapi/routes/login.py,sha256=Vr2AO2Dlt2QoEYyal5SmzbBO72U-mq-dbPE-b2ODQ74,2131
|
23
|
+
airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
24
|
+
airflow/providers/fab/auth_manager/api_fastapi/services/login.py,sha256=lG6L3PvpPtT8y9RYNCzaAEHe6vnlOdfkap5T_eS0Z8Y,2483
|
25
|
+
airflow/providers/fab/auth_manager/cli_commands/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
26
|
+
airflow/providers/fab/auth_manager/cli_commands/db_command.py,sha256=SeNg8giLDUX5aniF2XFM7txVQ6N2dDV6BRZnV-UzWX8,2151
|
27
|
+
airflow/providers/fab/auth_manager/cli_commands/definition.py,sha256=XIAPqoHwkFHshfbj6yGIs7xUrR-uSE1F7V71n44PttA,11483
|
28
|
+
airflow/providers/fab/auth_manager/cli_commands/role_command.py,sha256=4w1tHTR5gBbsymeqGIJ4Rs8CmGdw0l49y58pfI0DB_s,9098
|
29
|
+
airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py,sha256=VpW-rWhgHAL_ReU66D_BrsxlXQN4okfxzj6dyE5IfwA,1663
|
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=tT0uQios1VE3aCU-hbhA2OuaproNSN-uSOssaO208Ng,2927
|
32
|
+
airflow/providers/fab/auth_manager/models/__init__.py,sha256=Maaid2MjfR3wswj5SsbfBc-VEqgKbbCgny1JLk5Aqaw,9255
|
33
|
+
airflow/providers/fab/auth_manager/models/anonymous_user.py,sha256=mGLV26biw5db6hymFZ6qL7oCyVNaLduwDWS0kYuMZDg,1886
|
34
|
+
airflow/providers/fab/auth_manager/models/db.py,sha256=zKwih8X_nh82jbNfiiucn6Spxshp5Vz_JNqTdCCJ0Ws,4973
|
35
|
+
airflow/providers/fab/auth_manager/openapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
36
|
+
airflow/providers/fab/auth_manager/openapi/v1.yaml,sha256=9sAaTNXVBYfHKILn6fRKfROC3hAattsQu4wwG22nO64,20346
|
37
|
+
airflow/providers/fab/auth_manager/schemas/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
38
|
+
airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py,sha256=aDB0naczyEsGYaF3U3djF-Ui6lxPdgWHvgcwjyJn_X8,2526
|
39
|
+
airflow/providers/fab/auth_manager/schemas/user_schema.py,sha256=MLnZotQqAg_BFvJunrSwbwur5CaTjk1ww3eCI3aPT6Y,2401
|
40
|
+
airflow/providers/fab/auth_manager/security_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
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=zlF2KQjsSTr16aT_dCP1vYjIv2XgNb8uyV5koZkRIas,92314
|
43
|
+
airflow/providers/fab/auth_manager/views/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
44
|
+
airflow/providers/fab/auth_manager/views/permissions.py,sha256=CT6jMCDHtirs0Qe4Penb6VwQq1yZeZ1lOLZITIlVqm4,2904
|
45
|
+
airflow/providers/fab/auth_manager/views/roles_list.py,sha256=DwJ1iOCfpbxsWTEFWjW5_Jo3fmrZwxj1rPeflTaSg7A,1512
|
46
|
+
airflow/providers/fab/auth_manager/views/user.py,sha256=JmeBUmTleJSvvQmQdNyESx3-FzBq95vPHiWQ8W6jzaI,6013
|
47
|
+
airflow/providers/fab/auth_manager/views/user_edit.py,sha256=79RILFOlmithdKCBYDUlPT0Iq_uffZnCZgGBiD4lz4E,2158
|
48
|
+
airflow/providers/fab/auth_manager/views/user_stats.py,sha256=hs-bYvKTxU1-ohryLQgczMT0peOJWcpDwAD2mItQJLE,1318
|
49
|
+
airflow/providers/fab/migrations/README,sha256=heMzebYwlGhnE8_4CWJ4LS74WoEZjBy-S-mIJRxAEKI,39
|
50
|
+
airflow/providers/fab/migrations/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
51
|
+
airflow/providers/fab/migrations/env.py,sha256=wbgFowVIf-wY1L-DqD2f8wiuTeXNDKeAUw1oM15Fd0U,3998
|
52
|
+
airflow/providers/fab/migrations/script.py.mako,sha256=_krfPtzv1Unme2b9MCHPgXo0g73HcN2_zDgz3co2N4M,1353
|
53
|
+
airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py,sha256=wLZiBiWjfSofXZ4jXMjpEKkIc3jI0a6hpJ73xEYAzss,1370
|
54
|
+
airflow/providers/fab/migrations/versions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
55
|
+
airflow/providers/fab/www/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
56
|
+
airflow/providers/fab/www/airflow_flask_app.py,sha256=-JPQ-mS1kKEj5adENnoVSD4LaFrh36l1THnVhFYF8d4,1057
|
57
|
+
airflow/providers/fab/www/app.py,sha256=wc-szaH4zg1QJ_WeATQz5DF_9urDjt3T_9Rpt-KNcnc,4485
|
58
|
+
airflow/providers/fab/www/auth.py,sha256=FbDJOlfO70cg1OatrWZOiiNsjPlDWnuh5QLu-iEXH9A,12659
|
59
|
+
airflow/providers/fab/www/constants.py,sha256=VUg48B-EZAUZ2IIdmL31Iv0lRlP0yLNPNTufB7rsWr0,1352
|
60
|
+
airflow/providers/fab/www/package-lock.json,sha256=NQqKLv7K7gvULRxsc4CrhuHdHDosbS9-73wdAJb87oE,355339
|
61
|
+
airflow/providers/fab/www/package.json,sha256=8APH8BXfN1JGsDgy89RBocqKiOfZKVHTr8Jb2DkSHas,2357
|
62
|
+
airflow/providers/fab/www/security_appless.py,sha256=J0OJGRPq6NK2vY6qfMRvyMUEc-E59vXucquQdjgsndY,1655
|
63
|
+
airflow/providers/fab/www/security_manager.py,sha256=Zr6xqjego7Z1-1h2HHyWLt1ZBKG8yHHmNPfEXNxXaRY,4850
|
64
|
+
airflow/providers/fab/www/session.py,sha256=qyy8ipXLe4qH7D52tH3aKY6hyJNJ5tUfHel7_1S4BGg,1741
|
65
|
+
airflow/providers/fab/www/utils.py,sha256=N95_hNDmNFR0HNWJfuVfHGBVy6Z3nF0r8MVSZrgCmMc,9382
|
66
|
+
airflow/providers/fab/www/views.py,sha256=oYec6r4nayWIM2LyByjh3a6iXFu7aOqAqnFUY1mG1BA,4736
|
67
|
+
airflow/providers/fab/www/webpack.config.js,sha256=_TYJ8cnmJW0vxb87xY4eNr9ZE7G5NFUPuiXvpF6SKys,6124
|
68
|
+
airflow/providers/fab/www/api_connexion/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
69
|
+
airflow/providers/fab/www/api_connexion/exceptions.py,sha256=j0S90JH6Q5hnkshfiZot7Yb9hAvFs1JON0EYjW2bxW0,5783
|
70
|
+
airflow/providers/fab/www/api_connexion/parameters.py,sha256=9XbKYdjpQ9KesyPK6Eb-sYBTM4NqnbKJxLC70psXeDc,4308
|
71
|
+
airflow/providers/fab/www/api_connexion/security.py,sha256=tc6IA-lFVovRWV6ETQdAleq73scapD_1kUPQcn4rwH8,3063
|
72
|
+
airflow/providers/fab/www/api_connexion/types.py,sha256=FY96u5nR-ByiKBhoxC_kKVoXalH9GDhexXIGmCbBmKw,1094
|
73
|
+
airflow/providers/fab/www/extensions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
74
|
+
airflow/providers/fab/www/extensions/init_appbuilder.py,sha256=raB0cXym5RcOK1cgLp3OnjskYsomOtapFt0pDIXBnWE,22074
|
75
|
+
airflow/providers/fab/www/extensions/init_jinja_globals.py,sha256=TfNOEsdLg9mflzDz6hU7lB2ZMkEJvgr-ruB6qKBBLoI,3199
|
76
|
+
airflow/providers/fab/www/extensions/init_manifest_files.py,sha256=DLeAcH2zMGbT-eDLYdXztP7HJG7H-e1jmSTolimZeAI,2125
|
77
|
+
airflow/providers/fab/www/extensions/init_security.py,sha256=sDwMjNMMQgyn2tsQAVkNHArPVbWe9qua66iOO59YGoU,2110
|
78
|
+
airflow/providers/fab/www/extensions/init_session.py,sha256=8oEf0GNncBZ8CN3GPKrwzV6R7s54SUTyO7ZbK47KATo,2648
|
79
|
+
airflow/providers/fab/www/extensions/init_views.py,sha256=OiLfHshii7R1s3lOpTQEzs2syIq-5Arm4Gt-AXGxsKI,6447
|
80
|
+
airflow/providers/fab/www/security/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
81
|
+
airflow/providers/fab/www/security/permissions.py,sha256=5Srt7nuYHOOee439CHKJ74FnCgYkesG32a_6WFCXcOA,4537
|
82
|
+
airflow/providers/fab/www/static/sort_asc.png,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
83
|
+
airflow/providers/fab/www/static/sort_both.png,sha256=PgFsI65RQXOCtkCuLRnrSAR1MsN61TiUvRhVhlWcz_s,201
|
84
|
+
airflow/providers/fab/www/static/sort_desc.png,sha256=0I7Q4h8YfdMJAw1GUiTagIURmhWhfWFroOR3u1DG8Q0,158
|
85
|
+
airflow/providers/fab/www/static/css/bootstrap-theme.css,sha256=9hxX-_gQUlWspJ-CazcRU74IqY8WnmbhrEdbfHJHxV8,129001
|
86
|
+
airflow/providers/fab/www/static/css/flash.css,sha256=Kz1LaSVRlvQU3voXxqB-fQLmIE-gpVrhaTzijXEkrvA,1468
|
87
|
+
airflow/providers/fab/www/static/css/loading-dots.css,sha256=amw1pWMdsaL0yEN_r0rCfwb11FwerQyRyXXFNAoB6hA,1385
|
88
|
+
airflow/providers/fab/www/static/css/main.css,sha256=Emc-ZZumKwH9qLsjor1Lx4supb8NQUHAmRTMNy5mdhU,10395
|
89
|
+
airflow/providers/fab/www/static/css/material-icons.css,sha256=4LV_bzKwJd8UDqOx7jbb2ro_y10nqeaNDmP8Rbv9XCY,112094
|
90
|
+
airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png,sha256=8norchefCBbgdNC28QHJj51iWMK4rXVa9EXC-Ideq0U,39
|
91
|
+
airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png,sha256=bYAeE6pqnD829ZcZVmN6T900JUf_qMeAUzsn-NzjyNk,251
|
92
|
+
airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css,sha256=Jq17RkGzRZFxp3WrhfZzGHRibhy1thAI1PV4br1FEQY,103413
|
93
|
+
airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js,sha256=hxvEM0DAftBeQQMjkjTgr6t1L4CgkMMPg4UjE5nvjBI,470
|
94
|
+
airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png,sha256=jgzXdalfLfBTrRamJIAEWXs4uuyccr2Ec8-szI9wHVs,307
|
95
|
+
airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css,sha256=cy1mAp-hBaY2yVlalKNo1Oz7nyykxJiswRttS3Dp9V4,1253
|
96
|
+
airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js,sha256=ChX7SzURR7CK8Qd6p0-NKMyPqVe0qi2thVbINTEQXM4,456
|
97
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.css,sha256=12svTn3nT66of_Ran6sEcDZ89P-HGQYWAlLnZjnqflg,29941
|
98
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.js,sha256=txZuQSIYI96Y96416OrtgUwI_X_HubsBrk-6-cA8cpQ,252313
|
99
|
+
airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt,sha256=4UlrvolSNnS2q3J3GQcl__s2-Ssc6GNw5x7IOvvsVbU,1135
|
100
|
+
airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css,sha256=ohfW0OGrwhZDp1qPPTqvL-6ssIkt6uDooaZkB7KYT7U,1244
|
101
|
+
airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js,sha256=9xPjsUFKXwEvjkBZgcnab38R99GMuvQv3XCBO-HIzaw,462
|
102
|
+
airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.css,sha256=KmN5xgP57bvi_LHe5wUiREEnX-vwnZW-Pi2wGK4ZBfU,6844
|
103
|
+
airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js,sha256=M--qtKejlnGjPquH_ctbfmJW93OBHOJxDUWw1_K6DjQ,5688
|
104
|
+
airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js.LICENSE.txt,sha256=FX9Q5lmXWsdQeuAN5eIQlag1BKUFTx3rpUftXrj5Et4,809
|
105
|
+
airflow/providers/fab/www/static/dist/manifest.json,sha256=OiKyrk89kTF5CvXS0FpvfaXLIXH6lHyFP6I-VvNp9os,1011
|
106
|
+
airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css,sha256=_H-ualtdn1-0p1mnpS-ByZ9uQzClvcFoVuOl2R5ODRs,111666
|
107
|
+
airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js,sha256=_qbml493nkr1JAO9KxOlf-b5kVeLvGJHkjG9VasVAfU,464
|
108
|
+
airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js,sha256=aABIO0agoi1DArDTl5eWVWR04n_yTTe4V-y_rRniM0U,793833
|
109
|
+
airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js.LICENSE.txt,sha256=cic0iUfGbX1MC7q-t59Di6RAiKQSb_xjBqxhClXRiBc,174
|
110
|
+
airflow/providers/fab/www/static/dist/oss-licenses.json,sha256=j8Nv4ha5KuHGGL-n-NWZlb3Ihsrgqxr2oCC8VspGSus,2891
|
111
|
+
airflow/providers/fab/www/static/js/datetime_utils.js,sha256=Nq8gP1tRy-ztodREw8Q2QDLGYt_DwIMZWgrEVfuFMgE,4543
|
112
|
+
airflow/providers/fab/www/static/js/main.js,sha256=MUyTstwNQiN9GNT7yHBSt2Oh4Cr3M173CUFSXX6cI2g,9194
|
113
|
+
airflow/providers/fab/www/templates/airflow/_messages.html,sha256=DKKiboYjmRqPRIP3BpUYsIxK5xKGpZy2yRk67lcAW5Y,1147
|
114
|
+
airflow/providers/fab/www/templates/airflow/error.html,sha256=AEXwcesuTXQdzfjJrTr2hX2L1Oxtr-FgehWV9dCBCBA,1327
|
115
|
+
airflow/providers/fab/www/templates/airflow/main.html,sha256=LYIkSwrXy5UjqFOqlA991ILpz5Dj_1z5bEteGfEUz_c,2919
|
116
|
+
airflow/providers/fab/www/templates/airflow/traceback.html,sha256=jyHjbK9V6RccA4P5ml4p1E6o8w1pZ8-aGa0NXp4Lvtk,2273
|
117
|
+
airflow/providers/fab/www/templates/appbuilder/flash.html,sha256=CfY_E0Bq_vSnWI58UqlcchTfLFfnr-mxRLdS_hwr_Ps,1408
|
118
|
+
airflow/providers/fab/www/templates/appbuilder/index.html,sha256=ZaZsNdD8fCENqdnZMbjGbCaK5R9WNFRW5vk8y43pCsk,810
|
119
|
+
airflow/providers/fab/www/templates/appbuilder/navbar.html,sha256=N3KTgWFw720Hyr3NGYz787oRYLGQXDrRW1mLXIABLxc,10236
|
120
|
+
airflow/providers/fab/www/templates/appbuilder/navbar_menu.html,sha256=WWQ-_QLMqcW4Cpx_1_yulaQO-soD6ztnY2zfmBAUAGI,2034
|
121
|
+
airflow/providers/fab/www/templates/appbuilder/navbar_right.html,sha256=qrwZDBbzLi4yhLrfai842MJDdQ4C31Xz9hJ3NoG5mo0,2488
|
122
|
+
apache_airflow_providers_fab-2.0.0rc2.dist-info/entry_points.txt,sha256=m05kASp7vFi0ZmQ--CFp7GeJpPL7UT2RQF8EEP5XRX8,99
|
123
|
+
apache_airflow_providers_fab-2.0.0rc2.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
|
124
|
+
apache_airflow_providers_fab-2.0.0rc2.dist-info/METADATA,sha256=mt44Zmh5nxgWGJdlB-APhmXhnMP05C4nUqoiz8ig9QM,6005
|
125
|
+
apache_airflow_providers_fab-2.0.0rc2.dist-info/RECORD,,
|
@@ -1,127 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one
|
3
|
-
# or more contributor license agreements. See the NOTICE file
|
4
|
-
# distributed with this work for additional information
|
5
|
-
# regarding copyright ownership. The ASF licenses this file
|
6
|
-
# to you under the Apache License, Version 2.0 (the
|
7
|
-
# "License"); you may not use this file except in compliance
|
8
|
-
# with the License. You may obtain a copy of the License at
|
9
|
-
#
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
12
|
-
# Unless required by applicable law or agreed to in writing,
|
13
|
-
# software distributed under the License is distributed on an
|
14
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
-
# KIND, either express or implied. See the License for the
|
16
|
-
# specific language governing permissions and limitations
|
17
|
-
# under the License.
|
18
|
-
from __future__ import annotations
|
19
|
-
|
20
|
-
import logging
|
21
|
-
from collections.abc import Sequence
|
22
|
-
from functools import wraps
|
23
|
-
from typing import Callable, TypeVar, cast
|
24
|
-
|
25
|
-
from flask import current_app, render_template, request
|
26
|
-
|
27
|
-
from airflow.api_connexion.exceptions import PermissionDenied
|
28
|
-
from airflow.api_connexion.security import check_authentication
|
29
|
-
from airflow.api_fastapi.app import get_auth_manager
|
30
|
-
from airflow.configuration import conf
|
31
|
-
from airflow.providers.fab.auth_manager.security_manager.override import FabAirflowSecurityManagerOverride
|
32
|
-
from airflow.utils.airflow_flask_app import AirflowApp
|
33
|
-
from airflow.utils.net import get_hostname
|
34
|
-
from airflow.www.auth import _has_access
|
35
|
-
|
36
|
-
T = TypeVar("T", bound=Callable)
|
37
|
-
|
38
|
-
log = logging.getLogger(__name__)
|
39
|
-
|
40
|
-
|
41
|
-
def _requires_access_fab(permissions: Sequence[tuple[str, str]] | None = None) -> Callable[[T], T]:
|
42
|
-
"""
|
43
|
-
Check current user's permissions against required permissions.
|
44
|
-
|
45
|
-
This decorator is only kept for backward compatible reasons. The decorator
|
46
|
-
``airflow.api_connexion.security.requires_access``, which redirects to this decorator, might be used in
|
47
|
-
user plugins. Thus, we need to keep it.
|
48
|
-
|
49
|
-
:meta private:
|
50
|
-
"""
|
51
|
-
appbuilder = cast(AirflowApp, current_app).appbuilder
|
52
|
-
security_manager = cast(FabAirflowSecurityManagerOverride, get_auth_manager().security_manager)
|
53
|
-
if appbuilder.update_perms:
|
54
|
-
security_manager.sync_resource_permissions(permissions)
|
55
|
-
|
56
|
-
def requires_access_decorator(func: T):
|
57
|
-
@wraps(func)
|
58
|
-
def decorated(*args, **kwargs):
|
59
|
-
check_authentication()
|
60
|
-
if security_manager.check_authorization(permissions, kwargs.get("dag_id")):
|
61
|
-
return func(*args, **kwargs)
|
62
|
-
raise PermissionDenied()
|
63
|
-
|
64
|
-
return cast(T, decorated)
|
65
|
-
|
66
|
-
return requires_access_decorator
|
67
|
-
|
68
|
-
|
69
|
-
def _has_access_fab(permissions: Sequence[tuple[str, str]] | None = None) -> Callable[[T], T]:
|
70
|
-
"""
|
71
|
-
Check current user's permissions against required permissions.
|
72
|
-
|
73
|
-
This decorator is only kept for backward compatible reasons. The decorator
|
74
|
-
``airflow.www.auth.has_access``, which redirects to this decorator, is widely used in user plugins.
|
75
|
-
Thus, we need to keep it.
|
76
|
-
See https://github.com/apache/airflow/pull/33213#discussion_r1346287224
|
77
|
-
|
78
|
-
:meta private:
|
79
|
-
"""
|
80
|
-
|
81
|
-
def requires_access_decorator(func: T):
|
82
|
-
@wraps(func)
|
83
|
-
def decorated(*args, **kwargs):
|
84
|
-
__tracebackhide__ = True # Hide from pytest traceback.
|
85
|
-
|
86
|
-
appbuilder = current_app.appbuilder
|
87
|
-
|
88
|
-
dag_id_kwargs = kwargs.get("dag_id")
|
89
|
-
dag_id_args = request.args.get("dag_id")
|
90
|
-
dag_id_form = request.form.get("dag_id")
|
91
|
-
dag_id_json = request.json.get("dag_id") if request.is_json else None
|
92
|
-
all_dag_ids = [dag_id_kwargs, dag_id_args, dag_id_form, dag_id_json]
|
93
|
-
unique_dag_ids = set(dag_id for dag_id in all_dag_ids if dag_id is not None)
|
94
|
-
|
95
|
-
if len(unique_dag_ids) > 1:
|
96
|
-
log.warning(
|
97
|
-
"There are different dag_ids passed in the request: %s. Returning 403.", unique_dag_ids
|
98
|
-
)
|
99
|
-
log.warning(
|
100
|
-
"kwargs: %s, args: %s, form: %s, json: %s",
|
101
|
-
dag_id_kwargs,
|
102
|
-
dag_id_args,
|
103
|
-
dag_id_form,
|
104
|
-
dag_id_json,
|
105
|
-
)
|
106
|
-
return (
|
107
|
-
render_template(
|
108
|
-
"airflow/no_roles_permissions.html",
|
109
|
-
hostname=get_hostname()
|
110
|
-
if conf.getboolean("webserver", "EXPOSE_HOSTNAME")
|
111
|
-
else "redact",
|
112
|
-
logout_url=get_auth_manager().get_url_logout(),
|
113
|
-
),
|
114
|
-
403,
|
115
|
-
)
|
116
|
-
dag_id = unique_dag_ids.pop() if unique_dag_ids else None
|
117
|
-
|
118
|
-
return _has_access(
|
119
|
-
is_authorized=appbuilder.sm.check_authorization(permissions, dag_id),
|
120
|
-
func=func,
|
121
|
-
args=args,
|
122
|
-
kwargs=kwargs,
|
123
|
-
)
|
124
|
-
|
125
|
-
return cast(T, decorated)
|
126
|
-
|
127
|
-
return requires_access_decorator
|
@@ -1,78 +0,0 @@
|
|
1
|
-
airflow/providers/fab/LICENSE,sha256=FFb4jd2AXnOOf7XLP04pQW6jbdhG49TxlGY6fFpCV1Y,13609
|
2
|
-
airflow/providers/fab/__init__.py,sha256=XfPbA_RY3CtuASSD_ZA32yNOhy8KxVVn8HOjx9JJefA,1500
|
3
|
-
airflow/providers/fab/alembic.ini,sha256=_1SvObfjMAkuD7DN5VR2S6Rd7_F81pORZT-w7GJldIA,4461
|
4
|
-
airflow/providers/fab/get_provider_info.py,sha256=s3JMCBoaAKkSePLVQGx2VBW6u85S3FUVSDLwoooSmg0,3501
|
5
|
-
airflow/providers/fab/auth_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
6
|
-
airflow/providers/fab/auth_manager/fab_auth_manager.py,sha256=naHaDDUACL7ll5tEgdOJP3-Th-1PAhXwEvYtoyhf69g,23202
|
7
|
-
airflow/providers/fab/auth_manager/api/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
-
airflow/providers/fab/auth_manager/api/auth/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
9
|
-
airflow/providers/fab/auth_manager/api/auth/backend/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
10
|
-
airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py,sha256=oQwUqcJDNCqLTS3trozRddBgccCTNaRk-wn8DXzxgys,2550
|
11
|
-
airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py,sha256=QfM0BPoDutI-1KyQEvwHqM76GeJurBOfb0smew9sYiE,5032
|
12
|
-
airflow/providers/fab/auth_manager/api/auth/backend/session.py,sha256=3xBC4PKvONya4MGhr5HZoPwojWmjStHoR43J8t4eiY4,1502
|
13
|
-
airflow/providers/fab/auth_manager/api_endpoints/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
14
|
-
airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py,sha256=iRabsYIcIWjLKxBtK41huvI-d9D5NTdoXgt_FqvD_rs,7548
|
15
|
-
airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py,sha256=w0rfxEOB3cQLhK0N_q0KyxYdx67kcBIJjDmc-NXxDAE,8480
|
16
|
-
airflow/providers/fab/auth_manager/cli_commands/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
17
|
-
airflow/providers/fab/auth_manager/cli_commands/db_command.py,sha256=-tImlkzVpdFcv1QDltU8CQGHNMmVdFohXKXtWWvOUOc,2204
|
18
|
-
airflow/providers/fab/auth_manager/cli_commands/definition.py,sha256=XIAPqoHwkFHshfbj6yGIs7xUrR-uSE1F7V71n44PttA,11483
|
19
|
-
airflow/providers/fab/auth_manager/cli_commands/role_command.py,sha256=4w1tHTR5gBbsymeqGIJ4Rs8CmGdw0l49y58pfI0DB_s,9098
|
20
|
-
airflow/providers/fab/auth_manager/cli_commands/sync_perm_command.py,sha256=VpW-rWhgHAL_ReU66D_BrsxlXQN4okfxzj6dyE5IfwA,1663
|
21
|
-
airflow/providers/fab/auth_manager/cli_commands/user_command.py,sha256=DMsGccMSs2u0cn1dQgRYkJoG37JhEE-m9dtn-sWEOXw,10275
|
22
|
-
airflow/providers/fab/auth_manager/cli_commands/utils.py,sha256=CqayMG8PIMJ1B4ai_PFaF12nzkDg_qmETmxAUWgnXQE,2048
|
23
|
-
airflow/providers/fab/auth_manager/decorators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
24
|
-
airflow/providers/fab/auth_manager/decorators/auth.py,sha256=p0_3ZFclvSyWjOvXfnnyLV5L_K-pV-oKqrT6HMGk4SQ,4958
|
25
|
-
airflow/providers/fab/auth_manager/models/__init__.py,sha256=KZl07tphFlZ8kTnsV8k7eTMilaWtd6rV-RjtWOkb13E,9243
|
26
|
-
airflow/providers/fab/auth_manager/models/anonymous_user.py,sha256=gE2E7NQgNBqSJe44pq_RKeZNe7KMVrACL43akF5ucag,1874
|
27
|
-
airflow/providers/fab/auth_manager/models/db.py,sha256=bPWvMiee6vDP4iJNWVCE7PTuLDjOSn_IvA9b9cbQJek,4339
|
28
|
-
airflow/providers/fab/auth_manager/openapi/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
29
|
-
airflow/providers/fab/auth_manager/openapi/v1.yaml,sha256=xFlQMccLoGarx8SnQvGJ1DRfHo4jQ3p9DzoPqQINcCw,19380
|
30
|
-
airflow/providers/fab/auth_manager/schemas/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
31
|
-
airflow/providers/fab/auth_manager/schemas/role_and_permission_schema.py,sha256=aDB0naczyEsGYaF3U3djF-Ui6lxPdgWHvgcwjyJn_X8,2526
|
32
|
-
airflow/providers/fab/auth_manager/schemas/user_schema.py,sha256=ap0A09dYmzAbSHI88_5j0Ysx0Z1G0rKSNau5lEi_CFc,2383
|
33
|
-
airflow/providers/fab/auth_manager/security_manager/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
34
|
-
airflow/providers/fab/auth_manager/security_manager/constants.py,sha256=x1Sjl_Mu3wmaSy3NFZlHxK2z-juzWmMs1SrzJ0aiBBQ,907
|
35
|
-
airflow/providers/fab/auth_manager/security_manager/override.py,sha256=IfXEhhV2jt3jqxiaZhWamTFN3-3IiQ8jPS3ZljlnZzw,111580
|
36
|
-
airflow/providers/fab/auth_manager/views/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
37
|
-
airflow/providers/fab/auth_manager/views/permissions.py,sha256=k5APUTqqKZqMxCWlKrUEgqdDVrGa9719HJ3UmFpiSLc,2886
|
38
|
-
airflow/providers/fab/auth_manager/views/roles_list.py,sha256=o_VqnLbQa4sisKxLwyx6VCl3HmvjKcjkrJG23R81FMQ,1494
|
39
|
-
airflow/providers/fab/auth_manager/views/user.py,sha256=KaBWeBMy5j8o9qwe0RDHhtToO4aC6pH_m7N9IcIj1xM,5995
|
40
|
-
airflow/providers/fab/auth_manager/views/user_edit.py,sha256=d8wQ_8Rk8Ce95sCElZIXN7ATwbXrT2Tauqn5uTwuo2E,2140
|
41
|
-
airflow/providers/fab/auth_manager/views/user_stats.py,sha256=zP2eX6e40rpEohJcvnvri4Khu3Q4ULLxjz1zOWvOr8A,1300
|
42
|
-
airflow/providers/fab/migrations/README,sha256=heMzebYwlGhnE8_4CWJ4LS74WoEZjBy-S-mIJRxAEKI,39
|
43
|
-
airflow/providers/fab/migrations/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
44
|
-
airflow/providers/fab/migrations/env.py,sha256=wbgFowVIf-wY1L-DqD2f8wiuTeXNDKeAUw1oM15Fd0U,3998
|
45
|
-
airflow/providers/fab/migrations/script.py.mako,sha256=_krfPtzv1Unme2b9MCHPgXo0g73HcN2_zDgz3co2N4M,1353
|
46
|
-
airflow/providers/fab/migrations/versions/0001_1_4_0_placeholder_migration.py,sha256=wLZiBiWjfSofXZ4jXMjpEKkIc3jI0a6hpJ73xEYAzss,1370
|
47
|
-
airflow/providers/fab/migrations/versions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
48
|
-
airflow/providers/fab/www/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
49
|
-
airflow/providers/fab/www/app.py,sha256=-iIMVcaYbkim44q5eLlGxM2DcXH8DLIUAcnYayWy2QU,3259
|
50
|
-
airflow/providers/fab/www/package-lock.json,sha256=jTY8acFl3PiNzieo0BhuoMcsI65kt_TI-NdHLJugDnE,815396
|
51
|
-
airflow/providers/fab/www/package.json,sha256=MG9qvfvtwf53RooYUQ-pR6NCmFTn5Od2zknhdoPl288,5124
|
52
|
-
airflow/providers/fab/www/webpack.config.js,sha256=Jf17mCmoAM_sa-w0nULRGkJpwvyt7KnIHkPdZ7OiqBQ,7064
|
53
|
-
airflow/providers/fab/www/extensions/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
54
|
-
airflow/providers/fab/www/extensions/init_appbuilder.py,sha256=ME4K1aucls_uODt6uyz3Dg240t7XGvHmFy2Y0Dusc4A,19742
|
55
|
-
airflow/providers/fab/www/extensions/init_jinja_globals.py,sha256=4xMc78p9WNYlEi4-loRrlQ7Mb3OfBwoD5S3pCqoaMMk,3023
|
56
|
-
airflow/providers/fab/www/extensions/init_manifest_files.py,sha256=DLeAcH2zMGbT-eDLYdXztP7HJG7H-e1jmSTolimZeAI,2125
|
57
|
-
airflow/providers/fab/www/extensions/init_security.py,sha256=hvqdhnc-6NGls-XxUAYDyng_jPIAPIrKJzM1nXlUIg8,1465
|
58
|
-
airflow/providers/fab/www/extensions/init_views.py,sha256=rPhhad6tQGWPBxrM1mQdvrozH_6SZ4ItCd6UzNfDx4Q,2551
|
59
|
-
airflow/providers/fab/www/static/sort_asc.png,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
|
-
airflow/providers/fab/www/static/sort_both.png,sha256=PgFsI65RQXOCtkCuLRnrSAR1MsN61TiUvRhVhlWcz_s,201
|
61
|
-
airflow/providers/fab/www/static/sort_desc.png,sha256=0I7Q4h8YfdMJAw1GUiTagIURmhWhfWFroOR3u1DG8Q0,158
|
62
|
-
airflow/providers/fab/www/static/css/bootstrap-theme.css,sha256=9hxX-_gQUlWspJ-CazcRU74IqY8WnmbhrEdbfHJHxV8,129001
|
63
|
-
airflow/providers/fab/www/static/css/loading-dots.css,sha256=amw1pWMdsaL0yEN_r0rCfwb11FwerQyRyXXFNAoB6hA,1385
|
64
|
-
airflow/providers/fab/www/static/css/main.css,sha256=Emc-ZZumKwH9qLsjor1Lx4supb8NQUHAmRTMNy5mdhU,10395
|
65
|
-
airflow/providers/fab/www/static/css/material-icons.css,sha256=4LV_bzKwJd8UDqOx7jbb2ro_y10nqeaNDmP8Rbv9XCY,112094
|
66
|
-
airflow/providers/fab/www/static/js/datetime_utils.js,sha256=Nq8gP1tRy-ztodREw8Q2QDLGYt_DwIMZWgrEVfuFMgE,4543
|
67
|
-
airflow/providers/fab/www/static/js/main.js,sha256=MUyTstwNQiN9GNT7yHBSt2Oh4Cr3M173CUFSXX6cI2g,9194
|
68
|
-
airflow/providers/fab/www/templates/airflow/_messages.html,sha256=DKKiboYjmRqPRIP3BpUYsIxK5xKGpZy2yRk67lcAW5Y,1147
|
69
|
-
airflow/providers/fab/www/templates/airflow/error.html,sha256=AEXwcesuTXQdzfjJrTr2hX2L1Oxtr-FgehWV9dCBCBA,1327
|
70
|
-
airflow/providers/fab/www/templates/airflow/main.html,sha256=317gj-QZ8v_UuWz5kXEb21ZiHzS6Gq73j88mcIB_DK0,2989
|
71
|
-
airflow/providers/fab/www/templates/airflow/traceback.html,sha256=lbBLGaR_Kj-BC23Hjv6kZukDlScB43mnXsB7sS1nbN8,2373
|
72
|
-
airflow/providers/fab/www/templates/appbuilder/index.html,sha256=ZaZsNdD8fCENqdnZMbjGbCaK5R9WNFRW5vk8y43pCsk,810
|
73
|
-
airflow/providers/fab/www/templates/appbuilder/navbar.html,sha256=KhWNJbnaJUobEAuADcpNx2dhK1E8vEllBAyzbfR6czE,9958
|
74
|
-
airflow/providers/fab/www/templates/appbuilder/navbar_menu.html,sha256=WWQ-_QLMqcW4Cpx_1_yulaQO-soD6ztnY2zfmBAUAGI,2034
|
75
|
-
apache_airflow_providers_fab-2.0.0rc1.dist-info/entry_points.txt,sha256=m05kASp7vFi0ZmQ--CFp7GeJpPL7UT2RQF8EEP5XRX8,99
|
76
|
-
apache_airflow_providers_fab-2.0.0rc1.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
77
|
-
apache_airflow_providers_fab-2.0.0rc1.dist-info/METADATA,sha256=4i0LF1o6hXTdjcN_b3m0APB7pLDiLvbTJQloDK8bqS8,6459
|
78
|
-
apache_airflow_providers_fab-2.0.0rc1.dist-info/RECORD,,
|
File without changes
|
File without changes
|