mergepythonclient 4.0.0__py3-none-any.whl → 4.2.0__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 +21 -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 +18 -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 +7 -0
- merge/resources/accounting/types/sync_status_reason_enum.py +20 -0
- merge/resources/accounting/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/ats/__init__.py +21 -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 +18 -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 +7 -0
- merge/resources/ats/types/sync_status_reason_enum.py +20 -0
- merge/resources/ats/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/calendar/__init__.py +21 -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 +18 -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 +7 -0
- merge/resources/calendar/types/sync_status_reason_enum.py +20 -0
- merge/resources/calendar/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/chat/__init__.py +39 -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 +36 -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 +7 -0
- merge/resources/chat/types/sync_status_reason_enum.py +20 -0
- merge/resources/chat/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/crm/__init__.py +21 -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 +18 -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 +7 -0
- merge/resources/crm/types/sync_status_reason_enum.py +20 -0
- merge/resources/crm/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/email/__init__.py +27 -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 +24 -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 +7 -0
- merge/resources/email/types/sync_status_reason_enum.py +20 -0
- merge/resources/email/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/filestorage/__init__.py +39 -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 +36 -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 +7 -0
- merge/resources/filestorage/types/sync_status_reason_enum.py +20 -0
- merge/resources/filestorage/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/hris/__init__.py +21 -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 +18 -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 +7 -0
- merge/resources/hris/types/sync_status_reason_enum.py +20 -0
- merge/resources/hris/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/knowledgebase/__init__.py +33 -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 +30 -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 +7 -0
- merge/resources/knowledgebase/types/sync_status_reason_enum.py +20 -0
- merge/resources/knowledgebase/types/sync_status_sync_status_reason.py +7 -0
- merge/resources/ticketing/__init__.py +21 -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 +18 -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 +7 -0
- merge/resources/ticketing/types/sync_status_reason_enum.py +20 -0
- merge/resources/ticketing/types/sync_status_sync_status_reason.py +7 -0
- {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/METADATA +2 -1
- {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/RECORD +163 -55
- {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,293 @@
|
|
|
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.label_selection_list import LabelSelectionList
|
|
13
|
+
from ...types.paginated_chat_sync_selection_list import PaginatedChatSyncSelectionList
|
|
14
|
+
from ...types.selective_sync_condition_list import SelectiveSyncConditionList
|
|
15
|
+
from pydantic import ValidationError
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RawSelectiveSyncClient:
|
|
19
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
20
|
+
self._client_wrapper = client_wrapper
|
|
21
|
+
|
|
22
|
+
def conditions_list(
|
|
23
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
24
|
+
) -> HttpResponse[SelectiveSyncConditionList]:
|
|
25
|
+
"""
|
|
26
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
27
|
+
|
|
28
|
+
Parameters
|
|
29
|
+
----------
|
|
30
|
+
request_options : typing.Optional[RequestOptions]
|
|
31
|
+
Request-specific configuration.
|
|
32
|
+
|
|
33
|
+
Returns
|
|
34
|
+
-------
|
|
35
|
+
HttpResponse[SelectiveSyncConditionList]
|
|
36
|
+
|
|
37
|
+
"""
|
|
38
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
39
|
+
"chat/v1/selective-sync/conditions",
|
|
40
|
+
method="GET",
|
|
41
|
+
request_options=request_options,
|
|
42
|
+
)
|
|
43
|
+
try:
|
|
44
|
+
if 200 <= _response.status_code < 300:
|
|
45
|
+
_data = typing.cast(
|
|
46
|
+
SelectiveSyncConditionList,
|
|
47
|
+
construct_type(
|
|
48
|
+
type_=SelectiveSyncConditionList, # type: ignore
|
|
49
|
+
object_=_response.json(),
|
|
50
|
+
),
|
|
51
|
+
)
|
|
52
|
+
return HttpResponse(response=_response, data=_data)
|
|
53
|
+
_response_json = _response.json()
|
|
54
|
+
except JSONDecodeError:
|
|
55
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
56
|
+
except ValidationError as e:
|
|
57
|
+
raise ParsingError(
|
|
58
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
59
|
+
)
|
|
60
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
61
|
+
|
|
62
|
+
def labels_list(
|
|
63
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
64
|
+
) -> HttpResponse[LabelSelectionList]:
|
|
65
|
+
"""
|
|
66
|
+
Returns a list of `LabelSelection` objects.
|
|
67
|
+
|
|
68
|
+
Parameters
|
|
69
|
+
----------
|
|
70
|
+
request_options : typing.Optional[RequestOptions]
|
|
71
|
+
Request-specific configuration.
|
|
72
|
+
|
|
73
|
+
Returns
|
|
74
|
+
-------
|
|
75
|
+
HttpResponse[LabelSelectionList]
|
|
76
|
+
|
|
77
|
+
"""
|
|
78
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
79
|
+
"chat/v1/selective-sync/labels",
|
|
80
|
+
method="GET",
|
|
81
|
+
request_options=request_options,
|
|
82
|
+
)
|
|
83
|
+
try:
|
|
84
|
+
if 200 <= _response.status_code < 300:
|
|
85
|
+
_data = typing.cast(
|
|
86
|
+
LabelSelectionList,
|
|
87
|
+
construct_type(
|
|
88
|
+
type_=LabelSelectionList, # type: ignore
|
|
89
|
+
object_=_response.json(),
|
|
90
|
+
),
|
|
91
|
+
)
|
|
92
|
+
return HttpResponse(response=_response, data=_data)
|
|
93
|
+
_response_json = _response.json()
|
|
94
|
+
except JSONDecodeError:
|
|
95
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
96
|
+
except ValidationError as e:
|
|
97
|
+
raise ParsingError(
|
|
98
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
99
|
+
)
|
|
100
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
101
|
+
|
|
102
|
+
def selections_list(
|
|
103
|
+
self,
|
|
104
|
+
*,
|
|
105
|
+
cursor: typing.Optional[str] = None,
|
|
106
|
+
page_size: typing.Optional[int] = None,
|
|
107
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
108
|
+
) -> HttpResponse[PaginatedChatSyncSelectionList]:
|
|
109
|
+
"""
|
|
110
|
+
Returns a list of `ChatSyncSelection` objects.
|
|
111
|
+
|
|
112
|
+
Parameters
|
|
113
|
+
----------
|
|
114
|
+
cursor : typing.Optional[str]
|
|
115
|
+
The pagination cursor value.
|
|
116
|
+
|
|
117
|
+
page_size : typing.Optional[int]
|
|
118
|
+
Number of results to return per page. The maximum limit is 100.
|
|
119
|
+
|
|
120
|
+
request_options : typing.Optional[RequestOptions]
|
|
121
|
+
Request-specific configuration.
|
|
122
|
+
|
|
123
|
+
Returns
|
|
124
|
+
-------
|
|
125
|
+
HttpResponse[PaginatedChatSyncSelectionList]
|
|
126
|
+
|
|
127
|
+
"""
|
|
128
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
129
|
+
"chat/v1/selective-sync/selections",
|
|
130
|
+
method="GET",
|
|
131
|
+
params={
|
|
132
|
+
"cursor": cursor,
|
|
133
|
+
"page_size": page_size,
|
|
134
|
+
},
|
|
135
|
+
request_options=request_options,
|
|
136
|
+
)
|
|
137
|
+
try:
|
|
138
|
+
if 200 <= _response.status_code < 300:
|
|
139
|
+
_data = typing.cast(
|
|
140
|
+
PaginatedChatSyncSelectionList,
|
|
141
|
+
construct_type(
|
|
142
|
+
type_=PaginatedChatSyncSelectionList, # type: ignore
|
|
143
|
+
object_=_response.json(),
|
|
144
|
+
),
|
|
145
|
+
)
|
|
146
|
+
return HttpResponse(response=_response, data=_data)
|
|
147
|
+
_response_json = _response.json()
|
|
148
|
+
except JSONDecodeError:
|
|
149
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
150
|
+
except ValidationError as e:
|
|
151
|
+
raise ParsingError(
|
|
152
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
153
|
+
)
|
|
154
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class AsyncRawSelectiveSyncClient:
|
|
158
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
159
|
+
self._client_wrapper = client_wrapper
|
|
160
|
+
|
|
161
|
+
async def conditions_list(
|
|
162
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
163
|
+
) -> AsyncHttpResponse[SelectiveSyncConditionList]:
|
|
164
|
+
"""
|
|
165
|
+
Returns a list of `SelectiveSyncCondition` objects.
|
|
166
|
+
|
|
167
|
+
Parameters
|
|
168
|
+
----------
|
|
169
|
+
request_options : typing.Optional[RequestOptions]
|
|
170
|
+
Request-specific configuration.
|
|
171
|
+
|
|
172
|
+
Returns
|
|
173
|
+
-------
|
|
174
|
+
AsyncHttpResponse[SelectiveSyncConditionList]
|
|
175
|
+
|
|
176
|
+
"""
|
|
177
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
178
|
+
"chat/v1/selective-sync/conditions",
|
|
179
|
+
method="GET",
|
|
180
|
+
request_options=request_options,
|
|
181
|
+
)
|
|
182
|
+
try:
|
|
183
|
+
if 200 <= _response.status_code < 300:
|
|
184
|
+
_data = typing.cast(
|
|
185
|
+
SelectiveSyncConditionList,
|
|
186
|
+
construct_type(
|
|
187
|
+
type_=SelectiveSyncConditionList, # type: ignore
|
|
188
|
+
object_=_response.json(),
|
|
189
|
+
),
|
|
190
|
+
)
|
|
191
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
192
|
+
_response_json = _response.json()
|
|
193
|
+
except JSONDecodeError:
|
|
194
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
195
|
+
except ValidationError as e:
|
|
196
|
+
raise ParsingError(
|
|
197
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
198
|
+
)
|
|
199
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
200
|
+
|
|
201
|
+
async def labels_list(
|
|
202
|
+
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
203
|
+
) -> AsyncHttpResponse[LabelSelectionList]:
|
|
204
|
+
"""
|
|
205
|
+
Returns a list of `LabelSelection` objects.
|
|
206
|
+
|
|
207
|
+
Parameters
|
|
208
|
+
----------
|
|
209
|
+
request_options : typing.Optional[RequestOptions]
|
|
210
|
+
Request-specific configuration.
|
|
211
|
+
|
|
212
|
+
Returns
|
|
213
|
+
-------
|
|
214
|
+
AsyncHttpResponse[LabelSelectionList]
|
|
215
|
+
|
|
216
|
+
"""
|
|
217
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
218
|
+
"chat/v1/selective-sync/labels",
|
|
219
|
+
method="GET",
|
|
220
|
+
request_options=request_options,
|
|
221
|
+
)
|
|
222
|
+
try:
|
|
223
|
+
if 200 <= _response.status_code < 300:
|
|
224
|
+
_data = typing.cast(
|
|
225
|
+
LabelSelectionList,
|
|
226
|
+
construct_type(
|
|
227
|
+
type_=LabelSelectionList, # type: ignore
|
|
228
|
+
object_=_response.json(),
|
|
229
|
+
),
|
|
230
|
+
)
|
|
231
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
232
|
+
_response_json = _response.json()
|
|
233
|
+
except JSONDecodeError:
|
|
234
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
235
|
+
except ValidationError as e:
|
|
236
|
+
raise ParsingError(
|
|
237
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
238
|
+
)
|
|
239
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
240
|
+
|
|
241
|
+
async def selections_list(
|
|
242
|
+
self,
|
|
243
|
+
*,
|
|
244
|
+
cursor: typing.Optional[str] = None,
|
|
245
|
+
page_size: typing.Optional[int] = None,
|
|
246
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
247
|
+
) -> AsyncHttpResponse[PaginatedChatSyncSelectionList]:
|
|
248
|
+
"""
|
|
249
|
+
Returns a list of `ChatSyncSelection` objects.
|
|
250
|
+
|
|
251
|
+
Parameters
|
|
252
|
+
----------
|
|
253
|
+
cursor : typing.Optional[str]
|
|
254
|
+
The pagination cursor value.
|
|
255
|
+
|
|
256
|
+
page_size : typing.Optional[int]
|
|
257
|
+
Number of results to return per page. The maximum limit is 100.
|
|
258
|
+
|
|
259
|
+
request_options : typing.Optional[RequestOptions]
|
|
260
|
+
Request-specific configuration.
|
|
261
|
+
|
|
262
|
+
Returns
|
|
263
|
+
-------
|
|
264
|
+
AsyncHttpResponse[PaginatedChatSyncSelectionList]
|
|
265
|
+
|
|
266
|
+
"""
|
|
267
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
268
|
+
"chat/v1/selective-sync/selections",
|
|
269
|
+
method="GET",
|
|
270
|
+
params={
|
|
271
|
+
"cursor": cursor,
|
|
272
|
+
"page_size": page_size,
|
|
273
|
+
},
|
|
274
|
+
request_options=request_options,
|
|
275
|
+
)
|
|
276
|
+
try:
|
|
277
|
+
if 200 <= _response.status_code < 300:
|
|
278
|
+
_data = typing.cast(
|
|
279
|
+
PaginatedChatSyncSelectionList,
|
|
280
|
+
construct_type(
|
|
281
|
+
type_=PaginatedChatSyncSelectionList, # type: ignore
|
|
282
|
+
object_=_response.json(),
|
|
283
|
+
),
|
|
284
|
+
)
|
|
285
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
286
|
+
_response_json = _response.json()
|
|
287
|
+
except JSONDecodeError:
|
|
288
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
289
|
+
except ValidationError as e:
|
|
290
|
+
raise ParsingError(
|
|
291
|
+
status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
|
|
292
|
+
)
|
|
293
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
@@ -23,6 +23,9 @@ if typing.TYPE_CHECKING:
|
|
|
23
23
|
from .available_actions import AvailableActions
|
|
24
24
|
from .categories_enum import CategoriesEnum
|
|
25
25
|
from .category_enum import CategoryEnum
|
|
26
|
+
from .chat_sync_selection import ChatSyncSelection
|
|
27
|
+
from .chat_sync_selection_type import ChatSyncSelectionType
|
|
28
|
+
from .chat_sync_selection_type_enum import ChatSyncSelectionTypeEnum
|
|
26
29
|
from .common_model_scope_api import CommonModelScopeApi
|
|
27
30
|
from .common_model_scopes_body_request import CommonModelScopesBodyRequest
|
|
28
31
|
from .completed_account_initial_screen_enum import CompletedAccountInitialScreenEnum
|
|
@@ -59,6 +62,8 @@ if typing.TYPE_CHECKING:
|
|
|
59
62
|
from .issue import Issue
|
|
60
63
|
from .issue_status import IssueStatus
|
|
61
64
|
from .issue_status_enum import IssueStatusEnum
|
|
65
|
+
from .label_selection import LabelSelection
|
|
66
|
+
from .label_selection_list import LabelSelectionList
|
|
62
67
|
from .language_enum import LanguageEnum
|
|
63
68
|
from .last_sync_result_enum import LastSyncResultEnum
|
|
64
69
|
from .link_token import LinkToken
|
|
@@ -73,8 +78,10 @@ if typing.TYPE_CHECKING:
|
|
|
73
78
|
from .model_permission_deserializer_request import ModelPermissionDeserializerRequest
|
|
74
79
|
from .multipart_form_field_request import MultipartFormFieldRequest
|
|
75
80
|
from .multipart_form_field_request_encoding import MultipartFormFieldRequestEncoding
|
|
81
|
+
from .operator_enum import OperatorEnum
|
|
76
82
|
from .paginated_account_details_and_actions_list import PaginatedAccountDetailsAndActionsList
|
|
77
83
|
from .paginated_audit_log_event_list import PaginatedAuditLogEventList
|
|
84
|
+
from .paginated_chat_sync_selection_list import PaginatedChatSyncSelectionList
|
|
78
85
|
from .paginated_conversation_list import PaginatedConversationList
|
|
79
86
|
from .paginated_group_list import PaginatedGroupList
|
|
80
87
|
from .paginated_issue_list import PaginatedIssueList
|
|
@@ -95,11 +102,16 @@ if typing.TYPE_CHECKING:
|
|
|
95
102
|
from .request_format_enum import RequestFormatEnum
|
|
96
103
|
from .response_type_enum import ResponseTypeEnum
|
|
97
104
|
from .role_enum import RoleEnum
|
|
105
|
+
from .selective_sync_condition import SelectiveSyncCondition
|
|
106
|
+
from .selective_sync_condition_list import SelectiveSyncConditionList
|
|
107
|
+
from .selective_sync_condition_operator import SelectiveSyncConditionOperator
|
|
98
108
|
from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
|
|
99
109
|
from .status_fd_5_enum import StatusFd5Enum
|
|
100
110
|
from .sync_status import SyncStatus
|
|
101
111
|
from .sync_status_last_sync_result import SyncStatusLastSyncResult
|
|
112
|
+
from .sync_status_reason_enum import SyncStatusReasonEnum
|
|
102
113
|
from .sync_status_status import SyncStatusStatus
|
|
114
|
+
from .sync_status_sync_status_reason import SyncStatusSyncStatusReason
|
|
103
115
|
from .type_enum import TypeEnum
|
|
104
116
|
from .user import User
|
|
105
117
|
from .user_field_mappings import UserFieldMappings
|
|
@@ -125,6 +137,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
125
137
|
"AvailableActions": ".available_actions",
|
|
126
138
|
"CategoriesEnum": ".categories_enum",
|
|
127
139
|
"CategoryEnum": ".category_enum",
|
|
140
|
+
"ChatSyncSelection": ".chat_sync_selection",
|
|
141
|
+
"ChatSyncSelectionType": ".chat_sync_selection_type",
|
|
142
|
+
"ChatSyncSelectionTypeEnum": ".chat_sync_selection_type_enum",
|
|
128
143
|
"CommonModelScopeApi": ".common_model_scope_api",
|
|
129
144
|
"CommonModelScopesBodyRequest": ".common_model_scopes_body_request",
|
|
130
145
|
"CompletedAccountInitialScreenEnum": ".completed_account_initial_screen_enum",
|
|
@@ -159,6 +174,8 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
159
174
|
"Issue": ".issue",
|
|
160
175
|
"IssueStatus": ".issue_status",
|
|
161
176
|
"IssueStatusEnum": ".issue_status_enum",
|
|
177
|
+
"LabelSelection": ".label_selection",
|
|
178
|
+
"LabelSelectionList": ".label_selection_list",
|
|
162
179
|
"LanguageEnum": ".language_enum",
|
|
163
180
|
"LastSyncResultEnum": ".last_sync_result_enum",
|
|
164
181
|
"LinkToken": ".link_token",
|
|
@@ -173,8 +190,10 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
173
190
|
"ModelPermissionDeserializerRequest": ".model_permission_deserializer_request",
|
|
174
191
|
"MultipartFormFieldRequest": ".multipart_form_field_request",
|
|
175
192
|
"MultipartFormFieldRequestEncoding": ".multipart_form_field_request_encoding",
|
|
193
|
+
"OperatorEnum": ".operator_enum",
|
|
176
194
|
"PaginatedAccountDetailsAndActionsList": ".paginated_account_details_and_actions_list",
|
|
177
195
|
"PaginatedAuditLogEventList": ".paginated_audit_log_event_list",
|
|
196
|
+
"PaginatedChatSyncSelectionList": ".paginated_chat_sync_selection_list",
|
|
178
197
|
"PaginatedConversationList": ".paginated_conversation_list",
|
|
179
198
|
"PaginatedGroupList": ".paginated_group_list",
|
|
180
199
|
"PaginatedIssueList": ".paginated_issue_list",
|
|
@@ -195,11 +214,16 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
195
214
|
"RequestFormatEnum": ".request_format_enum",
|
|
196
215
|
"ResponseTypeEnum": ".response_type_enum",
|
|
197
216
|
"RoleEnum": ".role_enum",
|
|
217
|
+
"SelectiveSyncCondition": ".selective_sync_condition",
|
|
218
|
+
"SelectiveSyncConditionList": ".selective_sync_condition_list",
|
|
219
|
+
"SelectiveSyncConditionOperator": ".selective_sync_condition_operator",
|
|
198
220
|
"SelectiveSyncConfigurationsUsageEnum": ".selective_sync_configurations_usage_enum",
|
|
199
221
|
"StatusFd5Enum": ".status_fd_5_enum",
|
|
200
222
|
"SyncStatus": ".sync_status",
|
|
201
223
|
"SyncStatusLastSyncResult": ".sync_status_last_sync_result",
|
|
224
|
+
"SyncStatusReasonEnum": ".sync_status_reason_enum",
|
|
202
225
|
"SyncStatusStatus": ".sync_status_status",
|
|
226
|
+
"SyncStatusSyncStatusReason": ".sync_status_sync_status_reason",
|
|
203
227
|
"TypeEnum": ".type_enum",
|
|
204
228
|
"User": ".user",
|
|
205
229
|
"UserFieldMappings": ".user_field_mappings",
|
|
@@ -249,6 +273,9 @@ __all__ = [
|
|
|
249
273
|
"AvailableActions",
|
|
250
274
|
"CategoriesEnum",
|
|
251
275
|
"CategoryEnum",
|
|
276
|
+
"ChatSyncSelection",
|
|
277
|
+
"ChatSyncSelectionType",
|
|
278
|
+
"ChatSyncSelectionTypeEnum",
|
|
252
279
|
"CommonModelScopeApi",
|
|
253
280
|
"CommonModelScopesBodyRequest",
|
|
254
281
|
"CompletedAccountInitialScreenEnum",
|
|
@@ -283,6 +310,8 @@ __all__ = [
|
|
|
283
310
|
"Issue",
|
|
284
311
|
"IssueStatus",
|
|
285
312
|
"IssueStatusEnum",
|
|
313
|
+
"LabelSelection",
|
|
314
|
+
"LabelSelectionList",
|
|
286
315
|
"LanguageEnum",
|
|
287
316
|
"LastSyncResultEnum",
|
|
288
317
|
"LinkToken",
|
|
@@ -297,8 +326,10 @@ __all__ = [
|
|
|
297
326
|
"ModelPermissionDeserializerRequest",
|
|
298
327
|
"MultipartFormFieldRequest",
|
|
299
328
|
"MultipartFormFieldRequestEncoding",
|
|
329
|
+
"OperatorEnum",
|
|
300
330
|
"PaginatedAccountDetailsAndActionsList",
|
|
301
331
|
"PaginatedAuditLogEventList",
|
|
332
|
+
"PaginatedChatSyncSelectionList",
|
|
302
333
|
"PaginatedConversationList",
|
|
303
334
|
"PaginatedGroupList",
|
|
304
335
|
"PaginatedIssueList",
|
|
@@ -319,11 +350,16 @@ __all__ = [
|
|
|
319
350
|
"RequestFormatEnum",
|
|
320
351
|
"ResponseTypeEnum",
|
|
321
352
|
"RoleEnum",
|
|
353
|
+
"SelectiveSyncCondition",
|
|
354
|
+
"SelectiveSyncConditionList",
|
|
355
|
+
"SelectiveSyncConditionOperator",
|
|
322
356
|
"SelectiveSyncConfigurationsUsageEnum",
|
|
323
357
|
"StatusFd5Enum",
|
|
324
358
|
"SyncStatus",
|
|
325
359
|
"SyncStatusLastSyncResult",
|
|
360
|
+
"SyncStatusReasonEnum",
|
|
326
361
|
"SyncStatusStatus",
|
|
362
|
+
"SyncStatusSyncStatusReason",
|
|
327
363
|
"TypeEnum",
|
|
328
364
|
"User",
|
|
329
365
|
"UserFieldMappings",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
import pydantic
|
|
7
|
+
from ....core.pydantic_utilities import IS_PYDANTIC_V2
|
|
8
|
+
from ....core.unchecked_base_model import UncheckedBaseModel
|
|
9
|
+
from .chat_sync_selection_type import ChatSyncSelectionType
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ChatSyncSelection(UncheckedBaseModel):
|
|
13
|
+
id: typing.Optional[str] = pydantic.Field(default=None)
|
|
14
|
+
"""
|
|
15
|
+
The Merge ID of the selected object.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
remote_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
19
|
+
"""
|
|
20
|
+
The third-party API ID of the selected object.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
24
|
+
"""
|
|
25
|
+
The name of the selected object.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
type: ChatSyncSelectionType = pydantic.Field()
|
|
29
|
+
"""
|
|
30
|
+
The type of the selected object.
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
url: typing.Optional[str] = pydantic.Field(default=None)
|
|
34
|
+
"""
|
|
35
|
+
A link to the selected object in the third party.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
|
|
39
|
+
"""
|
|
40
|
+
When the selection was made.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
if IS_PYDANTIC_V2:
|
|
44
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
45
|
+
else:
|
|
46
|
+
|
|
47
|
+
class Config:
|
|
48
|
+
frozen = True
|
|
49
|
+
smart_union = True
|
|
50
|
+
extra = pydantic.Extra.allow
|
|
@@ -0,0 +1,18 @@
|
|
|
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 ChatSyncSelectionTypeEnum(enum.StrEnum):
|
|
11
|
+
CHAT_GROUP = "CHAT_GROUP"
|
|
12
|
+
CONVERSATION = "CONVERSATION"
|
|
13
|
+
|
|
14
|
+
def visit(self, chat_group: typing.Callable[[], T_Result], conversation: typing.Callable[[], T_Result]) -> T_Result:
|
|
15
|
+
if self is ChatSyncSelectionTypeEnum.CHAT_GROUP:
|
|
16
|
+
return chat_group()
|
|
17
|
+
if self is ChatSyncSelectionTypeEnum.CONVERSATION:
|
|
18
|
+
return conversation()
|
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
|
|
9
|
+
|
|
10
|
+
class LabelSelection(UncheckedBaseModel):
|
|
11
|
+
remote_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
12
|
+
"""
|
|
13
|
+
The label's ID in the third-party system.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
name: typing.Optional[str] = pydantic.Field(default=None)
|
|
17
|
+
"""
|
|
18
|
+
The label's name.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
label_type: typing.Optional[str] = pydantic.Field(default=None)
|
|
22
|
+
"""
|
|
23
|
+
The label's type.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
parent_remote_id: typing.Optional[str] = pydantic.Field(default=None)
|
|
27
|
+
"""
|
|
28
|
+
The parent label's ID in the third-party system. Null for top-level labels.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
parent_name: typing.Optional[str] = pydantic.Field(default=None)
|
|
32
|
+
"""
|
|
33
|
+
The parent label's name. Null for top-level labels.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
if IS_PYDANTIC_V2:
|
|
37
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
38
|
+
else:
|
|
39
|
+
|
|
40
|
+
class Config:
|
|
41
|
+
frozen = True
|
|
42
|
+
smart_union = True
|
|
43
|
+
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 .label_selection import LabelSelection
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class LabelSelectionList(UncheckedBaseModel):
|
|
12
|
+
results: typing.List[LabelSelection]
|
|
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
|
|
@@ -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,23 @@
|
|
|
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 .chat_sync_selection import ChatSyncSelection
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PaginatedChatSyncSelectionList(UncheckedBaseModel):
|
|
12
|
+
next: typing.Optional[str] = None
|
|
13
|
+
previous: typing.Optional[str] = None
|
|
14
|
+
results: typing.Optional[typing.List[ChatSyncSelection]] = None
|
|
15
|
+
|
|
16
|
+
if IS_PYDANTIC_V2:
|
|
17
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
|
18
|
+
else:
|
|
19
|
+
|
|
20
|
+
class Config:
|
|
21
|
+
frozen = True
|
|
22
|
+
smart_union = True
|
|
23
|
+
extra = pydantic.Extra.allow
|