aws-python-helper 1.7.0__tar.gz → 1.7.1__tar.gz

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 (58) hide show
  1. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/PKG-INFO +1 -1
  2. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/base.py +7 -3
  3. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/permissions/__init__.py +2 -1
  4. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/permissions/catalog.py +13 -0
  5. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper.egg-info/PKG-INFO +1 -1
  6. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/pyproject.toml +1 -1
  7. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/README.md +0 -0
  8. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/__init__.py +0 -0
  9. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/__init__.py +0 -0
  10. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/auth_middleware.py +0 -0
  11. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/auth_validators.py +0 -0
  12. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/dispatcher.py +0 -0
  13. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/exceptions.py +0 -0
  14. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/fetcher.py +0 -0
  15. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/api/handler.py +0 -0
  16. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/context/__init__.py +0 -0
  17. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/context/session.py +0 -0
  18. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/context/state_validator.py +0 -0
  19. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/database/__init__.py +0 -0
  20. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/database/database_proxy.py +0 -0
  21. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/database/external_database_proxy.py +0 -0
  22. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/database/external_mongo_manager.py +0 -0
  23. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/database/mongo_manager.py +0 -0
  24. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/fargate/__init__.py +0 -0
  25. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/fargate/executor.py +0 -0
  26. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/fargate/fetcher.py +0 -0
  27. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/fargate/handler.py +0 -0
  28. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/fargate/task_base.py +0 -0
  29. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/invoker/__init__.py +0 -0
  30. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/invoker/api_client.py +0 -0
  31. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/invoker/exceptions.py +0 -0
  32. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/invoker/lambda_invoker.py +0 -0
  33. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/lambda_standalone/__init__.py +0 -0
  34. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/lambda_standalone/base.py +0 -0
  35. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/lambda_standalone/fetcher.py +0 -0
  36. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/lambda_standalone/handler.py +0 -0
  37. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/model_index_sync/__init__.py +0 -0
  38. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/model_index_sync/base.py +0 -0
  39. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/model_query/__init__.py +0 -0
  40. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/model_query/base.py +0 -0
  41. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/repository/__init__.py +0 -0
  42. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/repository/audit.py +0 -0
  43. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/repository/base.py +0 -0
  44. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sns/__init__.py +0 -0
  45. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sns/publisher.py +0 -0
  46. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sqs/__init__.py +0 -0
  47. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sqs/consumer_base.py +0 -0
  48. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sqs/fetcher.py +0 -0
  49. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/sqs/handler.py +0 -0
  50. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/utils/__init__.py +0 -0
  51. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/utils/json_encoder.py +0 -0
  52. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/utils/response.py +0 -0
  53. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper/utils/serializer.py +0 -0
  54. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper.egg-info/SOURCES.txt +0 -0
  55. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper.egg-info/dependency_links.txt +0 -0
  56. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper.egg-info/requires.txt +0 -0
  57. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/aws_python_helper.egg-info/top_level.txt +0 -0
  58. {aws_python_helper-1.7.0 → aws_python_helper-1.7.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-python-helper
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: AWS Python Helper Framework
5
5
  Author-email: Fabian Claros <neufabiae@gmail.com>
6
6
  License-Expression: MIT
@@ -203,10 +203,14 @@ class API(ABC):
203
203
 
204
204
  @property
205
205
  def service_code(self) -> str:
206
- """Names this service inside a permission, as in `core:GET /users`."""
207
- import os
206
+ """Names this service inside a permission, as in `core:GET /users`.
208
207
 
209
- return os.getenv('SERVICE_CODE', os.getenv('NAMESPACE', 'service'))
208
+ Resolved by the same function the catalog uses, so the name a permission
209
+ is stored under and the name it is demanded by cannot drift.
210
+ """
211
+ from ..permissions import service_code
212
+
213
+ return service_code()
210
214
 
211
215
  @property
212
216
  def auth_data(self) -> Optional[Dict[str, Any]]:
@@ -1,9 +1,10 @@
1
- from .catalog import ALL, allows, discover, required_for, service_wildcard
1
+ from .catalog import ALL, allows, discover, required_for, service_code, service_wildcard
2
2
 
3
3
  __all__ = [
4
4
  "ALL",
5
5
  "allows",
6
6
  "discover",
7
7
  "required_for",
8
+ "service_code",
8
9
  "service_wildcard",
9
10
  ]
@@ -35,6 +35,19 @@ FILE_METHODS = {
35
35
  ALL = "*"
36
36
 
37
37
 
38
+ def service_code() -> str:
39
+ """The name this service takes inside a permission code, as in `core:GET /users`.
40
+
41
+ One function on purpose. Publishing the catalog and checking a permission are
42
+ two different places, and if each resolves the name its own way one stores
43
+ `core:GET /users` while the other demands `constitution-core:GET /users`.
44
+ Nothing reports that: every role with explicit permissions just gets 403 on
45
+ everything, and a role holding `*` keeps working, so it looks like a problem
46
+ with the role.
47
+ """
48
+ return os.getenv("SERVICE_CODE") or os.getenv("NAMESPACE") or "service"
49
+
50
+
38
51
  def discover(api_root: str, service: str) -> List[Dict[str, str]]:
39
52
  """Every endpoint this service answers, as permission records.
40
53
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aws-python-helper
3
- Version: 1.7.0
3
+ Version: 1.7.1
4
4
  Summary: AWS Python Helper Framework
5
5
  Author-email: Fabian Claros <neufabiae@gmail.com>
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "aws-python-helper"
7
- version = "1.7.0"
7
+ version = "1.7.1"
8
8
  description = "AWS Python Helper Framework"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"