utg-base 1.22.1__tar.gz → 1.23.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 (74) hide show
  1. {utg_base-1.22.1 → utg_base-1.23.0}/PKG-INFO +1 -1
  2. {utg_base-1.22.1 → utg_base-1.23.0}/pyproject.toml +1 -1
  3. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/permissions/decorators.py +20 -2
  4. {utg_base-1.22.1 → utg_base-1.23.0}/README.md +0 -0
  5. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/__init__.py +0 -0
  6. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/__init__.py +0 -0
  7. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/base.py +0 -0
  8. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/pagination.py +0 -0
  9. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/permissions.py +0 -0
  10. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/routers.py +0 -0
  11. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/serializers.py +0 -0
  12. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/api/spectacular.py +0 -0
  13. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/authentications/__init__.py +0 -0
  14. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/authentications/microservice_authentication.py +0 -0
  15. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/authentications/models.py +0 -0
  16. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/__init__.py +0 -0
  17. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/apps.py +0 -0
  18. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/filters/__init__.py +0 -0
  19. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/filters/task_result.py +0 -0
  20. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/management/__init__.py +0 -0
  21. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/management/commands/__init__.py +0 -0
  22. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/management/commands/migrate_tasks.py +0 -0
  23. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/serializers/__init__.py +0 -0
  24. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/serializers/periodic_task.py +0 -0
  25. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/serializers/task_result.py +0 -0
  26. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/urls.py +0 -0
  27. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/views/__init__.py +0 -0
  28. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/views/periodic_task.py +0 -0
  29. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/celery/views/task_result.py +0 -0
  30. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/constants/__init__.py +0 -0
  31. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/constants/accessibility_type.py +0 -0
  32. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/constants/available_languages.py +0 -0
  33. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/env.py +0 -0
  34. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/logging.py +0 -0
  35. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/middleware/__init__.py +0 -0
  36. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/middleware/debug.py +0 -0
  37. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/middleware/locale.py +0 -0
  38. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/migration/__init__.py +0 -0
  39. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/migration/apps.py +0 -0
  40. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/migration/management/__init__.py +0 -0
  41. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/migration/management/commands/__init__.py +0 -0
  42. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/migration/management/commands/makemigrations.py +0 -0
  43. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/models/__init__.py +0 -0
  44. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/models/jwt_user.py +0 -0
  45. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/models/timestamp.py +0 -0
  46. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/permissions/__init__.py +0 -0
  47. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/permissions/folder.py +0 -0
  48. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/permissions/utils.py +0 -0
  49. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/references_api/__init__.py +0 -0
  50. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/references_api/apps.py +0 -0
  51. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/references_api/migrations/__init__.py +0 -0
  52. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/references_api/urls.py +0 -0
  53. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/references_api/utils.py +0 -0
  54. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/services/__init__.py +0 -0
  55. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/services/base_api.py +0 -0
  56. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/signals/__init__.py +0 -0
  57. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/signals/sync_perms.py +0 -0
  58. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/__init__.py +0 -0
  59. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/apps.py +0 -0
  60. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/constants.py +0 -0
  61. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/migrations/0001_initial.py +0 -0
  62. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/migrations/__init__.py +0 -0
  63. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/models.py +0 -0
  64. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/u_services/u_requests.py +0 -0
  65. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/__init__.py +0 -0
  66. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/data.py +0 -0
  67. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/date.py +0 -0
  68. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/dict_util.py +0 -0
  69. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/response_processors.py +0 -0
  70. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/signals.py +0 -0
  71. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/sql.py +0 -0
  72. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/string.py +0 -0
  73. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/thread.py +0 -0
  74. {utg_base-1.22.1 → utg_base-1.23.0}/src/utg_base/utils/translation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: utg-base
3
- Version: 1.22.1
3
+ Version: 1.23.0
4
4
  Summary: UTG Base Package
5
5
  Author: Olimboy
6
6
  Author-email: shavkatov.olimboy@mail.ru
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "utg-base"
3
- version = "1.22.1"
3
+ version = "1.23.0"
4
4
  description = "UTG Base Package"
5
5
  authors = ["Olimboy <shavkatov.olimboy@mail.ru>", "Rovshen <rovshenashirov1619@gmail.com>"]
6
6
  readme = "README.md"
@@ -1,9 +1,17 @@
1
1
  from functools import wraps
2
2
  from typing import Literal, Dict, Union, List
3
3
 
4
+ from drf_spectacular.utils import extend_schema
5
+
4
6
  from .utils import has_perms as has_permissions
5
7
 
6
8
 
9
+ def _get_perms_desc(perms, operator):
10
+ perms_text = ", ".join(perms)
11
+ desc = f"**Perms(operator={operator}):** `[{perms_text}]`"
12
+ return desc
13
+
14
+
7
15
  def has_perm(*permission: str, operator: Literal["OR", "AND"] = "OR"):
8
16
  """
9
17
  Usage:
@@ -16,6 +24,9 @@ def has_perm(*permission: str, operator: Literal["OR", "AND"] = "OR"):
16
24
 
17
25
  def decorator(view_func):
18
26
  view_func._perms = permission
27
+ description = _get_perms_desc(permission, operator)
28
+
29
+ view_func = extend_schema(description=description)(view_func)
19
30
 
20
31
  @wraps(view_func)
21
32
  def _wrapped_view(self, request, *args, **kwargs):
@@ -45,7 +56,13 @@ def has_class_perm(permissions_map: Dict[str, Union[str, List[str]]], operator:
45
56
 
46
57
  if hasattr(cls, action):
47
58
  method = getattr(cls, action)
48
- setattr(method, "_perms", perms)
59
+
60
+ description = _get_perms_desc(perms, operator)
61
+ decorated_method = extend_schema(description=description)(method)
62
+
63
+ setattr(decorated_method, "_perms", perms)
64
+ setattr(cls, action, decorated_method)
65
+
49
66
  original_initial = cls.initial
50
67
 
51
68
  @wraps(original_initial)
@@ -58,7 +75,8 @@ def has_class_perm(permissions_map: Dict[str, Union[str, List[str]]], operator:
58
75
  if isinstance(required_perms, str):
59
76
  required_perms = [required_perms]
60
77
 
61
- if not has_permissions(user_id=request.user.id, perms=required_perms, operator=operator, request=request):
78
+ if not has_permissions(user_id=request.user.id, perms=required_perms, operator=operator,
79
+ request=request):
62
80
  self.permission_denied(request)
63
81
 
64
82
  return original_initial(self, request, *args, **kwargs)
File without changes
File without changes