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.
Files changed (88) hide show
  1. airflow/providers/fab/LICENSE +0 -52
  2. airflow/providers/fab/auth_manager/api/auth/backend/basic_auth.py +3 -4
  3. airflow/providers/fab/auth_manager/api/auth/backend/kerberos_auth.py +4 -4
  4. airflow/providers/fab/auth_manager/api/auth/backend/session.py +1 -1
  5. airflow/providers/fab/auth_manager/api_endpoints/role_and_permission_endpoint.py +14 -14
  6. airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +12 -13
  7. airflow/providers/fab/auth_manager/api_fastapi/__init__.py +16 -0
  8. airflow/providers/fab/auth_manager/api_fastapi/datamodels/__init__.py +16 -0
  9. airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +32 -0
  10. airflow/providers/fab/auth_manager/api_fastapi/openapi/__init__.py +16 -0
  11. airflow/providers/fab/auth_manager/api_fastapi/openapi/v1-generated.yaml +153 -0
  12. airflow/providers/fab/auth_manager/api_fastapi/routes/__init__.py +16 -0
  13. airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +51 -0
  14. airflow/providers/fab/auth_manager/api_fastapi/services/__init__.py +16 -0
  15. airflow/providers/fab/auth_manager/api_fastapi/services/login.py +58 -0
  16. airflow/providers/fab/auth_manager/cli_commands/db_command.py +2 -4
  17. airflow/providers/fab/auth_manager/cli_commands/user_command.py +2 -2
  18. airflow/providers/fab/auth_manager/cli_commands/utils.py +17 -4
  19. airflow/providers/fab/auth_manager/fab_auth_manager.py +222 -119
  20. airflow/providers/fab/auth_manager/models/__init__.py +1 -1
  21. airflow/providers/fab/auth_manager/models/anonymous_user.py +1 -1
  22. airflow/providers/fab/auth_manager/models/db.py +22 -5
  23. airflow/providers/fab/auth_manager/openapi/v1.yaml +9 -0
  24. airflow/providers/fab/auth_manager/schemas/user_schema.py +1 -1
  25. airflow/providers/fab/auth_manager/security_manager/override.py +89 -561
  26. airflow/providers/fab/auth_manager/views/permissions.py +1 -1
  27. airflow/providers/fab/auth_manager/views/roles_list.py +1 -1
  28. airflow/providers/fab/auth_manager/views/user.py +1 -1
  29. airflow/providers/fab/auth_manager/views/user_edit.py +1 -1
  30. airflow/providers/fab/auth_manager/views/user_stats.py +1 -1
  31. airflow/providers/fab/get_provider_info.py +26 -15
  32. airflow/providers/fab/www/airflow_flask_app.py +31 -0
  33. airflow/providers/fab/www/api_connexion/exceptions.py +197 -0
  34. airflow/providers/fab/www/api_connexion/parameters.py +131 -0
  35. airflow/providers/fab/www/api_connexion/security.py +84 -0
  36. airflow/providers/fab/www/api_connexion/types.py +30 -0
  37. airflow/providers/fab/www/app.py +34 -9
  38. airflow/providers/fab/www/auth.py +350 -0
  39. airflow/providers/fab/www/constants.py +28 -0
  40. airflow/providers/fab/www/extensions/init_appbuilder.py +54 -9
  41. airflow/providers/fab/www/extensions/init_jinja_globals.py +5 -3
  42. airflow/providers/fab/www/extensions/init_security.py +19 -0
  43. airflow/providers/fab/www/extensions/init_session.py +64 -0
  44. airflow/providers/fab/www/extensions/init_views.py +111 -1
  45. airflow/providers/fab/www/package-lock.json +4967 -16517
  46. airflow/providers/fab/www/package.json +25 -104
  47. airflow/providers/fab/www/security/__init__.py +17 -0
  48. airflow/providers/fab/www/security/permissions.py +126 -0
  49. airflow/providers/fab/www/security_appless.py +44 -0
  50. airflow/providers/fab/www/security_manager.py +122 -0
  51. airflow/providers/fab/www/session.py +41 -0
  52. airflow/providers/fab/www/static/css/flash.css +57 -0
  53. airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png +1 -0
  54. airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png +1 -0
  55. airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.css +33 -0
  56. airflow/providers/fab/www/static/dist/airflowDefaultTheme.feec4a4075c2f3d6ae01.js +1 -0
  57. airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png +1 -0
  58. airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.css +18 -0
  59. airflow/providers/fab/www/static/dist/flash.137b30cff85b5588e661.js +1 -0
  60. airflow/providers/fab/www/static/dist/jquery-ui.min.css +5 -0
  61. airflow/providers/fab/www/static/dist/jquery-ui.min.js +2 -0
  62. airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt +4 -0
  63. airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.css +18 -0
  64. airflow/providers/fab/www/static/dist/loadingDots.48ab7d5b04e66f2686b0.js +1 -0
  65. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.css +18 -0
  66. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js +2 -0
  67. airflow/providers/fab/www/static/dist/main.edb2d40dfbbc537916e3.js.LICENSE.txt +18 -0
  68. airflow/providers/fab/www/static/dist/manifest.json +20 -0
  69. airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.css +18 -0
  70. airflow/providers/fab/www/static/dist/materialIcons.57390fa60d8f61175334.js +1 -0
  71. airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js +2 -0
  72. airflow/providers/fab/www/static/dist/moment.624b1f00ba723d39ce06.js.LICENSE.txt +11 -0
  73. airflow/providers/fab/www/static/dist/oss-licenses.json +20 -0
  74. airflow/providers/fab/www/templates/airflow/main.html +10 -11
  75. airflow/providers/fab/www/templates/airflow/traceback.html +1 -5
  76. airflow/providers/fab/www/templates/appbuilder/flash.html +34 -0
  77. airflow/providers/fab/www/templates/appbuilder/navbar.html +7 -0
  78. airflow/providers/fab/www/templates/appbuilder/navbar_right.html +64 -0
  79. airflow/providers/fab/www/utils.py +272 -0
  80. airflow/providers/fab/www/views.py +129 -0
  81. airflow/providers/fab/www/webpack.config.js +5 -40
  82. {apache_airflow_providers_fab-2.0.0rc1.dist-info → apache_airflow_providers_fab-2.0.0rc2.dist-info}/METADATA +24 -34
  83. apache_airflow_providers_fab-2.0.0rc2.dist-info/RECORD +125 -0
  84. {apache_airflow_providers_fab-2.0.0rc1.dist-info → apache_airflow_providers_fab-2.0.0rc2.dist-info}/WHEEL +1 -1
  85. airflow/providers/fab/auth_manager/decorators/auth.py +0 -127
  86. apache_airflow_providers_fab-2.0.0rc1.dist-info/RECORD +0 -78
  87. /airflow/providers/fab/{auth_manager/decorators → www/api_connexion}/__init__.py +0 -0
  88. {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", ".jsx", ".ts", ".tsx", ".css"],
80
+ extensions: [".js", ".css"],
80
81
  },
81
82
  module: {
82
83
  rules: [
83
84
  {
84
- test: /\.(js|jsx|tsx|ts)$/,
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
- flatten: true,
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
- flatten: true,
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.3
1
+ Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-fab
3
- Version: 2.0.0rc1
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: apache-airflow>=3.0.0rc0
25
- Requires-Dist: flask-appbuilder==4.5.2
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>=2.2,<2.3
28
- Requires-Dist: google-re2>=1.0
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
- .. Licensed to the Apache Software Foundation (ASF) under one
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.rc1``
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
- ``flask`` ``>=2.2,<2.3``
117
- ``flask-appbuilder`` ``==4.5.2``
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
- ``google-re2`` ``>=1.0``
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 provider packages in order to use them.
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,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: flit 3.10.1
2
+ Generator: flit 3.11.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -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,,