Encryptors 2.71__tar.gz → 2.73__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 (89) hide show
  1. {encryptors-2.71 → encryptors-2.73}/PKG-INFO +1 -1
  2. {encryptors-2.71 → encryptors-2.73}/setup.py +1 -1
  3. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/PKG-INFO +1 -1
  4. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/AuthTokenProcessor.py +6 -1
  5. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/JwtTokenHelper.py +2 -9
  6. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Services/JwtAuthTokenService.py +3 -2
  7. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Services/__init__.py +2 -1
  8. {encryptors-2.71 → encryptors-2.73}/README.md +0 -0
  9. {encryptors-2.71 → encryptors-2.73}/setup.cfg +0 -0
  10. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/SOURCES.txt +0 -0
  11. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/dependency_links.txt +0 -0
  12. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/entry_points.txt +0 -0
  13. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/requires.txt +0 -0
  14. {encryptors-2.71 → encryptors-2.73}/src/Encryptors.egg-info/top_level.txt +0 -0
  15. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Cache/Redis.py +0 -0
  16. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Cache/__init__.py +0 -0
  17. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Cli/__init__.py +0 -0
  18. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Constants/Constant.py +0 -0
  19. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Constants/Message.py +0 -0
  20. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Constants/__init__.py +0 -0
  21. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Context/__init__.py +0 -0
  22. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Database/BaseRepository.py +0 -0
  23. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Database/Connection.py +0 -0
  24. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Database/__init__.py +0 -0
  25. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Decorators/Grpc.py +0 -0
  26. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Decorators/Retry.py +0 -0
  27. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Decorators/SecureResolver.py +0 -0
  28. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Decorators/__init__.py +0 -0
  29. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Aes.py +0 -0
  30. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Argon2.py +0 -0
  31. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Bcrypt.py +0 -0
  32. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Jwt.py +0 -0
  33. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Rsa.py +0 -0
  34. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/Sha512.py +0 -0
  35. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Encryptor/__init__.py +0 -0
  36. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/AuditType.py +0 -0
  37. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/CipherType.py +0 -0
  38. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/FileType.py +0 -0
  39. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/GrahpqlOperation.py +0 -0
  40. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/GrpcStatusCode.py +0 -0
  41. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/Profile.py +0 -0
  42. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/ResultType.py +0 -0
  43. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/Secret.py +0 -0
  44. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/StatusCode.py +0 -0
  45. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Enums/__init__.py +0 -0
  46. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Exception/ControlledException.py +0 -0
  47. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Exception/__init__.py +0 -0
  48. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/AuditHelper.py +0 -0
  49. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/AuditQueue.py +0 -0
  50. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/AzureClassifier.py +0 -0
  51. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/CipherHelper.py +0 -0
  52. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/GrpcConnection.py +0 -0
  53. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/Resilience.py +0 -0
  54. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Helpers/__init__.py +0 -0
  55. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Http/APIClient.py +0 -0
  56. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Http/__init__.py +0 -0
  57. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Messaging/AzureServiceBus.py +0 -0
  58. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Messaging/Kafka.py +0 -0
  59. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Messaging/RabbitMQ.py +0 -0
  60. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Messaging/__init__.py +0 -0
  61. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/ApiResponse.py +0 -0
  62. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/AuditContext.py +0 -0
  63. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/Graphql.py +0 -0
  64. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/Notification.py +0 -0
  65. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/Response.py +0 -0
  66. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/Token.py +0 -0
  67. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/TokenClaims.py +0 -0
  68. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Models/__init__.py +0 -0
  69. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Secrets/AzureKeyVaultProvider.py +0 -0
  70. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Secrets/__init__.py +0 -0
  71. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Services/ServiceBusAuditEmitter.py +0 -0
  72. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Services/WebsocketClient.py +0 -0
  73. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Storage/AzureBlobStorage.py +0 -0
  74. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Storage/S3Storage.py +0 -0
  75. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Storage/__init__.py +0 -0
  76. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/CaseConverter.py +0 -0
  77. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/CodeGenerator.py +0 -0
  78. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/DataNormalizer.py +0 -0
  79. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/DataUtils.py +0 -0
  80. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/DateUtils.py +0 -0
  81. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/FileMetaData.py +0 -0
  82. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/HashValidator.py +0 -0
  83. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/Mapper.py +0 -0
  84. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/PasswordGenerator.py +0 -0
  85. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/QueryGenerator.py +0 -0
  86. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/RsaUtils.py +0 -0
  87. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/TextProcessor.py +0 -0
  88. {encryptors-2.71 → encryptors-2.73}/src/Osdental/Utils/__init__.py +0 -0
  89. {encryptors-2.71 → encryptors-2.73}/src/Osdental/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Encryptors
3
- Version: 2.71
3
+ Version: 2.73
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
  # ANDERSON REVISAR EL CACHE LOCAL DEL KEYVAULT PARA VALIDAR SI FUNCIONA
3
3
  setup(
4
4
  name="Encryptors",
5
- version="2.71",
5
+ version="2.73",
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.71
3
+ Version: 2.73
4
4
  Summary: End-to-end algorithm library
5
5
  Author: OSDental LLC
6
6
  Author-email: support@osdental.ai
@@ -1,6 +1,7 @@
1
1
  import json
2
2
  from typing import Dict, Any
3
3
  from uuid import UUID
4
+ from datetime import datetime, timezone, timedelta
4
5
  from graphql import OperationType
5
6
  from starlette.datastructures import Headers
6
7
  from Osdental.Encryptor.Aes import AES
@@ -111,4 +112,8 @@ def get_current_aes_key(context: BaseGraphQLContext):
111
112
  if context.access_token_claims:
112
113
  return context.access_token_claims.aes_key
113
114
 
114
- return None
115
+ return None
116
+
117
+ def get_token_exp(exp_minutes: int) -> datetime:
118
+ now = datetime.now(timezone.utc)
119
+ return now + timedelta(minutes=exp_minutes)
@@ -25,7 +25,7 @@ class JwtTokenHelper:
25
25
  def generate_token(
26
26
  self,
27
27
  claims: dict,
28
- expiration_minutes: int,
28
+ expires_at: datetime,
29
29
  ) -> str:
30
30
 
31
31
  now = datetime.now(timezone.utc)
@@ -34,14 +34,7 @@ class JwtTokenHelper:
34
34
  **claims,
35
35
  "iat": int(now.timestamp()),
36
36
  "nbf": int(now.timestamp()),
37
- "exp": int(
38
- (
39
- now
40
- + timedelta(
41
- minutes=expiration_minutes
42
- )
43
- ).timestamp()
44
- ),
37
+ "exp": int(expires_at.timestamp()),
45
38
  }
46
39
 
47
40
  # 1. Firmar → JWS (inner JWT)
@@ -1,4 +1,5 @@
1
1
  import asyncio
2
+ from datetime import datetime
2
3
  from Osdental.Models.TokenClaims import (
3
4
  BaseClaims, AccessTokenClaims, UserTokenClaims,
4
5
  ActionTokenClaims, TokenValidationOptions
@@ -59,7 +60,7 @@ class JwtAuthTokenService(IAuthTokenService):
59
60
  async def generate_token(
60
61
  self,
61
62
  claims: BaseClaims,
62
- expiration_minutes: int,
63
+ expires_at: datetime,
63
64
  ) -> str:
64
65
 
65
66
  await self._ensure_initialized()
@@ -71,7 +72,7 @@ class JwtAuthTokenService(IAuthTokenService):
71
72
  }
72
73
  return self._jwt.generate_token(
73
74
  claims=claims,
74
- expiration_minutes=expiration_minutes,
75
+ expires_at=expires_at,
75
76
  )
76
77
 
77
78
 
@@ -1,5 +1,6 @@
1
1
  from abc import ABC, abstractmethod
2
2
  from typing import Protocol, Any, Dict
3
+ from datetime import datetime
3
4
  from Osdental.Models.Notification import Notification
4
5
 
5
6
  class INotificationPublisher(ABC):
@@ -22,7 +23,7 @@ class IAuthTokenService(ABC):
22
23
  async def generate_token(
23
24
  self,
24
25
  claims: AccessTokenClaims | UserTokenClaims | ActionTokenClaims,
25
- expiration_minutes: int,
26
+ expires_at: datetime,
26
27
  ) -> str:
27
28
  pass
28
29
 
File without changes
File without changes