sharedkernel 2.6.1__tar.gz → 2.6.2__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 (51) hide show
  1. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/PKG-INFO +3 -1
  2. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/README.md +2 -0
  3. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/setup.py +1 -1
  4. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/config.py +2 -0
  5. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/ip_session_service.py +40 -2
  6. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/logger_service.py +2 -0
  7. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel.egg-info/PKG-INFO +3 -1
  8. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/setup.cfg +0 -0
  9. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/common.py +0 -0
  10. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/data_format_converter.py +0 -0
  11. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/__init__.py +0 -0
  12. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/audit_model.py +0 -0
  13. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/distributed_cache.py +0 -0
  14. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/mongo_generic_audit_repository.py +0 -0
  15. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/mongo_generic_repository.py +0 -0
  16. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/mongo_health_checker.py +0 -0
  17. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/database/pagination_response_dto.py +0 -0
  18. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/date_converter.py +0 -0
  19. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/diff_utils.py +0 -0
  20. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/enum/__init__.py +0 -0
  21. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/enum/error_code.py +0 -0
  22. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/enum/redis_mode_enum.py +0 -0
  23. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/enum/sort_order.py +0 -0
  24. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/exception/__init__.py +0 -0
  25. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/exception/exception.py +0 -0
  26. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/exception/exception_handlers.py +0 -0
  27. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/file_validation.py +0 -0
  28. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/jwt_service.py +0 -0
  29. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/log_decorator.py +0 -0
  30. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/log_dto.py +0 -0
  31. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/log_enums.py +0 -0
  32. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/log_info.py +0 -0
  33. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/logger/log_middlewares.py +0 -0
  34. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/multipart_upload.py +0 -0
  35. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/normalizer/__init__.py +0 -0
  36. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/normalizer/number_normalizer.py +0 -0
  37. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/normalizer/phone_number_normalizer.py +0 -0
  38. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/normalizer/string_normalizer.py +0 -0
  39. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/__init__.py +0 -0
  40. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/base_document.py +0 -0
  41. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/json_string_model.py +0 -0
  42. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/jwt_model.py +0 -0
  43. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/result.py +0 -0
  44. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/objects/user_info.py +0 -0
  45. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/regex_masking.py +0 -0
  46. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/s3_uploader.py +0 -0
  47. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel/string_extentions.py +0 -0
  48. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel.egg-info/SOURCES.txt +0 -0
  49. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel.egg-info/dependency_links.txt +0 -0
  50. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel.egg-info/requires.txt +0 -0
  51. {sharedkernel-2.6.1 → sharedkernel-2.6.2}/sharedkernel.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharedkernel
3
- Version: 2.6.1
3
+ Version: 2.6.2
4
4
  Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
@@ -31,6 +31,8 @@ Dynamic: summary
31
31
  this is a shared kernel package
32
32
 
33
33
  # Change Log
34
+ ### Version 2.6.2
35
+ - Add Verbose
34
36
  ### Version 2.6.1
35
37
  - hotfix namings
36
38
  ### Version 2.6.0
@@ -2,6 +2,8 @@
2
2
  this is a shared kernel package
3
3
 
4
4
  # Change Log
5
+ ### Version 2.6.2
6
+ - Add Verbose
5
7
  ### Version 2.6.1
6
8
  - hotfix namings
7
9
  ### Version 2.6.0
@@ -40,7 +40,7 @@ setup(
40
40
  "redis",
41
41
  ],
42
42
  # *strongly* suggested for sharing
43
- version="2.6.1",
43
+ version="2.6.2",
44
44
  description="sharekernel is a shared package between all python projects",
45
45
  long_description=long_description,
46
46
  long_description_content_type="text/markdown",
@@ -1,5 +1,7 @@
1
1
  import os
2
2
 
3
+ VERBOSE = True if os.getenv("VERBOSE", "False").lower() == "true" else False
4
+
3
5
  # Log *******************************************************************************
4
6
  LOG_ENABLE = True if os.getenv("LOG_ENABLE", "False").lower() == "true" else False
5
7
  RABBITMQ_USER = os.getenv("RABBITMQ_USER")
@@ -65,50 +65,88 @@ class IPSessionAuth:
65
65
  def ip_session_auth(self, request: Request):
66
66
 
67
67
  if not config.IP_SESSION_AUTH_ENABLE:
68
+ if config.VERBOSE:
69
+ print("IP_SESSION_AUTH | OK | IP Session Auth is disabled")
68
70
  return
69
71
 
72
+ if config.VERBOSE:
73
+ print("IP_SESSION_AUTH | INFO | Request Headers: ", request.headers)
74
+
70
75
  api_key = request.headers.get(config.APIKEY_HEADER_NAME)
71
76
 
72
77
  if api_key:
78
+ if config.VERBOSE:
79
+ print("IP_SESSION_AUTH | OK | API Key is provided")
73
80
  return
74
81
 
75
82
  state = getattr(request.state, "decoded_token", None)
83
+ if config.VERBOSE:
84
+ print("IP_SESSION_AUTH | INFO | State: ", state)
85
+
76
86
  if not state:
87
+ if config.VERBOSE:
88
+ print("IP_SESSION_AUTH | ERROR | No state found")
77
89
  raise UnAuthorizedException()
78
90
 
79
91
  nameid = state.get("nameid")
80
92
  sessionid = state.get("sessionId")
93
+ if config.VERBOSE:
94
+ print("IP_SESSION_AUTH | INFO | Nameid: ", nameid)
95
+ print("IP_SESSION_AUTH | INFO | Sessionid: ", sessionid)
81
96
 
82
97
  if not nameid or not sessionid:
98
+ if config.VERBOSE:
99
+ print("IP_SESSION_AUTH | ERROR | No nameid or sessionid found")
83
100
  raise UnAuthorizedException()
84
101
 
85
102
  request_ip = request.headers.get(config.IP_HEADER_NAME)
103
+
86
104
  if not request_ip:
105
+ if config.VERBOSE:
106
+ print("IP_SESSION_AUTH | ERROR | No request ip found")
87
107
  raise UnAuthorizedException()
88
108
 
89
109
  request_ip = request_ip.strip()
110
+ if config.VERBOSE:
111
+ print("IP_SESSION_AUTH | INFO | Request ip: ", request_ip)
90
112
 
91
113
  if self._is_ip_allowed(request_ip):
114
+ if config.VERBOSE:
115
+ print("IP_SESSION_AUTH | OK | IP is in whitelist")
92
116
  return
93
117
 
94
118
  redis_key = f"userId:{nameid}:session:{sessionid}"
95
119
  user_data = self.redis.get(redis_key)
120
+ if config.VERBOSE:
121
+ print("IP_SESSION_AUTH | INFO | User data: ", user_data)
96
122
 
97
123
  if not user_data:
124
+ if config.VERBOSE:
125
+ print("IP_SESSION_AUTH | ERROR | No user data found")
98
126
  raise UnAuthorizedException()
99
127
 
100
128
  try:
101
129
  payload = json.loads(user_data.decode())
102
130
  except (ValueError, UnicodeDecodeError, TypeError):
131
+ if config.VERBOSE:
132
+ print("IP_SESSION_AUTH | ERROR | Error decoding user data")
103
133
  raise UnAuthorizedException()
104
134
 
105
135
  stored_ip = payload.get("Ip")
106
-
136
+ if config.VERBOSE:
137
+ print("IP_SESSION_AUTH | INFO | Stored ip: ", stored_ip)
138
+
107
139
  if not stored_ip:
140
+ if config.VERBOSE:
141
+ print("IP_SESSION_AUTH | ERROR | No stored ip found")
108
142
  raise UnAuthorizedException()
109
143
 
110
144
  if stored_ip.strip() != request_ip:
145
+ if config.VERBOSE:
146
+ print("IP_SESSION_AUTH | ERROR | Stored ip does not match request ip")
111
147
  raise UnAuthorizedException()
112
148
 
113
149
  lifetime_minutes = self._get_lifetime()
114
- self.redis.expire(redis_key, lifetime_minutes * 60)
150
+ self.redis.expire(redis_key, lifetime_minutes * 60)
151
+ if config.VERBOSE:
152
+ print("IP_SESSION_AUTH | OK | IP session auth successful")
@@ -92,6 +92,8 @@ class LoggerService:
92
92
 
93
93
 
94
94
  def emit(self, log: LogDTO):
95
+ # if config.VERBOSE:
96
+ # print("LOGGER | INFO | Emitting log:\n", log)
95
97
  self.publish(log)
96
98
 
97
99
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sharedkernel
3
- Version: 2.6.1
3
+ Version: 2.6.2
4
4
  Summary: sharekernel is a shared package between all python projects
5
5
  Author: Smilinno
6
6
  Description-Content-Type: text/markdown
@@ -31,6 +31,8 @@ Dynamic: summary
31
31
  this is a shared kernel package
32
32
 
33
33
  # Change Log
34
+ ### Version 2.6.2
35
+ - Add Verbose
34
36
  ### Version 2.6.1
35
37
  - hotfix namings
36
38
  ### Version 2.6.0
File without changes