coderfastapi 5.6.1__tar.gz → 5.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 (45) hide show
  1. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/PKG-INFO +1 -1
  2. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/session.py +8 -2
  3. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/aggregation.py +5 -2
  4. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi.egg-info/PKG-INFO +1 -1
  5. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/pyproject.toml +2 -2
  6. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/README.md +0 -0
  7. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/__init__.py +0 -0
  8. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/handlers/__init__.py +0 -0
  9. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/handlers/version.py +0 -0
  10. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/__init__.py +0 -0
  11. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/decorators/__init__.py +0 -0
  12. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/decorators/pagination.py +0 -0
  13. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/decorators/util.py +0 -0
  14. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/router.py +0 -0
  15. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/__init__.py +0 -0
  16. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/acl.py +0 -0
  17. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/__init__.py +0 -0
  18. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/__init__.py +0 -0
  19. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/jwt/__init__.py +0 -0
  20. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/jwt/providers/__init__.py +0 -0
  21. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/jwt/providers/expiration.py +0 -0
  22. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/jwt/providers/recovery.py +0 -0
  23. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authentication/jwt/providers/user.py +0 -0
  24. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authorization/__init__.py +0 -0
  25. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/policies/authorization/user.py +0 -0
  26. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/session/__init__.py +0 -0
  27. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/session/base.py +0 -0
  28. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/security/session/user.py +0 -0
  29. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/signature.py +0 -0
  30. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/__init__.py +0 -0
  31. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/__init__.py +0 -0
  32. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/pagination.py +0 -0
  33. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/query.py +0 -0
  34. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/request.py +0 -0
  35. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/lib/validation/schemas/version.py +0 -0
  36. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/logging/__init__.py +0 -0
  37. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/logging/context.py +0 -0
  38. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/logging/filter.py +0 -0
  39. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/logging/middleware.py +0 -0
  40. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi/test.py +0 -0
  41. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi.egg-info/SOURCES.txt +0 -0
  42. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi.egg-info/dependency_links.txt +0 -0
  43. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi.egg-info/requires.txt +0 -0
  44. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/coderfastapi.egg-info/top_level.txt +0 -0
  45. {coderfastapi-5.6.1 → coderfastapi-5.7.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coderfastapi
3
- Version: 5.6.1
3
+ Version: 5.7.1
4
4
  Summary: coderfastapi
5
5
  Author-email: Code R <hello@coderstudio.dev>
6
6
  Description-Content-Type: text/markdown
@@ -3,7 +3,7 @@ from typing import TypeVar
3
3
 
4
4
  from fastapi import Request
5
5
 
6
- from coderfastapi.lib.security import UserSessionManager
6
+ from coderfastapi.lib.security import UserSession, UserSessionManager
7
7
  from coderfastapi.lib.security.policies.authentication import AuthenticationPolicy
8
8
 
9
9
  SESSION_COOKIE_KEY = "session_id"
@@ -24,9 +24,15 @@ class UserSessionAuthenticationPolicy(AuthenticationPolicy):
24
24
  if not session_id:
25
25
  return request_
26
26
  if session := await session_manager.get_session_by_id(session_id):
27
- request_.user_id = session.user_id
27
+ request_ = cls._authenticate_from_user_session(request_, session)
28
28
  return request_
29
29
 
30
30
  @staticmethod
31
31
  def _get_session_id_from_cookie(cookies: dict) -> str | None:
32
32
  return cookies.get(SESSION_COOKIE_KEY)
33
+
34
+ @staticmethod
35
+ def _authenticate_from_user_session(request: T, session: UserSession) -> T:
36
+ request_ = copy.copy(request)
37
+ request_.user_id = session.user_id
38
+ return request_
@@ -16,8 +16,11 @@ class AggregationParametersSchema(AggregationParameters):
16
16
  class DatedAggregationParametersMixinSchema(DatedAggregationParametersMixin):
17
17
  @model_validator(mode="before")
18
18
  @classmethod
19
- def validate(cls, values: ArgsKwargs) -> ArgsKwargs:
20
- kwargs = values.kwargs if values.kwargs else {}
19
+ def validate(cls, values: ArgsKwargs | dict) -> ArgsKwargs | dict:
20
+ if isinstance(values, dict):
21
+ kwargs = values
22
+ else:
23
+ kwargs = values.kwargs if values.kwargs else {}
21
24
  max_date = kwargs.get("max_date")
22
25
  min_date = kwargs.get("min_date")
23
26
  if max_date and min_date and max_date < min_date:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coderfastapi
3
- Version: 5.6.1
3
+ Version: 5.7.1
4
4
  Summary: coderfastapi
5
5
  Author-email: Code R <hello@coderstudio.dev>
6
6
  Description-Content-Type: text/markdown
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "coderfastapi"
7
- version = "5.6.1"
7
+ version = "5.7.1"
8
8
  description = "coderfastapi"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Code R", email = "hello@coderstudio.dev" }]
@@ -33,7 +33,7 @@ dev = [
33
33
  ]
34
34
 
35
35
  [tool.bumpver]
36
- current_version = "5.6.1"
36
+ current_version = "5.7.1"
37
37
  version_pattern = "MAJOR.MINOR.PATCH"
38
38
  commit_message = "bump version {old_version} -> {new_version}"
39
39
  commit = true
File without changes
File without changes