Encryptors 2.74__tar.gz → 2.75__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 (90) hide show
  1. {encryptors-2.74 → encryptors-2.75}/PKG-INFO +1 -1
  2. {encryptors-2.74 → encryptors-2.75}/setup.py +1 -1
  3. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/PKG-INFO +1 -1
  4. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Decorators/SecureResolver.py +6 -3
  5. encryptors-2.75/src/Osdental/Services/ServiceBusAuditEmitter.py +33 -0
  6. encryptors-2.74/src/Osdental/Services/ServiceBusAuditEmitter.py +0 -22
  7. {encryptors-2.74 → encryptors-2.75}/README.md +0 -0
  8. {encryptors-2.74 → encryptors-2.75}/setup.cfg +0 -0
  9. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/SOURCES.txt +0 -0
  10. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/dependency_links.txt +0 -0
  11. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/entry_points.txt +0 -0
  12. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/requires.txt +0 -0
  13. {encryptors-2.74 → encryptors-2.75}/src/Encryptors.egg-info/top_level.txt +0 -0
  14. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Cache/Redis.py +0 -0
  15. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Cache/__init__.py +0 -0
  16. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Cli/__init__.py +0 -0
  17. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Constants/Constant.py +0 -0
  18. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Constants/Message.py +0 -0
  19. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Constants/__init__.py +0 -0
  20. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Context/__init__.py +0 -0
  21. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Database/BaseRepository.py +0 -0
  22. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Database/Connection.py +0 -0
  23. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Database/__init__.py +0 -0
  24. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Decorators/Grpc.py +0 -0
  25. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Decorators/Retry.py +0 -0
  26. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Decorators/__init__.py +0 -0
  27. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Aes.py +0 -0
  28. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Argon2.py +0 -0
  29. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Bcrypt.py +0 -0
  30. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Jwt.py +0 -0
  31. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Rsa.py +0 -0
  32. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/Sha512.py +0 -0
  33. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Encryptor/__init__.py +0 -0
  34. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/AuditType.py +0 -0
  35. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/CipherType.py +0 -0
  36. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/FileType.py +0 -0
  37. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/GrahpqlOperation.py +0 -0
  38. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/GrpcStatusCode.py +0 -0
  39. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/Profile.py +0 -0
  40. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/ResultType.py +0 -0
  41. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/Secret.py +0 -0
  42. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/StatusCode.py +0 -0
  43. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Enums/__init__.py +0 -0
  44. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Exception/ControlledException.py +0 -0
  45. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Exception/__init__.py +0 -0
  46. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/AuditHelper.py +0 -0
  47. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/AuditQueue.py +0 -0
  48. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/AuthTokenProcessor.py +0 -0
  49. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/AzureClassifier.py +0 -0
  50. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/CipherHelper.py +0 -0
  51. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/JwtTokenHelper.py +0 -0
  52. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/Resilience.py +0 -0
  53. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Helpers/__init__.py +0 -0
  54. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Http/APIClient.py +0 -0
  55. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Http/__init__.py +0 -0
  56. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Messaging/AzureServiceBus.py +0 -0
  57. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Messaging/Kafka.py +0 -0
  58. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Messaging/RabbitMQ.py +0 -0
  59. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Messaging/__init__.py +0 -0
  60. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/ApiResponse.py +0 -0
  61. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/AuditContext.py +0 -0
  62. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/Graphql.py +0 -0
  63. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/Notification.py +0 -0
  64. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/Response.py +0 -0
  65. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/Token.py +0 -0
  66. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/TokenClaims.py +0 -0
  67. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Models/__init__.py +0 -0
  68. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Secrets/AzureKeyVaultProvider.py +0 -0
  69. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Secrets/__init__.py +0 -0
  70. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Services/GrpcConnection.py +0 -0
  71. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Services/JwtAuthTokenService.py +0 -0
  72. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Services/WebsocketClient.py +0 -0
  73. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Services/__init__.py +0 -0
  74. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Storage/AzureBlobStorage.py +0 -0
  75. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Storage/S3Storage.py +0 -0
  76. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Storage/__init__.py +0 -0
  77. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/CaseConverter.py +0 -0
  78. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/CodeGenerator.py +0 -0
  79. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/DataNormalizer.py +0 -0
  80. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/DataUtils.py +0 -0
  81. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/DateUtils.py +0 -0
  82. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/FileMetaData.py +0 -0
  83. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/HashValidator.py +0 -0
  84. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/Mapper.py +0 -0
  85. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/PasswordGenerator.py +0 -0
  86. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/QueryGenerator.py +0 -0
  87. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/RsaUtils.py +0 -0
  88. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/TextProcessor.py +0 -0
  89. {encryptors-2.74 → encryptors-2.75}/src/Osdental/Utils/__init__.py +0 -0
  90. {encryptors-2.74 → encryptors-2.75}/src/Osdental/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Encryptors
3
- Version: 2.74
3
+ Version: 2.75
4
4
  Summary: End-to-end algorithm library
5
5
  Author: OSDental LLC
6
6
  Author-email: support@osdental.ai
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name="Encryptors",
5
- version="2.74",
5
+ version="2.75",
6
6
  author="OSDental LLC",
7
7
  author_email="support@osdental.ai",
8
8
  description="End-to-end algorithm library",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Encryptors
3
- Version: 2.74
3
+ Version: 2.75
4
4
  Summary: End-to-end algorithm library
5
5
  Author: OSDental LLC
6
6
  Author-email: support@osdental.ai
@@ -127,7 +127,8 @@ def resolver(public: bool = False, action=None):
127
127
  # ── 7. AUDITAR ÉXITO ──────────────────────
128
128
  _ = asyncio.create_task(
129
129
  container.audit_emitter.emit(
130
- _build_success_payload(audit_ctx, result)
130
+ _build_success_payload(audit_ctx, result),
131
+ settings.is_auditable,
131
132
  )
132
133
  )
133
134
 
@@ -138,7 +139,8 @@ def resolver(public: bool = False, action=None):
138
139
  if audit_ctx:
139
140
  _ = asyncio.create_task(
140
141
  container.audit_emitter.emit(
141
- _build_error_payload(audit_ctx, e)
142
+ _build_error_payload(audit_ctx, e),
143
+ settings.is_auditable,
142
144
  )
143
145
  )
144
146
  return Response(
@@ -151,7 +153,8 @@ def resolver(public: bool = False, action=None):
151
153
  if audit_ctx:
152
154
  _ = asyncio.create_task(
153
155
  container.audit_emitter.emit(
154
- _build_unexpected_payload(audit_ctx, e)
156
+ _build_unexpected_payload(audit_ctx, e),
157
+ settings.is_auditable,
155
158
  )
156
159
  )
157
160
  return Response(
@@ -0,0 +1,33 @@
1
+ import logging
2
+ import json
3
+ from typing import Dict, Any
4
+ from Osdental.Messaging import IMessageQueue
5
+ from Osdental.Storage import IStorageService
6
+
7
+ logger = logging.getLogger(__name__)
8
+
9
+ class ServiceBusAuditEmitter:
10
+
11
+ def __init__(self, messaging: IMessageQueue, storage: IStorageService):
12
+ self._messaging = messaging
13
+ self._storage = storage
14
+
15
+
16
+ async def process(self, payload: Dict[str, Any], is_auditable: bool = False) -> None:
17
+ if not is_auditable:
18
+ logger.info("Skipping audit: no data in GraphQL response")
19
+ return
20
+
21
+ message_log_id = payload.get("idMessageLog")
22
+ data = json.dumps(payload)
23
+ blob_name = f"audits/{message_log_id}.text"
24
+ if not message_log_id:
25
+ logger.info("No Idmessagelog header found. Skipping audit storage.")
26
+ return
27
+
28
+ url = await self._storage.upload(blob_name, data)
29
+ if not url:
30
+ logger.warning("Skipping audit: The audit file could not be stored in blob storage.")
31
+ return
32
+
33
+ await self._messaging.send_message(blob_name)
@@ -1,22 +0,0 @@
1
- import json
2
- from typing import Dict, Any
3
- from Osdental.Messaging import IMessageQueue
4
- from Osdental.Storage import IStorageService
5
-
6
- class ServiceBusAuditEmitter:
7
-
8
- def __init__(self, messaging: IMessageQueue, storage: IStorageService):
9
- self._messaging = messaging
10
- self._storage = storage
11
-
12
-
13
- async def process(self, payload: Dict[str, Any]) -> None:
14
- message_log_id = payload.get("idMessageLog")
15
- data = json.dumps(payload)
16
- blob_name = f"audits/{message_log_id}.text"
17
- print(data)
18
- # url = await self._storage.upload(blob_name, data)
19
- # if not url:
20
- # return
21
-
22
- # await self._messaging.send_message(blob_name)
File without changes
File without changes