mergepythonclient 4.1.0__py3-none-any.whl → 4.2.1__py3-none-any.whl
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.
- merge/core/client_wrapper.py +2 -2
- merge/resources/accounting/__init__.py +15 -0
- merge/resources/accounting/client.py +19 -0
- merge/resources/accounting/resources/__init__.py +3 -0
- merge/resources/accounting/resources/selective_sync/__init__.py +4 -0
- merge/resources/accounting/resources/selective_sync/client.py +104 -0
- merge/resources/accounting/resources/selective_sync/raw_client.py +103 -0
- merge/resources/accounting/types/__init__.py +12 -0
- merge/resources/accounting/types/operator_enum.py +58 -0
- merge/resources/accounting/types/selective_sync_condition.py +49 -0
- merge/resources/accounting/types/selective_sync_condition_list.py +21 -0
- merge/resources/accounting/types/selective_sync_condition_operator.py +7 -0
- merge/resources/accounting/types/sync_status.py +5 -0
- merge/resources/ats/__init__.py +15 -0
- merge/resources/ats/client.py +19 -0
- merge/resources/ats/resources/__init__.py +3 -0
- merge/resources/ats/resources/selective_sync/__init__.py +4 -0
- merge/resources/ats/resources/selective_sync/client.py +104 -0
- merge/resources/ats/resources/selective_sync/raw_client.py +103 -0
- merge/resources/ats/types/__init__.py +12 -0
- merge/resources/ats/types/operator_enum.py +58 -0
- merge/resources/ats/types/selective_sync_condition.py +49 -0
- merge/resources/ats/types/selective_sync_condition_list.py +21 -0
- merge/resources/ats/types/selective_sync_condition_operator.py +7 -0
- merge/resources/ats/types/sync_status.py +5 -0
- merge/resources/calendar/__init__.py +15 -0
- merge/resources/calendar/client.py +19 -0
- merge/resources/calendar/resources/__init__.py +3 -0
- merge/resources/calendar/resources/selective_sync/__init__.py +4 -0
- merge/resources/calendar/resources/selective_sync/client.py +104 -0
- merge/resources/calendar/resources/selective_sync/raw_client.py +103 -0
- merge/resources/calendar/types/__init__.py +12 -0
- merge/resources/calendar/types/operator_enum.py +58 -0
- merge/resources/calendar/types/selective_sync_condition.py +49 -0
- merge/resources/calendar/types/selective_sync_condition_list.py +21 -0
- merge/resources/calendar/types/selective_sync_condition_operator.py +7 -0
- merge/resources/calendar/types/sync_status.py +5 -0
- merge/resources/chat/__init__.py +33 -0
- merge/resources/chat/client.py +19 -0
- merge/resources/chat/resources/__init__.py +3 -0
- merge/resources/chat/resources/selective_sync/__init__.py +4 -0
- merge/resources/chat/resources/selective_sync/client.py +264 -0
- merge/resources/chat/resources/selective_sync/raw_client.py +293 -0
- merge/resources/chat/types/__init__.py +30 -0
- merge/resources/chat/types/chat_sync_selection.py +50 -0
- merge/resources/chat/types/chat_sync_selection_type.py +7 -0
- merge/resources/chat/types/chat_sync_selection_type_enum.py +18 -0
- merge/resources/chat/types/label_selection.py +43 -0
- merge/resources/chat/types/label_selection_list.py +21 -0
- merge/resources/chat/types/operator_enum.py +58 -0
- merge/resources/chat/types/paginated_chat_sync_selection_list.py +23 -0
- merge/resources/chat/types/selective_sync_condition.py +49 -0
- merge/resources/chat/types/selective_sync_condition_list.py +21 -0
- merge/resources/chat/types/selective_sync_condition_operator.py +7 -0
- merge/resources/chat/types/sync_status.py +5 -0
- merge/resources/crm/__init__.py +15 -0
- merge/resources/crm/client.py +19 -0
- merge/resources/crm/resources/__init__.py +3 -0
- merge/resources/crm/resources/selective_sync/__init__.py +4 -0
- merge/resources/crm/resources/selective_sync/client.py +104 -0
- merge/resources/crm/resources/selective_sync/raw_client.py +103 -0
- merge/resources/crm/types/__init__.py +12 -0
- merge/resources/crm/types/operator_enum.py +58 -0
- merge/resources/crm/types/selective_sync_condition.py +49 -0
- merge/resources/crm/types/selective_sync_condition_list.py +21 -0
- merge/resources/crm/types/selective_sync_condition_operator.py +7 -0
- merge/resources/crm/types/sync_status.py +5 -0
- merge/resources/email/__init__.py +21 -0
- merge/resources/email/client.py +19 -0
- merge/resources/email/resources/__init__.py +3 -0
- merge/resources/email/resources/selective_sync/__init__.py +4 -0
- merge/resources/email/resources/selective_sync/client.py +167 -0
- merge/resources/email/resources/selective_sync/raw_client.py +184 -0
- merge/resources/email/types/__init__.py +18 -0
- merge/resources/email/types/label_selection.py +43 -0
- merge/resources/email/types/label_selection_list.py +21 -0
- merge/resources/email/types/operator_enum.py +58 -0
- merge/resources/email/types/selective_sync_condition.py +49 -0
- merge/resources/email/types/selective_sync_condition_list.py +21 -0
- merge/resources/email/types/selective_sync_condition_operator.py +7 -0
- merge/resources/email/types/sync_status.py +5 -0
- merge/resources/filestorage/__init__.py +33 -0
- merge/resources/filestorage/client.py +19 -0
- merge/resources/filestorage/resources/__init__.py +3 -0
- merge/resources/filestorage/resources/selective_sync/__init__.py +4 -0
- merge/resources/filestorage/resources/selective_sync/client.py +264 -0
- merge/resources/filestorage/resources/selective_sync/raw_client.py +293 -0
- merge/resources/filestorage/types/__init__.py +30 -0
- merge/resources/filestorage/types/file_storage_sync_selection.py +50 -0
- merge/resources/filestorage/types/file_storage_sync_selection_type.py +7 -0
- merge/resources/filestorage/types/file_storage_sync_selection_type_enum.py +26 -0
- merge/resources/filestorage/types/label_selection.py +43 -0
- merge/resources/filestorage/types/label_selection_list.py +21 -0
- merge/resources/filestorage/types/operator_enum.py +58 -0
- merge/resources/filestorage/types/paginated_file_storage_sync_selection_list.py +23 -0
- merge/resources/filestorage/types/selective_sync_condition.py +49 -0
- merge/resources/filestorage/types/selective_sync_condition_list.py +21 -0
- merge/resources/filestorage/types/selective_sync_condition_operator.py +7 -0
- merge/resources/filestorage/types/sync_status.py +5 -0
- merge/resources/hris/__init__.py +15 -0
- merge/resources/hris/client.py +19 -0
- merge/resources/hris/resources/__init__.py +3 -0
- merge/resources/hris/resources/selective_sync/__init__.py +4 -0
- merge/resources/hris/resources/selective_sync/client.py +104 -0
- merge/resources/hris/resources/selective_sync/raw_client.py +103 -0
- merge/resources/hris/types/__init__.py +12 -0
- merge/resources/hris/types/operator_enum.py +58 -0
- merge/resources/hris/types/selective_sync_condition.py +49 -0
- merge/resources/hris/types/selective_sync_condition_list.py +21 -0
- merge/resources/hris/types/selective_sync_condition_operator.py +7 -0
- merge/resources/hris/types/sync_status.py +5 -0
- merge/resources/knowledgebase/__init__.py +27 -0
- merge/resources/knowledgebase/client.py +19 -0
- merge/resources/knowledgebase/resources/__init__.py +3 -0
- merge/resources/knowledgebase/resources/selective_sync/__init__.py +4 -0
- merge/resources/knowledgebase/resources/selective_sync/client.py +201 -0
- merge/resources/knowledgebase/resources/selective_sync/raw_client.py +212 -0
- merge/resources/knowledgebase/types/__init__.py +24 -0
- merge/resources/knowledgebase/types/knowledge_base_sync_selection.py +50 -0
- merge/resources/knowledgebase/types/knowledge_base_sync_selection_type.py +7 -0
- merge/resources/knowledgebase/types/knowledge_base_sync_selection_type_enum.py +18 -0
- merge/resources/knowledgebase/types/operator_enum.py +58 -0
- merge/resources/knowledgebase/types/paginated_knowledge_base_sync_selection_list.py +23 -0
- merge/resources/knowledgebase/types/selective_sync_condition.py +49 -0
- merge/resources/knowledgebase/types/selective_sync_condition_list.py +21 -0
- merge/resources/knowledgebase/types/selective_sync_condition_operator.py +7 -0
- merge/resources/knowledgebase/types/sync_status.py +5 -0
- merge/resources/ticketing/__init__.py +15 -0
- merge/resources/ticketing/client.py +19 -0
- merge/resources/ticketing/resources/__init__.py +3 -0
- merge/resources/ticketing/resources/selective_sync/__init__.py +4 -0
- merge/resources/ticketing/resources/selective_sync/client.py +104 -0
- merge/resources/ticketing/resources/selective_sync/raw_client.py +103 -0
- merge/resources/ticketing/types/__init__.py +12 -0
- merge/resources/ticketing/types/operator_enum.py +58 -0
- merge/resources/ticketing/types/selective_sync_condition.py +49 -0
- merge/resources/ticketing/types/selective_sync_condition_list.py +21 -0
- merge/resources/ticketing/types/selective_sync_condition_operator.py +7 -0
- merge/resources/ticketing/types/sync_status.py +5 -0
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.1.dist-info}/METADATA +3 -1
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.1.dist-info}/RECORD +143 -55
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.1.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.1.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
|
+
from .....core.request_options import RequestOptions
|
|
7
|
+
from ...types.selective_sync_condition_list import SelectiveSyncConditionList
|
|
8
|
+
from .raw_client import AsyncRawSelectiveSyncClient, RawSelectiveSyncClient
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SelectiveSyncClient:
|
|
12
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
13
|
+
self._raw_client = RawSelectiveSyncClient(client_wrapper=client_wrapper)
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def with_raw_response(self) -> RawSelectiveSyncClient:
|
|
17
|
+
"""
|
|
18
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
19
|
+
|
|
20
|
+
Returns
|
|
21
|
+
-------
|
|
22
|
+
RawSelectiveSyncClient
|
|
23
|
+
"""
|
|
24
|
+
return self._raw_client
|
|
25
|
+
|
|
26
|
+
def conditions_list(self, *, request_options: typing.Optional[RequestOptions] = None) -> SelectiveSyncConditionList:
|
|
27
|
+
"""
|
|
28
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
29
|
+
|
|
30
|
+
Parameters
|
|
31
|
+
----------
|
|
32
|
+
request_options : typing.Optional[RequestOptions]
|
|
33
|
+
Request-specific configuration.
|
|
34
|
+
|
|
35
|
+
Returns
|
|
36
|
+
-------
|
|
37
|
+
SelectiveSyncConditionList
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
Examples
|
|
41
|
+
--------
|
|
42
|
+
from merge import Merge
|
|
43
|
+
|
|
44
|
+
client = Merge(
|
|
45
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
46
|
+
api_key="YOUR_API_KEY",
|
|
47
|
+
)
|
|
48
|
+
client.calendar.selective_sync.conditions_list()
|
|
49
|
+
"""
|
|
50
|
+
_response = self._raw_client.conditions_list(request_options=request_options)
|
|
51
|
+
return _response.data
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class AsyncSelectiveSyncClient:
|
|
55
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
56
|
+
self._raw_client = AsyncRawSelectiveSyncClient(client_wrapper=client_wrapper)
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def with_raw_response(self) -> AsyncRawSelectiveSyncClient:
|
|
60
|
+
"""
|
|
61
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
62
|
+
|
|
63
|
+
Returns
|
|
64
|
+
-------
|
|
65
|
+
AsyncRawSelectiveSyncClient
|
|
66
|
+
"""
|
|
67
|
+
return self._raw_client
|
|
68
|
+
|
|
69
|
+
async def conditions_list(
|
|
70
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
71
|
+
) -> SelectiveSyncConditionList:
|
|
72
|
+
"""
|
|
73
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
74
|
+
|
|
75
|
+
Parameters
|
|
76
|
+
----------
|
|
77
|
+
request_options : typing.Optional[RequestOptions]
|
|
78
|
+
Request-specific configuration.
|
|
79
|
+
|
|
80
|
+
Returns
|
|
81
|
+
-------
|
|
82
|
+
SelectiveSyncConditionList
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
Examples
|
|
86
|
+
--------
|
|
87
|
+
import asyncio
|
|
88
|
+
|
|
89
|
+
from merge import AsyncMerge
|
|
90
|
+
|
|
91
|
+
client = AsyncMerge(
|
|
92
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
93
|
+
api_key="YOUR_API_KEY",
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
async def main() -> None:
|
|
98
|
+
await client.calendar.selective_sync.conditions_list()
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
asyncio.run(main())
|
|
102
|
+
"""
|
|
103
|
+
_response = await self._raw_client.conditions_list(request_options=request_options)
|
|
104
|
+
return _response.data
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
from json.decoder import JSONDecodeError
|
|
5
|
+
|
|
6
|
+
from .....core.api_error import ApiError
|
|
7
|
+
from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
|
+
from .....core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
|
+
from .....core.parse_error import ParsingError
|
|
10
|
+
from .....core.request_options import RequestOptions
|
|
11
|
+
from .....core.unchecked_base_model import construct_type
|
|
12
|
+
from ...types.selective_sync_condition_list import SelectiveSyncConditionList
|
|
13
|
+
from pydantic import ValidationError
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class RawSelectiveSyncClient:
|
|
17
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
18
|
+
self._client_wrapper = client_wrapper
|
|
19
|
+
|
|
20
|
+
def conditions_list(
|
|
21
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
22
|
+
) -> HttpResponse[SelectiveSyncConditionList]:
|
|
23
|
+
"""
|
|
24
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
25
|
+
|
|
26
|
+
Parameters
|
|
27
|
+
----------
|
|
28
|
+
request_options : typing.Optional[RequestOptions]
|
|
29
|
+
Request-specific configuration.
|
|
30
|
+
|
|
31
|
+
Returns
|
|
32
|
+
-------
|
|
33
|
+
HttpResponse[SelectiveSyncConditionList]
|
|
34
|
+
|
|
35
|
+
"""
|
|
36
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
37
|
+
"calendar/v1/selective-sync/conditions",
|
|
38
|
+
method="GET",
|
|
39
|
+
request_options=request_options,
|
|
40
|
+
)
|
|
41
|
+
try:
|
|
42
|
+
if 200 <= _response.status_code < 300:
|
|
43
|
+
_data = typing.cast(
|
|
44
|
+
SelectiveSyncConditionList,
|
|
45
|
+
construct_type(
|
|
46
|
+
type_=SelectiveSyncConditionList, # type: ignore
|
|
47
|
+
object_=_response.json(),
|
|
48
|
+
),
|
|
49
|
+
)
|
|
50
|
+
return HttpResponse(response=_response, data=_data)
|
|
51
|
+
_response_json = _response.json()
|
|
52
|
+
except JSONDecodeError:
|
|
53
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
54
|
+
except ValidationError as e:
|
|
55
|
+
raise ParsingError(
|
|
56
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
57
|
+
)
|
|
58
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class AsyncRawSelectiveSyncClient:
|
|
62
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
63
|
+
self._client_wrapper = client_wrapper
|
|
64
|
+
|
|
65
|
+
async def conditions_list(
|
|
66
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
67
|
+
) -> AsyncHttpResponse[SelectiveSyncConditionList]:
|
|
68
|
+
"""
|
|
69
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
70
|
+
|
|
71
|
+
Parameters
|
|
72
|
+
----------
|
|
73
|
+
request_options : typing.Optional[RequestOptions]
|
|
74
|
+
Request-specific configuration.
|
|
75
|
+
|
|
76
|
+
Returns
|
|
77
|
+
-------
|
|
78
|
+
AsyncHttpResponse[SelectiveSyncConditionList]
|
|
79
|
+
|
|
80
|
+
"""
|
|
81
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
82
|
+
"calendar/v1/selective-sync/conditions",
|
|
83
|
+
method="GET",
|
|
84
|
+
request_options=request_options,
|
|
85
|
+
)
|
|
86
|
+
try:
|
|
87
|
+
if 200 <= _response.status_code < 300:
|
|
88
|
+
_data = typing.cast(
|
|
89
|
+
SelectiveSyncConditionList,
|
|
90
|
+
construct_type(
|
|
91
|
+
type_=SelectiveSyncConditionList, # type: ignore
|
|
92
|
+
object_=_response.json(),
|
|
93
|
+
),
|
|
94
|
+
)
|
|
95
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
96
|
+
_response_json = _response.json()
|
|
97
|
+
except JSONDecodeError:
|
|
98
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
99
|
+
except ValidationError as e:
|
|
100
|
+
raise ParsingError(
|
|
101
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
102
|
+
)
|
|
103
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
@@ -78,6 +78,7 @@ if typing.TYPE_CHECKING:
|
|
|
78
78
|
from .model_permission_deserializer_request import ModelPermissionDeserializerRequest
|
|
79
79
|
from .multipart_form_field_request import MultipartFormFieldRequest
|
|
80
80
|
from .multipart_form_field_request_encoding import MultipartFormFieldRequestEncoding
|
|
81
|
+
from .operator_enum import OperatorEnum
|
|
81
82
|
from .paginated_account_details_and_actions_list import PaginatedAccountDetailsAndActionsList
|
|
82
83
|
from .paginated_audit_log_event_list import PaginatedAuditLogEventList
|
|
83
84
|
from .paginated_calendar_list import PaginatedCalendarList
|
|
@@ -109,6 +110,9 @@ if typing.TYPE_CHECKING:
|
|
|
109
110
|
from .role_enum import RoleEnum
|
|
110
111
|
from .roles_enum import RolesEnum
|
|
111
112
|
from .rsvp_enum import RsvpEnum
|
|
113
|
+
from .selective_sync_condition import SelectiveSyncCondition
|
|
114
|
+
from .selective_sync_condition_list import SelectiveSyncConditionList
|
|
115
|
+
from .selective_sync_condition_operator import SelectiveSyncConditionOperator
|
|
112
116
|
from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
|
|
113
117
|
from .series import Series
|
|
114
118
|
from .series_field_mappings import SeriesFieldMappings
|
|
@@ -194,6 +198,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
194
198
|
"ModelPermissionDeserializerRequest": ".model_permission_deserializer_request",
|
|
195
199
|
"MultipartFormFieldRequest": ".multipart_form_field_request",
|
|
196
200
|
"MultipartFormFieldRequestEncoding": ".multipart_form_field_request_encoding",
|
|
201
|
+
"OperatorEnum": ".operator_enum",
|
|
197
202
|
"PaginatedAccountDetailsAndActionsList": ".paginated_account_details_and_actions_list",
|
|
198
203
|
"PaginatedAuditLogEventList": ".paginated_audit_log_event_list",
|
|
199
204
|
"PaginatedCalendarList": ".paginated_calendar_list",
|
|
@@ -225,6 +230,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
225
230
|
"RoleEnum": ".role_enum",
|
|
226
231
|
"RolesEnum": ".roles_enum",
|
|
227
232
|
"RsvpEnum": ".rsvp_enum",
|
|
233
|
+
"SelectiveSyncCondition": ".selective_sync_condition",
|
|
234
|
+
"SelectiveSyncConditionList": ".selective_sync_condition_list",
|
|
235
|
+
"SelectiveSyncConditionOperator": ".selective_sync_condition_operator",
|
|
228
236
|
"SelectiveSyncConfigurationsUsageEnum": ".selective_sync_configurations_usage_enum",
|
|
229
237
|
"Series": ".series",
|
|
230
238
|
"SeriesFieldMappings": ".series_field_mappings",
|
|
@@ -334,6 +342,7 @@ __all__ = [
|
|
|
334
342
|
"ModelPermissionDeserializerRequest",
|
|
335
343
|
"MultipartFormFieldRequest",
|
|
336
344
|
"MultipartFormFieldRequestEncoding",
|
|
345
|
+
"OperatorEnum",
|
|
337
346
|
"PaginatedAccountDetailsAndActionsList",
|
|
338
347
|
"PaginatedAuditLogEventList",
|
|
339
348
|
"PaginatedCalendarList",
|
|
@@ -365,6 +374,9 @@ __all__ = [
|
|
|
365
374
|
"RoleEnum",
|
|
366
375
|
"RolesEnum",
|
|
367
376
|
"RsvpEnum",
|
|
377
|
+
"SelectiveSyncCondition",
|
|
378
|
+
"SelectiveSyncConditionList",
|
|
379
|
+
"SelectiveSyncConditionOperator",
|
|
368
380
|
"SelectiveSyncConfigurationsUsageEnum",
|
|
369
381
|
"Series",
|
|
370
382
|
"SeriesFieldMappings",
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
from ....core import enum
|
|
6
|
+
|
|
7
|
+
T_Result = typing.TypeVar("T_Result")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class OperatorEnum(enum.StrEnum):
|
|
11
|
+
CONTAINS = "CONTAINS"
|
|
12
|
+
EQUALS = "EQUALS"
|
|
13
|
+
GREATER_THAN = "GREATER_THAN"
|
|
14
|
+
GREATER_THAN_OR_EQUAL_TO = "GREATER_THAN_OR_EQUAL_TO"
|
|
15
|
+
HAS_ALL_OF = "HAS_ALL_OF"
|
|
16
|
+
HAS_NONE_OF = "HAS_NONE_OF"
|
|
17
|
+
IS_ONE_OF = "IS_ONE_OF"
|
|
18
|
+
LESS_THAN = "LESS_THAN"
|
|
19
|
+
LESS_THAN_OR_EQUAL_TO = "LESS_THAN_OR_EQUAL_TO"
|
|
20
|
+
NOT_EQUALS = "NOT_EQUALS"
|
|
21
|
+
WITHIN = "WITHIN"
|
|
22
|
+
|
|
23
|
+
def visit(
|
|
24
|
+
self,
|
|
25
|
+
contains: typing.Callable[[], T_Result],
|
|
26
|
+
equals: typing.Callable[[], T_Result],
|
|
27
|
+
greater_than: typing.Callable[[], T_Result],
|
|
28
|
+
greater_than_or_equal_to: typing.Callable[[], T_Result],
|
|
29
|
+
has_all_of: typing.Callable[[], T_Result],
|
|
30
|
+
has_none_of: typing.Callable[[], T_Result],
|
|
31
|
+
is_one_of: typing.Callable[[], T_Result],
|
|
32
|
+
less_than: typing.Callable[[], T_Result],
|
|
33
|
+
less_than_or_equal_to: typing.Callable[[], T_Result],
|
|
34
|
+
not_equals: typing.Callable[[], T_Result],
|
|
35
|
+
within: typing.Callable[[], T_Result],
|
|
36
|
+
) -> T_Result:
|
|
37
|
+
if self is OperatorEnum.CONTAINS:
|
|
38
|
+
return contains()
|
|
39
|
+
if self is OperatorEnum.EQUALS:
|
|
40
|
+
return equals()
|
|
41
|
+
if self is OperatorEnum.GREATER_THAN:
|
|
42
|
+
return greater_than()
|
|
43
|
+
if self is OperatorEnum.GREATER_THAN_OR_EQUAL_TO:
|
|
44
|
+
return greater_than_or_equal_to()
|
|
45
|
+
if self is OperatorEnum.HAS_ALL_OF:
|
|
46
|
+
return has_all_of()
|
|
47
|
+
if self is OperatorEnum.HAS_NONE_OF:
|
|
48
|
+
return has_none_of()
|
|
49
|
+
if self is OperatorEnum.IS_ONE_OF:
|
|
50
|
+
return is_one_of()
|
|
51
|
+
if self is OperatorEnum.LESS_THAN:
|
|
52
|
+
return less_than()
|
|
53
|
+
if self is OperatorEnum.LESS_THAN_OR_EQUAL_TO:
|
|
54
|
+
return less_than_or_equal_to()
|
|
55
|
+
if self is OperatorEnum.NOT_EQUALS:
|
|
56
|
+
return not_equals()
|
|
57
|
+
if self is OperatorEnum.WITHIN:
|
|
58
|
+
return within()
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
from .selective_sync_condition_operator import SelectiveSyncConditionOperator
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SelectiveSyncCondition(UncheckedBaseModel):
|
|
12
|
+
id: str = pydantic.Field()
|
|
13
|
+
"""
|
|
14
|
+
The Merge ID of the filter.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
common_model: str = pydantic.Field()
|
|
18
|
+
"""
|
|
19
|
+
The common model the filter applies to.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
normalized_key_name: str = pydantic.Field()
|
|
23
|
+
"""
|
|
24
|
+
The Merge field the filter applies to.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
remote_key_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
28
|
+
"""
|
|
29
|
+
The third-party API's name for the filtered field.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
operator: SelectiveSyncConditionOperator = pydantic.Field()
|
|
33
|
+
"""
|
|
34
|
+
How the value is compared.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
value: typing.Dict[str, typing.Any] = pydantic.Field()
|
|
38
|
+
"""
|
|
39
|
+
The value the field is compared against.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
if IS_PYDANTIC_V2:
|
|
43
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
44
|
+
else:
|
|
45
|
+
|
|
46
|
+
class Config:
|
|
47
|
+
frozen = True
|
|
48
|
+
smart_union = True
|
|
49
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import typing
|
|
4
|
+
|
|
5
|
+
import pydantic
|
|
6
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
7
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
8
|
+
from .selective_sync_condition import SelectiveSyncCondition
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class SelectiveSyncConditionList(UncheckedBaseModel):
|
|
12
|
+
results: typing.List[SelectiveSyncCondition]
|
|
13
|
+
|
|
14
|
+
if IS_PYDANTIC_V2:
|
|
15
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
16
|
+
else:
|
|
17
|
+
|
|
18
|
+
class Config:
|
|
19
|
+
frozen = True
|
|
20
|
+
smart_union = True
|
|
21
|
+
extra = pydantic.Extra.allow
|
|
@@ -29,6 +29,11 @@ class SyncStatus(UncheckedBaseModel):
|
|
|
29
29
|
last_sync_result: typing.Optional[SyncStatusLastSyncResult] = None
|
|
30
30
|
last_sync_finished: typing.Optional[dt.datetime] = None
|
|
31
31
|
data_fresh_as_of: typing.Optional[dt.datetime] = None
|
|
32
|
+
historical_data_since: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
33
|
+
"""
|
|
34
|
+
The earliest point this model has complete historical data for, based on each record's modified date in the third-party platform. Records modified before this time have not been fully synced. A model synced over its full history reaches back to 1900-01-01, unless there's a selective sync filter. Null until the first sync completes.
|
|
35
|
+
"""
|
|
36
|
+
|
|
32
37
|
status: SyncStatusStatus
|
|
33
38
|
sync_status_reason: typing.Optional[SyncStatusSyncStatusReason] = pydantic.Field(default=None)
|
|
34
39
|
"""
|
merge/resources/chat/__init__.py
CHANGED
|
@@ -24,6 +24,9 @@ if typing.TYPE_CHECKING:
|
|
|
24
24
|
AvailableActions,
|
|
25
25
|
CategoriesEnum,
|
|
26
26
|
CategoryEnum,
|
|
27
|
+
ChatSyncSelection,
|
|
28
|
+
ChatSyncSelectionType,
|
|
29
|
+
ChatSyncSelectionTypeEnum,
|
|
27
30
|
CommonModelScopeApi,
|
|
28
31
|
CommonModelScopesBodyRequest,
|
|
29
32
|
CompletedAccountInitialScreenEnum,
|
|
@@ -58,6 +61,8 @@ if typing.TYPE_CHECKING:
|
|
|
58
61
|
Issue,
|
|
59
62
|
IssueStatus,
|
|
60
63
|
IssueStatusEnum,
|
|
64
|
+
LabelSelection,
|
|
65
|
+
LabelSelectionList,
|
|
61
66
|
LanguageEnum,
|
|
62
67
|
LastSyncResultEnum,
|
|
63
68
|
LinkToken,
|
|
@@ -72,8 +77,10 @@ if typing.TYPE_CHECKING:
|
|
|
72
77
|
ModelPermissionDeserializerRequest,
|
|
73
78
|
MultipartFormFieldRequest,
|
|
74
79
|
MultipartFormFieldRequestEncoding,
|
|
80
|
+
OperatorEnum,
|
|
75
81
|
PaginatedAccountDetailsAndActionsList,
|
|
76
82
|
PaginatedAuditLogEventList,
|
|
83
|
+
PaginatedChatSyncSelectionList,
|
|
77
84
|
PaginatedConversationList,
|
|
78
85
|
PaginatedGroupList,
|
|
79
86
|
PaginatedIssueList,
|
|
@@ -94,6 +101,9 @@ if typing.TYPE_CHECKING:
|
|
|
94
101
|
RequestFormatEnum,
|
|
95
102
|
ResponseTypeEnum,
|
|
96
103
|
RoleEnum,
|
|
104
|
+
SelectiveSyncCondition,
|
|
105
|
+
SelectiveSyncConditionList,
|
|
106
|
+
SelectiveSyncConditionOperator,
|
|
97
107
|
SelectiveSyncConfigurationsUsageEnum,
|
|
98
108
|
StatusFd5Enum,
|
|
99
109
|
SyncStatus,
|
|
@@ -136,6 +146,7 @@ if typing.TYPE_CHECKING:
|
|
|
136
146
|
passthrough,
|
|
137
147
|
regenerate_key,
|
|
138
148
|
scopes,
|
|
149
|
+
selective_sync,
|
|
139
150
|
sync_status,
|
|
140
151
|
users,
|
|
141
152
|
webhook_receivers,
|
|
@@ -159,6 +170,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
159
170
|
"AvailableActions": ".types",
|
|
160
171
|
"CategoriesEnum": ".types",
|
|
161
172
|
"CategoryEnum": ".types",
|
|
173
|
+
"ChatSyncSelection": ".types",
|
|
174
|
+
"ChatSyncSelectionType": ".types",
|
|
175
|
+
"ChatSyncSelectionTypeEnum": ".types",
|
|
162
176
|
"CommonModelScopeApi": ".types",
|
|
163
177
|
"CommonModelScopesBodyRequest": ".types",
|
|
164
178
|
"CompletedAccountInitialScreenEnum": ".types",
|
|
@@ -197,6 +211,8 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
197
211
|
"IssueStatus": ".types",
|
|
198
212
|
"IssueStatusEnum": ".types",
|
|
199
213
|
"IssuesListRequestStatus": ".resources",
|
|
214
|
+
"LabelSelection": ".types",
|
|
215
|
+
"LabelSelectionList": ".types",
|
|
200
216
|
"LanguageEnum": ".types",
|
|
201
217
|
"LastSyncResultEnum": ".types",
|
|
202
218
|
"LinkToken": ".types",
|
|
@@ -214,8 +230,10 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
214
230
|
"ModelPermissionDeserializerRequest": ".types",
|
|
215
231
|
"MultipartFormFieldRequest": ".types",
|
|
216
232
|
"MultipartFormFieldRequestEncoding": ".types",
|
|
233
|
+
"OperatorEnum": ".types",
|
|
217
234
|
"PaginatedAccountDetailsAndActionsList": ".types",
|
|
218
235
|
"PaginatedAuditLogEventList": ".types",
|
|
236
|
+
"PaginatedChatSyncSelectionList": ".types",
|
|
219
237
|
"PaginatedConversationList": ".types",
|
|
220
238
|
"PaginatedGroupList": ".types",
|
|
221
239
|
"PaginatedIssueList": ".types",
|
|
@@ -236,6 +254,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
236
254
|
"RequestFormatEnum": ".types",
|
|
237
255
|
"ResponseTypeEnum": ".types",
|
|
238
256
|
"RoleEnum": ".types",
|
|
257
|
+
"SelectiveSyncCondition": ".types",
|
|
258
|
+
"SelectiveSyncConditionList": ".types",
|
|
259
|
+
"SelectiveSyncConditionOperator": ".types",
|
|
239
260
|
"SelectiveSyncConfigurationsUsageEnum": ".types",
|
|
240
261
|
"StatusFd5Enum": ".types",
|
|
241
262
|
"SyncStatus": ".types",
|
|
@@ -268,6 +289,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
268
289
|
"passthrough": ".resources",
|
|
269
290
|
"regenerate_key": ".resources",
|
|
270
291
|
"scopes": ".resources",
|
|
292
|
+
"selective_sync": ".resources",
|
|
271
293
|
"sync_status": ".resources",
|
|
272
294
|
"users": ".resources",
|
|
273
295
|
"webhook_receivers": ".resources",
|
|
@@ -314,6 +336,9 @@ __all__ = [
|
|
|
314
336
|
"AvailableActions",
|
|
315
337
|
"CategoriesEnum",
|
|
316
338
|
"CategoryEnum",
|
|
339
|
+
"ChatSyncSelection",
|
|
340
|
+
"ChatSyncSelectionType",
|
|
341
|
+
"ChatSyncSelectionTypeEnum",
|
|
317
342
|
"CommonModelScopeApi",
|
|
318
343
|
"CommonModelScopesBodyRequest",
|
|
319
344
|
"CompletedAccountInitialScreenEnum",
|
|
@@ -352,6 +377,8 @@ __all__ = [
|
|
|
352
377
|
"IssueStatus",
|
|
353
378
|
"IssueStatusEnum",
|
|
354
379
|
"IssuesListRequestStatus",
|
|
380
|
+
"LabelSelection",
|
|
381
|
+
"LabelSelectionList",
|
|
355
382
|
"LanguageEnum",
|
|
356
383
|
"LastSyncResultEnum",
|
|
357
384
|
"LinkToken",
|
|
@@ -369,8 +396,10 @@ __all__ = [
|
|
|
369
396
|
"ModelPermissionDeserializerRequest",
|
|
370
397
|
"MultipartFormFieldRequest",
|
|
371
398
|
"MultipartFormFieldRequestEncoding",
|
|
399
|
+
"OperatorEnum",
|
|
372
400
|
"PaginatedAccountDetailsAndActionsList",
|
|
373
401
|
"PaginatedAuditLogEventList",
|
|
402
|
+
"PaginatedChatSyncSelectionList",
|
|
374
403
|
"PaginatedConversationList",
|
|
375
404
|
"PaginatedGroupList",
|
|
376
405
|
"PaginatedIssueList",
|
|
@@ -391,6 +420,9 @@ __all__ = [
|
|
|
391
420
|
"RequestFormatEnum",
|
|
392
421
|
"ResponseTypeEnum",
|
|
393
422
|
"RoleEnum",
|
|
423
|
+
"SelectiveSyncCondition",
|
|
424
|
+
"SelectiveSyncConditionList",
|
|
425
|
+
"SelectiveSyncConditionOperator",
|
|
394
426
|
"SelectiveSyncConfigurationsUsageEnum",
|
|
395
427
|
"StatusFd5Enum",
|
|
396
428
|
"SyncStatus",
|
|
@@ -423,6 +455,7 @@ __all__ = [
|
|
|
423
455
|
"passthrough",
|
|
424
456
|
"regenerate_key",
|
|
425
457
|
"scopes",
|
|
458
|
+
"selective_sync",
|
|
426
459
|
"sync_status",
|
|
427
460
|
"users",
|
|
428
461
|
"webhook_receivers",
|
merge/resources/chat/client.py
CHANGED
|
@@ -32,6 +32,7 @@ if typing.TYPE_CHECKING:
|
|
|
32
32
|
from .resources.passthrough.client import PassthroughClient
|
|
33
33
|
from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
|
|
34
34
|
from .resources.scopes.client import AsyncScopesClient, ScopesClient
|
|
35
|
+
from .resources.selective_sync.client import AsyncSelectiveSyncClient, SelectiveSyncClient
|
|
35
36
|
from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
|
|
36
37
|
from .resources.users.client import AsyncUsersClient, UsersClient
|
|
37
38
|
from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
|
|
@@ -60,6 +61,7 @@ class ChatClient:
|
|
|
60
61
|
self._messages: typing.Optional[MessagesClient] = None
|
|
61
62
|
self._passthrough: typing.Optional[PassthroughClient] = None
|
|
62
63
|
self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
|
|
64
|
+
self._selective_sync: typing.Optional[SelectiveSyncClient] = None
|
|
63
65
|
self._sync_status: typing.Optional[SyncStatusClient] = None
|
|
64
66
|
self._force_resync: typing.Optional[ForceResyncClient] = None
|
|
65
67
|
self._users: typing.Optional[UsersClient] = None
|
|
@@ -216,6 +218,14 @@ class ChatClient:
|
|
|
216
218
|
self._regenerate_key = RegenerateKeyClient(client_wrapper=self._client_wrapper)
|
|
217
219
|
return self._regenerate_key
|
|
218
220
|
|
|
221
|
+
@property
|
|
222
|
+
def selective_sync(self):
|
|
223
|
+
if self._selective_sync is None:
|
|
224
|
+
from .resources.selective_sync.client import SelectiveSyncClient # noqa: E402
|
|
225
|
+
|
|
226
|
+
self._selective_sync = SelectiveSyncClient(client_wrapper=self._client_wrapper)
|
|
227
|
+
return self._selective_sync
|
|
228
|
+
|
|
219
229
|
@property
|
|
220
230
|
def sync_status(self):
|
|
221
231
|
if self._sync_status is None:
|
|
@@ -270,6 +280,7 @@ class AsyncChatClient:
|
|
|
270
280
|
self._messages: typing.Optional[AsyncMessagesClient] = None
|
|
271
281
|
self._passthrough: typing.Optional[resources_chat_resources_passthrough_client_AsyncPassthroughClient] = None
|
|
272
282
|
self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
|
|
283
|
+
self._selective_sync: typing.Optional[AsyncSelectiveSyncClient] = None
|
|
273
284
|
self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
|
|
274
285
|
self._force_resync: typing.Optional[AsyncForceResyncClient] = None
|
|
275
286
|
self._users: typing.Optional[AsyncUsersClient] = None
|
|
@@ -426,6 +437,14 @@ class AsyncChatClient:
|
|
|
426
437
|
self._regenerate_key = AsyncRegenerateKeyClient(client_wrapper=self._client_wrapper)
|
|
427
438
|
return self._regenerate_key
|
|
428
439
|
|
|
440
|
+
@property
|
|
441
|
+
def selective_sync(self):
|
|
442
|
+
if self._selective_sync is None:
|
|
443
|
+
from .resources.selective_sync.client import AsyncSelectiveSyncClient # noqa: E402
|
|
444
|
+
|
|
445
|
+
self._selective_sync = AsyncSelectiveSyncClient(client_wrapper=self._client_wrapper)
|
|
446
|
+
return self._selective_sync
|
|
447
|
+
|
|
429
448
|
@property
|
|
430
449
|
def sync_status(self):
|
|
431
450
|
if self._sync_status is None:
|
|
@@ -25,6 +25,7 @@ if typing.TYPE_CHECKING:
|
|
|
25
25
|
passthrough,
|
|
26
26
|
regenerate_key,
|
|
27
27
|
scopes,
|
|
28
|
+
selective_sync,
|
|
28
29
|
sync_status,
|
|
29
30
|
users,
|
|
30
31
|
webhook_receivers,
|
|
@@ -62,6 +63,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
62
63
|
"passthrough": ".passthrough",
|
|
63
64
|
"regenerate_key": ".regenerate_key",
|
|
64
65
|
"scopes": ".scopes",
|
|
66
|
+
"selective_sync": ".selective_sync",
|
|
65
67
|
"sync_status": ".sync_status",
|
|
66
68
|
"users": ".users",
|
|
67
69
|
"webhook_receivers": ".webhook_receivers",
|
|
@@ -116,6 +118,7 @@ __all__ = [
|
|
|
116
118
|
"passthrough",
|
|
117
119
|
"regenerate_key",
|
|
118
120
|
"scopes",
|
|
121
|
+
"selective_sync",
|
|
119
122
|
"sync_status",
|
|
120
123
|
"users",
|
|
121
124
|
"webhook_receivers",
|