apache-airflow-providers-fab 3.0.0rc1__py3-none-any.whl → 3.1.0rc1__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 (50) hide show
  1. airflow/providers/fab/__init__.py +1 -1
  2. airflow/providers/fab/auth_manager/api_endpoints/user_endpoint.py +2 -2
  3. airflow/providers/fab/auth_manager/api_fastapi/datamodels/login.py +0 -7
  4. airflow/providers/fab/auth_manager/api_fastapi/datamodels/roles.py +63 -0
  5. airflow/providers/fab/auth_manager/api_fastapi/openapi/v2-fab-auth-manager-generated.yaml +416 -16
  6. airflow/providers/fab/auth_manager/api_fastapi/parameters.py +55 -0
  7. airflow/providers/fab/auth_manager/api_fastapi/routes/login.py +37 -5
  8. airflow/providers/fab/auth_manager/api_fastapi/routes/roles.py +137 -0
  9. airflow/providers/fab/auth_manager/api_fastapi/security.py +32 -0
  10. airflow/providers/fab/auth_manager/api_fastapi/services/login.py +12 -25
  11. airflow/providers/fab/auth_manager/api_fastapi/services/roles.py +158 -0
  12. airflow/providers/fab/auth_manager/api_fastapi/sorting.py +49 -0
  13. airflow/providers/fab/auth_manager/fab_auth_manager.py +33 -3
  14. airflow/providers/fab/auth_manager/models/__init__.py +7 -21
  15. airflow/providers/fab/auth_manager/models/db.py +1 -1
  16. airflow/providers/fab/auth_manager/security_manager/override.py +55 -13
  17. airflow/providers/fab/migrations/versions/{0001_1_4_0_create_ab_tables_if_missing.py → 0000_1_4_0_create_ab_tables_if_missing.py} +4 -4
  18. airflow/providers/fab/version_compat.py +1 -0
  19. airflow/providers/fab/www/api_connexion/parameters.py +1 -46
  20. airflow/providers/fab/www/app.py +13 -10
  21. airflow/providers/fab/www/extensions/init_appbuilder.py +5 -2
  22. airflow/providers/fab/www/extensions/init_security.py +1 -1
  23. airflow/providers/fab/www/package-lock.json +390 -266
  24. airflow/providers/fab/www/package.json +9 -9
  25. airflow/providers/fab/www/session.py +5 -8
  26. airflow/providers/fab/www/static/dist/{743.fc7a7c6ef9d09365976e.js → 743.0c0bf201ae17e66a9a3f.js} +1 -1
  27. airflow/providers/fab/www/static/dist/{main.3cf3be1a0c5439bb640d.js → main.bc1f701c3d133e2a3bab.js} +1 -1
  28. airflow/providers/fab/www/static/dist/manifest.json +13 -13
  29. airflow/providers/fab/www/static/dist/runtime.254c277d91ce3ac79c64.js +1 -0
  30. airflow/providers/fab/www/views.py +19 -9
  31. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/METADATA +14 -13
  32. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/RECORD +49 -43
  33. airflow/providers/fab/www/static/dist/runtime.ad800fc1845ad5c6ddeb.js +0 -1
  34. /airflow/providers/fab/www/static/dist/{743.fc7a7c6ef9d09365976e.js.LICENSE.txt → 743.0c0bf201ae17e66a9a3f.js.LICENSE.txt} +0 -0
  35. /airflow/providers/fab/www/static/dist/{airflowDefaultTheme.ff5a35f322070b094aa2.css → airflowDefaultTheme.ef6fc04c9b6920cd75c9.css} +0 -0
  36. /airflow/providers/fab/www/static/dist/{airflowDefaultTheme.ff5a35f322070b094aa2.js → airflowDefaultTheme.ef6fc04c9b6920cd75c9.js} +0 -0
  37. /airflow/providers/fab/www/static/dist/{flash.5583a9e0cf11f2be93da.css → flash.eaaf777ec1b3628cf7be.css} +0 -0
  38. /airflow/providers/fab/www/static/dist/{flash.5583a9e0cf11f2be93da.js → flash.eaaf777ec1b3628cf7be.js} +0 -0
  39. /airflow/providers/fab/www/static/dist/{loadingDots.2e5f555f0753107b0300.css → loadingDots.76f4332c0a932c3dc08f.css} +0 -0
  40. /airflow/providers/fab/www/static/dist/{loadingDots.2e5f555f0753107b0300.js → loadingDots.76f4332c0a932c3dc08f.js} +0 -0
  41. /airflow/providers/fab/www/static/dist/{main.3cf3be1a0c5439bb640d.css → main.bc1f701c3d133e2a3bab.css} +0 -0
  42. /airflow/providers/fab/www/static/dist/{main.3cf3be1a0c5439bb640d.js.LICENSE.txt → main.bc1f701c3d133e2a3bab.js.LICENSE.txt} +0 -0
  43. /airflow/providers/fab/www/static/dist/{materialIcons.3e67dd6fbfcc4f3b5105.css → materialIcons.ad07a489b2f0fc1a96bf.css} +0 -0
  44. /airflow/providers/fab/www/static/dist/{materialIcons.3e67dd6fbfcc4f3b5105.js → materialIcons.ad07a489b2f0fc1a96bf.js} +0 -0
  45. /airflow/providers/fab/www/static/dist/{moment.9baee5ec3d7639a10897.js → moment.5b85b4f6be2fe9c405ac.js} +0 -0
  46. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/WHEEL +0 -0
  47. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/entry_points.txt +0 -0
  48. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/licenses/3rd-party-licenses/LICENSES-ui.txt +0 -0
  49. {airflow/providers/fab → apache_airflow_providers_fab-3.1.0rc1.dist-info/licenses}/LICENSE +0 -0
  50. {apache_airflow_providers_fab-3.0.0rc1.dist-info → apache_airflow_providers_fab-3.1.0rc1.dist-info}/licenses/NOTICE +0 -0
@@ -39,16 +39,16 @@
39
39
  ]
40
40
  },
41
41
  "devDependencies": {
42
- "@babel/core": "^7.28.4",
43
- "@babel/eslint-parser": "^7.28.4",
44
- "@babel/plugin-transform-runtime": "^7.28.3",
45
- "@babel/preset-env": "^7.28.3",
42
+ "@babel/core": "^7.28.5",
43
+ "@babel/eslint-parser": "^7.28.5",
44
+ "@babel/plugin-transform-runtime": "^7.28.5",
45
+ "@babel/preset-env": "^7.28.5",
46
46
  "babel-loader": "^10.0.0",
47
47
  "clean-webpack-plugin": "^4.0.0",
48
48
  "copy-webpack-plugin": "^13.0.1",
49
49
  "css-loader": "7.1.2",
50
50
  "css-minimizer-webpack-plugin": "^7.0.2",
51
- "eslint": "^9.36.0",
51
+ "eslint": "^9.39.1",
52
52
  "eslint-config-prettier": "^10.1.8",
53
53
  "eslint-plugin-html": "^8.1.3",
54
54
  "eslint-plugin-import": "^2.32.0",
@@ -58,14 +58,14 @@
58
58
  "mini-css-extract-plugin": "^2.9.4",
59
59
  "moment": "^2.29.4",
60
60
  "moment-locales-webpack-plugin": "^1.2.0",
61
- "prettier": "^3.6.2",
62
- "stylelint": "^16.24.0",
61
+ "prettier": "^3.7.1",
62
+ "stylelint": "^16.26.1",
63
63
  "terser-webpack-plugin": "<6.0.0",
64
64
  "url-loader": "4.1.1",
65
- "webpack": "^5.101.3",
65
+ "webpack": "^5.103.0",
66
66
  "webpack-cli": "^6.0.1",
67
67
  "webpack-license-plugin": "^4.2.1",
68
- "webpack-manifest-plugin": "^5.0.1"
68
+ "webpack-manifest-plugin": "^6.0.1"
69
69
  },
70
70
  "dependencies": {
71
71
  "jquery-ui": "^1.14.1",
@@ -24,22 +24,19 @@ from flask_session.sqlalchemy import SqlAlchemySessionInterface
24
24
 
25
25
 
26
26
  class _LazySafeSerializer:
27
- def encode(self, session_dict):
27
+ def dumps(self, session_dict):
28
28
  encoder = msgspec.msgpack.Encoder(
29
29
  enc_hook=lambda obj: str(obj) if isinstance(obj, LazyString) else obj
30
30
  )
31
-
32
31
  return encoder.encode(dict(session_dict))
33
32
 
34
- def decode(self, data):
33
+ def loads(self, data):
35
34
  decoder = msgspec.msgpack.Decoder()
36
-
37
35
  return decoder.decode(data)
38
36
 
39
- def _default(self, obj):
40
- if isinstance(obj, LazyString):
41
- return str(obj)
42
- raise TypeError(f"Unsupported type: {type(obj)}")
37
+ # optional old API
38
+ encode = dumps
39
+ decode = loads
43
40
 
44
41
 
45
42
  class SessionExemptMixin: