mergepythonclient 4.1.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 +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/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/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/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/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/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/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/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/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/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
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/METADATA +2 -1
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/RECORD +133 -45
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/WHEEL +0 -0
|
@@ -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
|
|
@@ -91,6 +91,7 @@ if typing.TYPE_CHECKING:
|
|
|
91
91
|
ModelPermissionDeserializerRequest,
|
|
92
92
|
MultipartFormFieldRequest,
|
|
93
93
|
MultipartFormFieldRequestEncoding,
|
|
94
|
+
OperatorEnum,
|
|
94
95
|
PaginatedAccountDetailsAndActionsList,
|
|
95
96
|
PaginatedAccountList,
|
|
96
97
|
PaginatedAttachmentList,
|
|
@@ -147,6 +148,9 @@ if typing.TYPE_CHECKING:
|
|
|
147
148
|
RoleEnum,
|
|
148
149
|
RoleTicketAccess,
|
|
149
150
|
RoleTicketActionsItem,
|
|
151
|
+
SelectiveSyncCondition,
|
|
152
|
+
SelectiveSyncConditionList,
|
|
153
|
+
SelectiveSyncConditionOperator,
|
|
150
154
|
SelectiveSyncConfigurationsUsageEnum,
|
|
151
155
|
StatusFd5Enum,
|
|
152
156
|
SyncStatus,
|
|
@@ -243,6 +247,7 @@ if typing.TYPE_CHECKING:
|
|
|
243
247
|
regenerate_key,
|
|
244
248
|
roles,
|
|
245
249
|
scopes,
|
|
250
|
+
selective_sync,
|
|
246
251
|
sync_status,
|
|
247
252
|
tags,
|
|
248
253
|
teams,
|
|
@@ -345,6 +350,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
345
350
|
"ModelPermissionDeserializerRequest": ".types",
|
|
346
351
|
"MultipartFormFieldRequest": ".types",
|
|
347
352
|
"MultipartFormFieldRequestEncoding": ".types",
|
|
353
|
+
"OperatorEnum": ".types",
|
|
348
354
|
"PaginatedAccountDetailsAndActionsList": ".types",
|
|
349
355
|
"PaginatedAccountList": ".types",
|
|
350
356
|
"PaginatedAttachmentList": ".types",
|
|
@@ -402,6 +408,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
402
408
|
"RoleEnum": ".types",
|
|
403
409
|
"RoleTicketAccess": ".types",
|
|
404
410
|
"RoleTicketActionsItem": ".types",
|
|
411
|
+
"SelectiveSyncCondition": ".types",
|
|
412
|
+
"SelectiveSyncConditionList": ".types",
|
|
413
|
+
"SelectiveSyncConditionOperator": ".types",
|
|
405
414
|
"SelectiveSyncConfigurationsUsageEnum": ".types",
|
|
406
415
|
"StatusFd5Enum": ".types",
|
|
407
416
|
"SyncStatus": ".types",
|
|
@@ -485,6 +494,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
485
494
|
"regenerate_key": ".resources",
|
|
486
495
|
"roles": ".resources",
|
|
487
496
|
"scopes": ".resources",
|
|
497
|
+
"selective_sync": ".resources",
|
|
488
498
|
"sync_status": ".resources",
|
|
489
499
|
"tags": ".resources",
|
|
490
500
|
"teams": ".resources",
|
|
@@ -610,6 +620,7 @@ __all__ = [
|
|
|
610
620
|
"ModelPermissionDeserializerRequest",
|
|
611
621
|
"MultipartFormFieldRequest",
|
|
612
622
|
"MultipartFormFieldRequestEncoding",
|
|
623
|
+
"OperatorEnum",
|
|
613
624
|
"PaginatedAccountDetailsAndActionsList",
|
|
614
625
|
"PaginatedAccountList",
|
|
615
626
|
"PaginatedAttachmentList",
|
|
@@ -667,6 +678,9 @@ __all__ = [
|
|
|
667
678
|
"RoleEnum",
|
|
668
679
|
"RoleTicketAccess",
|
|
669
680
|
"RoleTicketActionsItem",
|
|
681
|
+
"SelectiveSyncCondition",
|
|
682
|
+
"SelectiveSyncConditionList",
|
|
683
|
+
"SelectiveSyncConditionOperator",
|
|
670
684
|
"SelectiveSyncConfigurationsUsageEnum",
|
|
671
685
|
"StatusFd5Enum",
|
|
672
686
|
"SyncStatus",
|
|
@@ -750,6 +764,7 @@ __all__ = [
|
|
|
750
764
|
"regenerate_key",
|
|
751
765
|
"roles",
|
|
752
766
|
"scopes",
|
|
767
|
+
"selective_sync",
|
|
753
768
|
"sync_status",
|
|
754
769
|
"tags",
|
|
755
770
|
"teams",
|
|
@@ -36,6 +36,7 @@ if typing.TYPE_CHECKING:
|
|
|
36
36
|
from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
|
|
37
37
|
from .resources.roles.client import AsyncRolesClient, RolesClient
|
|
38
38
|
from .resources.scopes.client import AsyncScopesClient, ScopesClient
|
|
39
|
+
from .resources.selective_sync.client import AsyncSelectiveSyncClient, SelectiveSyncClient
|
|
39
40
|
from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
|
|
40
41
|
from .resources.tags.client import AsyncTagsClient, TagsClient
|
|
41
42
|
from .resources.teams.client import AsyncTeamsClient, TeamsClient
|
|
@@ -71,6 +72,7 @@ class TicketingClient:
|
|
|
71
72
|
self._projects: typing.Optional[ProjectsClient] = None
|
|
72
73
|
self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
|
|
73
74
|
self._roles: typing.Optional[RolesClient] = None
|
|
75
|
+
self._selective_sync: typing.Optional[SelectiveSyncClient] = None
|
|
74
76
|
self._sync_status: typing.Optional[SyncStatusClient] = None
|
|
75
77
|
self._force_resync: typing.Optional[ForceResyncClient] = None
|
|
76
78
|
self._tags: typing.Optional[TagsClient] = None
|
|
@@ -262,6 +264,14 @@ class TicketingClient:
|
|
|
262
264
|
self._roles = RolesClient(client_wrapper=self._client_wrapper)
|
|
263
265
|
return self._roles
|
|
264
266
|
|
|
267
|
+
@property
|
|
268
|
+
def selective_sync(self):
|
|
269
|
+
if self._selective_sync is None:
|
|
270
|
+
from .resources.selective_sync.client import SelectiveSyncClient # noqa: E402
|
|
271
|
+
|
|
272
|
+
self._selective_sync = SelectiveSyncClient(client_wrapper=self._client_wrapper)
|
|
273
|
+
return self._selective_sync
|
|
274
|
+
|
|
265
275
|
@property
|
|
266
276
|
def sync_status(self):
|
|
267
277
|
if self._sync_status is None:
|
|
@@ -346,6 +356,7 @@ class AsyncTicketingClient:
|
|
|
346
356
|
self._projects: typing.Optional[AsyncProjectsClient] = None
|
|
347
357
|
self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
|
|
348
358
|
self._roles: typing.Optional[AsyncRolesClient] = None
|
|
359
|
+
self._selective_sync: typing.Optional[AsyncSelectiveSyncClient] = None
|
|
349
360
|
self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
|
|
350
361
|
self._force_resync: typing.Optional[AsyncForceResyncClient] = None
|
|
351
362
|
self._tags: typing.Optional[AsyncTagsClient] = None
|
|
@@ -537,6 +548,14 @@ class AsyncTicketingClient:
|
|
|
537
548
|
self._roles = AsyncRolesClient(client_wrapper=self._client_wrapper)
|
|
538
549
|
return self._roles
|
|
539
550
|
|
|
551
|
+
@property
|
|
552
|
+
def selective_sync(self):
|
|
553
|
+
if self._selective_sync is None:
|
|
554
|
+
from .resources.selective_sync.client import AsyncSelectiveSyncClient # noqa: E402
|
|
555
|
+
|
|
556
|
+
self._selective_sync = AsyncSelectiveSyncClient(client_wrapper=self._client_wrapper)
|
|
557
|
+
return self._selective_sync
|
|
558
|
+
|
|
540
559
|
@property
|
|
541
560
|
def sync_status(self):
|
|
542
561
|
if self._sync_status is None:
|
|
@@ -29,6 +29,7 @@ if typing.TYPE_CHECKING:
|
|
|
29
29
|
regenerate_key,
|
|
30
30
|
roles,
|
|
31
31
|
scopes,
|
|
32
|
+
selective_sync,
|
|
32
33
|
sync_status,
|
|
33
34
|
tags,
|
|
34
35
|
teams,
|
|
@@ -109,6 +110,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
109
110
|
"regenerate_key": ".regenerate_key",
|
|
110
111
|
"roles": ".roles",
|
|
111
112
|
"scopes": ".scopes",
|
|
113
|
+
"selective_sync": ".selective_sync",
|
|
112
114
|
"sync_status": ".sync_status",
|
|
113
115
|
"tags": ".tags",
|
|
114
116
|
"teams": ".teams",
|
|
@@ -186,6 +188,7 @@ __all__ = [
|
|
|
186
188
|
"regenerate_key",
|
|
187
189
|
"roles",
|
|
188
190
|
"scopes",
|
|
191
|
+
"selective_sync",
|
|
189
192
|
"sync_status",
|
|
190
193
|
"tags",
|
|
191
194
|
"teams",
|
|
@@ -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.ticketing.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.ticketing.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
|
+
"ticketing/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
|
+
"ticketing/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)
|
|
@@ -92,6 +92,7 @@ if typing.TYPE_CHECKING:
|
|
|
92
92
|
from .model_permission_deserializer_request import ModelPermissionDeserializerRequest
|
|
93
93
|
from .multipart_form_field_request import MultipartFormFieldRequest
|
|
94
94
|
from .multipart_form_field_request_encoding import MultipartFormFieldRequestEncoding
|
|
95
|
+
from .operator_enum import OperatorEnum
|
|
95
96
|
from .paginated_account_details_and_actions_list import PaginatedAccountDetailsAndActionsList
|
|
96
97
|
from .paginated_account_list import PaginatedAccountList
|
|
97
98
|
from .paginated_attachment_list import PaginatedAttachmentList
|
|
@@ -148,6 +149,9 @@ if typing.TYPE_CHECKING:
|
|
|
148
149
|
from .role_enum import RoleEnum
|
|
149
150
|
from .role_ticket_access import RoleTicketAccess
|
|
150
151
|
from .role_ticket_actions_item import RoleTicketActionsItem
|
|
152
|
+
from .selective_sync_condition import SelectiveSyncCondition
|
|
153
|
+
from .selective_sync_condition_list import SelectiveSyncConditionList
|
|
154
|
+
from .selective_sync_condition_operator import SelectiveSyncConditionOperator
|
|
151
155
|
from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
|
|
152
156
|
from .status_fd_5_enum import StatusFd5Enum
|
|
153
157
|
from .sync_status import SyncStatus
|
|
@@ -281,6 +285,7 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
281
285
|
"ModelPermissionDeserializerRequest": ".model_permission_deserializer_request",
|
|
282
286
|
"MultipartFormFieldRequest": ".multipart_form_field_request",
|
|
283
287
|
"MultipartFormFieldRequestEncoding": ".multipart_form_field_request_encoding",
|
|
288
|
+
"OperatorEnum": ".operator_enum",
|
|
284
289
|
"PaginatedAccountDetailsAndActionsList": ".paginated_account_details_and_actions_list",
|
|
285
290
|
"PaginatedAccountList": ".paginated_account_list",
|
|
286
291
|
"PaginatedAttachmentList": ".paginated_attachment_list",
|
|
@@ -337,6 +342,9 @@ _dynamic_imports: typing.Dict[str, str] = {
|
|
|
337
342
|
"RoleEnum": ".role_enum",
|
|
338
343
|
"RoleTicketAccess": ".role_ticket_access",
|
|
339
344
|
"RoleTicketActionsItem": ".role_ticket_actions_item",
|
|
345
|
+
"SelectiveSyncCondition": ".selective_sync_condition",
|
|
346
|
+
"SelectiveSyncConditionList": ".selective_sync_condition_list",
|
|
347
|
+
"SelectiveSyncConditionOperator": ".selective_sync_condition_operator",
|
|
340
348
|
"SelectiveSyncConfigurationsUsageEnum": ".selective_sync_configurations_usage_enum",
|
|
341
349
|
"StatusFd5Enum": ".status_fd_5_enum",
|
|
342
350
|
"SyncStatus": ".sync_status",
|
|
@@ -494,6 +502,7 @@ __all__ = [
|
|
|
494
502
|
"ModelPermissionDeserializerRequest",
|
|
495
503
|
"MultipartFormFieldRequest",
|
|
496
504
|
"MultipartFormFieldRequestEncoding",
|
|
505
|
+
"OperatorEnum",
|
|
497
506
|
"PaginatedAccountDetailsAndActionsList",
|
|
498
507
|
"PaginatedAccountList",
|
|
499
508
|
"PaginatedAttachmentList",
|
|
@@ -550,6 +559,9 @@ __all__ = [
|
|
|
550
559
|
"RoleEnum",
|
|
551
560
|
"RoleTicketAccess",
|
|
552
561
|
"RoleTicketActionsItem",
|
|
562
|
+
"SelectiveSyncCondition",
|
|
563
|
+
"SelectiveSyncConditionList",
|
|
564
|
+
"SelectiveSyncConditionOperator",
|
|
553
565
|
"SelectiveSyncConfigurationsUsageEnum",
|
|
554
566
|
"StatusFd5Enum",
|
|
555
567
|
"SyncStatus",
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mergepythonclient
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.2.0
|
|
4
4
|
Summary:
|
|
5
5
|
Requires-Python: >=3.10,<4.0
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -281,5 +281,6 @@ while response.next is not None:
|
|
|
281
281
|
|
|
282
282
|
|
|
283
283
|
|
|
284
|
+
|
|
284
285
|
|
|
285
286
|
|