ul-pii-sdk 4.1.5__tar.gz → 4.2.4__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 (22) hide show
  1. {ul-pii-sdk-4.1.5/ul_pii_sdk.egg-info → ul_pii_sdk-4.2.4}/PKG-INFO +2 -2
  2. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/pii_sdk.py +11 -0
  3. ul_pii_sdk-4.2.4/pii_sdk/types/api_ogranization.py +58 -0
  4. ul_pii_sdk-4.2.4/pii_sdk/types/api_user.py +5 -0
  5. ul_pii_sdk-4.2.4/pii_sdk/types/enums/organization_user_state.py +6 -0
  6. ul_pii_sdk-4.2.4/pii_sdk/utils/__init__.py +0 -0
  7. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/setup.py +4 -2
  8. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4/ul_pii_sdk.egg-info}/PKG-INFO +1 -1
  9. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/ul_pii_sdk.egg-info/SOURCES.txt +3 -0
  10. ul-pii-sdk-4.1.5/pii_sdk/types/api_ogranization.py +0 -28
  11. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/README.md +0 -0
  12. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/__init__.py +0 -0
  13. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/errors.py +0 -0
  14. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/pii_sdk_config.py +0 -0
  15. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/py.typed +0 -0
  16. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/types/__init__.py +0 -0
  17. {ul-pii-sdk-4.1.5/pii_sdk/utils → ul_pii_sdk-4.2.4/pii_sdk/types/enums}/__init__.py +0 -0
  18. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/pii_sdk/utils/internal_api_error_handler.py +0 -0
  19. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/setup.cfg +0 -0
  20. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/ul_pii_sdk.egg-info/dependency_links.txt +0 -0
  21. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/ul_pii_sdk.egg-info/requires.txt +0 -0
  22. {ul-pii-sdk-4.1.5 → ul_pii_sdk-4.2.4}/ul_pii_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
- Name: ul-pii-sdk
3
- Version: 4.1.5
2
+ Name: ul_pii_sdk
3
+ Version: 4.2.4
4
4
  Summary: Pii sdk
5
5
  Author: Unic-lab
6
6
  License: MIT
@@ -1,4 +1,5 @@
1
1
  import json
2
+
2
3
  from uuid import UUID
3
4
  from typing import List
4
5
 
@@ -7,7 +8,9 @@ from ul_api_utils.internal_api.internal_api_response import InternalApiResponse
7
8
 
8
9
  from pii_sdk.pii_sdk_config import PiiSdkConfig
9
10
  from pii_sdk.types.api_ogranization import ApiOrganization, ApiOrganizationAvailableEvents
11
+ from pii_sdk.types.api_user import ApiUserEventsToSendEmail
10
12
  from pii_sdk.utils.internal_api_error_handler import internal_api_error_handler
13
+ from pii_sdk.types.api_ogranization import ApiUserListResponse
11
14
 
12
15
 
13
16
  class PiiSdk:
@@ -41,3 +44,11 @@ class PiiSdk:
41
44
  @internal_api_error_handler
42
45
  def get_organizations_available_events(self, organization_id: UUID) -> InternalApiResponse[ApiOrganizationAvailableEvents]:
43
46
  return self._api.request_get(f'/organizations/{organization_id}/available_events').typed(ApiOrganizationAvailableEvents).check()
47
+
48
+ @internal_api_error_handler
49
+ def get_organizations_users_list(self, organization_id: UUID) -> InternalApiResponse[List[ApiUserListResponse]]: # type: ignore
50
+ return self._api.request_get(f'/organizations/{organization_id}/users/list').typed(List[ApiUserListResponse]).check()
51
+
52
+ @internal_api_error_handler
53
+ def get_user_send_event_email_list(self, user_id: UUID) -> InternalApiResponse[ApiUserEventsToSendEmail]:
54
+ return self._api.request_get(f'/users/{user_id}/events_to_send_email').typed(ApiUserEventsToSendEmail).check()
@@ -0,0 +1,58 @@
1
+ from enum import Enum
2
+ from typing import Any, Dict, List, Optional
3
+
4
+ from pytz import all_timezones
5
+ from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
6
+ from ul_api_utils.api_resource.api_response_payload_alias import ApiBaseUserModelPayloadResponse
7
+ from pydantic import BaseModel, UUID4
8
+
9
+ from ul_api_utils.validators.custom_fields import PgTypeShortStrAnnotation
10
+ from pii_sdk.types.enums.organization_user_state import OrganizationUserState
11
+ from datetime import datetime
12
+
13
+
14
+
15
+ TimeZonesEnum = Enum('tz_type', {tz_name.lower().replace('/', '_'): tz_name for tz_name in all_timezones}) # type: ignore
16
+
17
+
18
+ class ApiOrganizationData(BaseModel):
19
+ admin_notes: Optional[str] = None
20
+ name: str
21
+ available_permissions: List[int]
22
+ timezones: List[TimeZonesEnum]
23
+
24
+
25
+ class ApiOrganization(ApiBaseUserModelPayloadResponse):
26
+ admin_notes: Optional[str] = None
27
+ organization_data: ApiOrganizationData
28
+ frontend_settings: Dict[str, Any]
29
+ teams_count: int
30
+ users_count: int
31
+
32
+ class ApiOrganizationAvailableEvents(JsonApiResponsePayload):
33
+ available_events: list[str]
34
+
35
+
36
+ class ApiUserListResponse(JsonApiResponsePayload):
37
+ """Упрощенная модель ответа для списков пользователей организации"""
38
+
39
+ id: UUID4
40
+ date_created: datetime
41
+ date_modified: datetime
42
+ is_alive: bool
43
+
44
+ # Основная информация о пользователе
45
+ is_superuser: bool
46
+
47
+ # Данные пользователя (только основные поля)
48
+ email: PgTypeShortStrAnnotation
49
+ first_name: Optional[PgTypeShortStrAnnotation] = None
50
+ last_name: Optional[PgTypeShortStrAnnotation] = None
51
+ nick_name: Optional[PgTypeShortStrAnnotation] = None
52
+
53
+ # Статус в организации
54
+ organization_user_state: OrganizationUserState
55
+ organization_user_notes: Optional[str] = None
56
+
57
+ # Количество команд пользователя в организации
58
+ teams_count: int = 0
@@ -0,0 +1,5 @@
1
+ from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
2
+
3
+
4
+ class ApiUserEventsToSendEmail(JsonApiResponsePayload):
5
+ events_to_send_email: list[str]
@@ -0,0 +1,6 @@
1
+ from enum import Enum
2
+
3
+
4
+ class OrganizationUserState(Enum):
5
+ active = "ACTIVE"
6
+ blocked = "BLOCKED"
File without changes
@@ -8,8 +8,8 @@ with open(path.join(HERE, 'README.md'), encoding='utf-8') as f:
8
8
 
9
9
 
10
10
  setup(
11
- name='ul-pii-sdk',
12
- version='4.1.5',
11
+ name='ul_pii_sdk',
12
+ version='4.2.4',
13
13
  description='Pii sdk',
14
14
  author='Unic-lab',
15
15
  long_description=long_description,
@@ -36,11 +36,13 @@ setup(
36
36
  install_requires=[
37
37
  'ul-api-utils>=7.2.8',
38
38
  'ul-data-aggregator-sdk>=10.1.7',
39
+ # "ul-api-utils>=9.2.7",
39
40
  # "bcrypt==3.2.0",
40
41
  # "passlib==1.7.4",
41
42
  # "ul-notification-sdk-iot-account==3.0.6",
42
43
  # "ul-py-tool==2.1.4,
43
44
  # "ul-api-utils==9.1.1"
44
45
  # "ul-db-utils==5.1.0",
46
+ # 'ul-data-aggregator-sdk>=10.5.1',
45
47
  ],
46
48
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ul-pii-sdk
3
- Version: 4.1.5
3
+ Version: 4.2.4
4
4
  Summary: Pii sdk
5
5
  Author: Unic-lab
6
6
  License: MIT
@@ -8,6 +8,9 @@ pii_sdk/pii_sdk_config.py
8
8
  pii_sdk/py.typed
9
9
  pii_sdk/types/__init__.py
10
10
  pii_sdk/types/api_ogranization.py
11
+ pii_sdk/types/api_user.py
12
+ pii_sdk/types/enums/__init__.py
13
+ pii_sdk/types/enums/organization_user_state.py
11
14
  pii_sdk/utils/__init__.py
12
15
  pii_sdk/utils/internal_api_error_handler.py
13
16
  ul_pii_sdk.egg-info/PKG-INFO
@@ -1,28 +0,0 @@
1
- from enum import Enum
2
- from typing import Any, Dict, List, Optional
3
-
4
- from pytz import all_timezones
5
- from ul_api_utils.api_resource.api_response import JsonApiResponsePayload
6
- from ul_api_utils.api_resource.api_response_payload_alias import ApiBaseUserModelPayloadResponse
7
- from pydantic import BaseModel
8
-
9
-
10
- TimeZonesEnum = Enum('tz_type', {tz_name.lower().replace('/', '_'): tz_name for tz_name in all_timezones}) # type: ignore
11
-
12
-
13
- class ApiOrganizationData(BaseModel):
14
- admin_notes: Optional[str] = None
15
- name: str
16
- available_permissions: List[int]
17
- timezones: List[TimeZonesEnum]
18
-
19
-
20
- class ApiOrganization(ApiBaseUserModelPayloadResponse):
21
- admin_notes: Optional[str] = None
22
- organization_data: ApiOrganizationData
23
- frontend_settings: Dict[str, Any]
24
- teams_count: int
25
- users_count: int
26
-
27
- class ApiOrganizationAvailableEvents(JsonApiResponsePayload):
28
- available_events: list[str]
File without changes
File without changes
File without changes
File without changes