coderfastapi 5.6.0__tar.gz → 5.7.0__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.0 → coderfastapi-5.7.0}/PKG-INFO +1 -1
  2. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/decorators/pagination.py +3 -0
  3. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/session.py +8 -2
  4. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi.egg-info/PKG-INFO +1 -1
  5. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/pyproject.toml +2 -2
  6. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/README.md +0 -0
  7. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/__init__.py +0 -0
  8. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/handlers/__init__.py +0 -0
  9. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/handlers/version.py +0 -0
  10. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/__init__.py +0 -0
  11. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/decorators/__init__.py +0 -0
  12. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/decorators/util.py +0 -0
  13. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/router.py +0 -0
  14. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/__init__.py +0 -0
  15. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/acl.py +0 -0
  16. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/__init__.py +0 -0
  17. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/__init__.py +0 -0
  18. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/jwt/__init__.py +0 -0
  19. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/jwt/providers/__init__.py +0 -0
  20. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/jwt/providers/expiration.py +0 -0
  21. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/jwt/providers/recovery.py +0 -0
  22. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authentication/jwt/providers/user.py +0 -0
  23. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authorization/__init__.py +0 -0
  24. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/policies/authorization/user.py +0 -0
  25. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/session/__init__.py +0 -0
  26. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/session/base.py +0 -0
  27. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/security/session/user.py +0 -0
  28. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/signature.py +0 -0
  29. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/__init__.py +0 -0
  30. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/__init__.py +0 -0
  31. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/aggregation.py +0 -0
  32. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/pagination.py +0 -0
  33. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/query.py +0 -0
  34. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/request.py +0 -0
  35. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/lib/validation/schemas/version.py +0 -0
  36. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/logging/__init__.py +0 -0
  37. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/logging/context.py +0 -0
  38. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/logging/filter.py +0 -0
  39. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/logging/middleware.py +0 -0
  40. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi/test.py +0 -0
  41. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi.egg-info/SOURCES.txt +0 -0
  42. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi.egg-info/dependency_links.txt +0 -0
  43. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi.egg-info/requires.txt +0 -0
  44. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/coderfastapi.egg-info/top_level.txt +0 -0
  45. {coderfastapi-5.6.0 → coderfastapi-5.7.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coderfastapi
3
- Version: 5.6.0
3
+ Version: 5.7.0
4
4
  Summary: coderfastapi
5
5
  Author-email: Code R <hello@coderstudio.dev>
6
6
  Description-Content-Type: text/markdown
@@ -89,6 +89,9 @@ def _build_links(
89
89
  ) -> list[str]:
90
90
  result_length = len(result)
91
91
  links = []
92
+ if result_length == 0:
93
+ return links
94
+
92
95
  value_attr = getattr(query_schema, "order_by", id_attr)
93
96
 
94
97
  if previous_cursor := query_schema.cursor:
@@ -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_
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: coderfastapi
3
- Version: 5.6.0
3
+ Version: 5.7.0
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.0"
7
+ version = "5.7.0"
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.0"
36
+ current_version = "5.7.0"
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