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.
Files changed (163) hide show
  1. merge/core/client_wrapper.py +2 -2
  2. merge/resources/accounting/__init__.py +21 -0
  3. merge/resources/accounting/client.py +19 -0
  4. merge/resources/accounting/resources/__init__.py +3 -0
  5. merge/resources/accounting/resources/selective_sync/__init__.py +4 -0
  6. merge/resources/accounting/resources/selective_sync/client.py +104 -0
  7. merge/resources/accounting/resources/selective_sync/raw_client.py +103 -0
  8. merge/resources/accounting/types/__init__.py +18 -0
  9. merge/resources/accounting/types/operator_enum.py +58 -0
  10. merge/resources/accounting/types/selective_sync_condition.py +49 -0
  11. merge/resources/accounting/types/selective_sync_condition_list.py +21 -0
  12. merge/resources/accounting/types/selective_sync_condition_operator.py +7 -0
  13. merge/resources/accounting/types/sync_status.py +7 -0
  14. merge/resources/accounting/types/sync_status_reason_enum.py +20 -0
  15. merge/resources/accounting/types/sync_status_sync_status_reason.py +7 -0
  16. merge/resources/ats/__init__.py +21 -0
  17. merge/resources/ats/client.py +19 -0
  18. merge/resources/ats/resources/__init__.py +3 -0
  19. merge/resources/ats/resources/selective_sync/__init__.py +4 -0
  20. merge/resources/ats/resources/selective_sync/client.py +104 -0
  21. merge/resources/ats/resources/selective_sync/raw_client.py +103 -0
  22. merge/resources/ats/types/__init__.py +18 -0
  23. merge/resources/ats/types/operator_enum.py +58 -0
  24. merge/resources/ats/types/selective_sync_condition.py +49 -0
  25. merge/resources/ats/types/selective_sync_condition_list.py +21 -0
  26. merge/resources/ats/types/selective_sync_condition_operator.py +7 -0
  27. merge/resources/ats/types/sync_status.py +7 -0
  28. merge/resources/ats/types/sync_status_reason_enum.py +20 -0
  29. merge/resources/ats/types/sync_status_sync_status_reason.py +7 -0
  30. merge/resources/calendar/__init__.py +21 -0
  31. merge/resources/calendar/client.py +19 -0
  32. merge/resources/calendar/resources/__init__.py +3 -0
  33. merge/resources/calendar/resources/selective_sync/__init__.py +4 -0
  34. merge/resources/calendar/resources/selective_sync/client.py +104 -0
  35. merge/resources/calendar/resources/selective_sync/raw_client.py +103 -0
  36. merge/resources/calendar/types/__init__.py +18 -0
  37. merge/resources/calendar/types/operator_enum.py +58 -0
  38. merge/resources/calendar/types/selective_sync_condition.py +49 -0
  39. merge/resources/calendar/types/selective_sync_condition_list.py +21 -0
  40. merge/resources/calendar/types/selective_sync_condition_operator.py +7 -0
  41. merge/resources/calendar/types/sync_status.py +7 -0
  42. merge/resources/calendar/types/sync_status_reason_enum.py +20 -0
  43. merge/resources/calendar/types/sync_status_sync_status_reason.py +7 -0
  44. merge/resources/chat/__init__.py +39 -0
  45. merge/resources/chat/client.py +19 -0
  46. merge/resources/chat/resources/__init__.py +3 -0
  47. merge/resources/chat/resources/selective_sync/__init__.py +4 -0
  48. merge/resources/chat/resources/selective_sync/client.py +264 -0
  49. merge/resources/chat/resources/selective_sync/raw_client.py +293 -0
  50. merge/resources/chat/types/__init__.py +36 -0
  51. merge/resources/chat/types/chat_sync_selection.py +50 -0
  52. merge/resources/chat/types/chat_sync_selection_type.py +7 -0
  53. merge/resources/chat/types/chat_sync_selection_type_enum.py +18 -0
  54. merge/resources/chat/types/label_selection.py +43 -0
  55. merge/resources/chat/types/label_selection_list.py +21 -0
  56. merge/resources/chat/types/operator_enum.py +58 -0
  57. merge/resources/chat/types/paginated_chat_sync_selection_list.py +23 -0
  58. merge/resources/chat/types/selective_sync_condition.py +49 -0
  59. merge/resources/chat/types/selective_sync_condition_list.py +21 -0
  60. merge/resources/chat/types/selective_sync_condition_operator.py +7 -0
  61. merge/resources/chat/types/sync_status.py +7 -0
  62. merge/resources/chat/types/sync_status_reason_enum.py +20 -0
  63. merge/resources/chat/types/sync_status_sync_status_reason.py +7 -0
  64. merge/resources/crm/__init__.py +21 -0
  65. merge/resources/crm/client.py +19 -0
  66. merge/resources/crm/resources/__init__.py +3 -0
  67. merge/resources/crm/resources/selective_sync/__init__.py +4 -0
  68. merge/resources/crm/resources/selective_sync/client.py +104 -0
  69. merge/resources/crm/resources/selective_sync/raw_client.py +103 -0
  70. merge/resources/crm/types/__init__.py +18 -0
  71. merge/resources/crm/types/operator_enum.py +58 -0
  72. merge/resources/crm/types/selective_sync_condition.py +49 -0
  73. merge/resources/crm/types/selective_sync_condition_list.py +21 -0
  74. merge/resources/crm/types/selective_sync_condition_operator.py +7 -0
  75. merge/resources/crm/types/sync_status.py +7 -0
  76. merge/resources/crm/types/sync_status_reason_enum.py +20 -0
  77. merge/resources/crm/types/sync_status_sync_status_reason.py +7 -0
  78. merge/resources/email/__init__.py +27 -0
  79. merge/resources/email/client.py +19 -0
  80. merge/resources/email/resources/__init__.py +3 -0
  81. merge/resources/email/resources/selective_sync/__init__.py +4 -0
  82. merge/resources/email/resources/selective_sync/client.py +167 -0
  83. merge/resources/email/resources/selective_sync/raw_client.py +184 -0
  84. merge/resources/email/types/__init__.py +24 -0
  85. merge/resources/email/types/label_selection.py +43 -0
  86. merge/resources/email/types/label_selection_list.py +21 -0
  87. merge/resources/email/types/operator_enum.py +58 -0
  88. merge/resources/email/types/selective_sync_condition.py +49 -0
  89. merge/resources/email/types/selective_sync_condition_list.py +21 -0
  90. merge/resources/email/types/selective_sync_condition_operator.py +7 -0
  91. merge/resources/email/types/sync_status.py +7 -0
  92. merge/resources/email/types/sync_status_reason_enum.py +20 -0
  93. merge/resources/email/types/sync_status_sync_status_reason.py +7 -0
  94. merge/resources/filestorage/__init__.py +39 -0
  95. merge/resources/filestorage/client.py +19 -0
  96. merge/resources/filestorage/resources/__init__.py +3 -0
  97. merge/resources/filestorage/resources/selective_sync/__init__.py +4 -0
  98. merge/resources/filestorage/resources/selective_sync/client.py +264 -0
  99. merge/resources/filestorage/resources/selective_sync/raw_client.py +293 -0
  100. merge/resources/filestorage/types/__init__.py +36 -0
  101. merge/resources/filestorage/types/file_storage_sync_selection.py +50 -0
  102. merge/resources/filestorage/types/file_storage_sync_selection_type.py +7 -0
  103. merge/resources/filestorage/types/file_storage_sync_selection_type_enum.py +26 -0
  104. merge/resources/filestorage/types/label_selection.py +43 -0
  105. merge/resources/filestorage/types/label_selection_list.py +21 -0
  106. merge/resources/filestorage/types/operator_enum.py +58 -0
  107. merge/resources/filestorage/types/paginated_file_storage_sync_selection_list.py +23 -0
  108. merge/resources/filestorage/types/selective_sync_condition.py +49 -0
  109. merge/resources/filestorage/types/selective_sync_condition_list.py +21 -0
  110. merge/resources/filestorage/types/selective_sync_condition_operator.py +7 -0
  111. merge/resources/filestorage/types/sync_status.py +7 -0
  112. merge/resources/filestorage/types/sync_status_reason_enum.py +20 -0
  113. merge/resources/filestorage/types/sync_status_sync_status_reason.py +7 -0
  114. merge/resources/hris/__init__.py +21 -0
  115. merge/resources/hris/client.py +19 -0
  116. merge/resources/hris/resources/__init__.py +3 -0
  117. merge/resources/hris/resources/selective_sync/__init__.py +4 -0
  118. merge/resources/hris/resources/selective_sync/client.py +104 -0
  119. merge/resources/hris/resources/selective_sync/raw_client.py +103 -0
  120. merge/resources/hris/types/__init__.py +18 -0
  121. merge/resources/hris/types/operator_enum.py +58 -0
  122. merge/resources/hris/types/selective_sync_condition.py +49 -0
  123. merge/resources/hris/types/selective_sync_condition_list.py +21 -0
  124. merge/resources/hris/types/selective_sync_condition_operator.py +7 -0
  125. merge/resources/hris/types/sync_status.py +7 -0
  126. merge/resources/hris/types/sync_status_reason_enum.py +20 -0
  127. merge/resources/hris/types/sync_status_sync_status_reason.py +7 -0
  128. merge/resources/knowledgebase/__init__.py +33 -0
  129. merge/resources/knowledgebase/client.py +19 -0
  130. merge/resources/knowledgebase/resources/__init__.py +3 -0
  131. merge/resources/knowledgebase/resources/selective_sync/__init__.py +4 -0
  132. merge/resources/knowledgebase/resources/selective_sync/client.py +201 -0
  133. merge/resources/knowledgebase/resources/selective_sync/raw_client.py +212 -0
  134. merge/resources/knowledgebase/types/__init__.py +30 -0
  135. merge/resources/knowledgebase/types/knowledge_base_sync_selection.py +50 -0
  136. merge/resources/knowledgebase/types/knowledge_base_sync_selection_type.py +7 -0
  137. merge/resources/knowledgebase/types/knowledge_base_sync_selection_type_enum.py +18 -0
  138. merge/resources/knowledgebase/types/operator_enum.py +58 -0
  139. merge/resources/knowledgebase/types/paginated_knowledge_base_sync_selection_list.py +23 -0
  140. merge/resources/knowledgebase/types/selective_sync_condition.py +49 -0
  141. merge/resources/knowledgebase/types/selective_sync_condition_list.py +21 -0
  142. merge/resources/knowledgebase/types/selective_sync_condition_operator.py +7 -0
  143. merge/resources/knowledgebase/types/sync_status.py +7 -0
  144. merge/resources/knowledgebase/types/sync_status_reason_enum.py +20 -0
  145. merge/resources/knowledgebase/types/sync_status_sync_status_reason.py +7 -0
  146. merge/resources/ticketing/__init__.py +21 -0
  147. merge/resources/ticketing/client.py +19 -0
  148. merge/resources/ticketing/resources/__init__.py +3 -0
  149. merge/resources/ticketing/resources/selective_sync/__init__.py +4 -0
  150. merge/resources/ticketing/resources/selective_sync/client.py +104 -0
  151. merge/resources/ticketing/resources/selective_sync/raw_client.py +103 -0
  152. merge/resources/ticketing/types/__init__.py +18 -0
  153. merge/resources/ticketing/types/operator_enum.py +58 -0
  154. merge/resources/ticketing/types/selective_sync_condition.py +49 -0
  155. merge/resources/ticketing/types/selective_sync_condition_list.py +21 -0
  156. merge/resources/ticketing/types/selective_sync_condition_operator.py +7 -0
  157. merge/resources/ticketing/types/sync_status.py +7 -0
  158. merge/resources/ticketing/types/sync_status_reason_enum.py +20 -0
  159. merge/resources/ticketing/types/sync_status_sync_status_reason.py +7 -0
  160. {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/METADATA +2 -1
  161. {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/RECORD +163 -55
  162. {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/LICENSE.md +0 -0
  163. {mergepythonclient-4.0.0.dist-info → mergepythonclient-4.2.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .sync_status_reason_enum import SyncStatusReasonEnum
6
+
7
+ SyncStatusSyncStatusReason = typing.Union[SyncStatusReasonEnum, str]
@@ -139,6 +139,7 @@ if typing.TYPE_CHECKING:
139
139
  OfferStatus,
140
140
  OfferStatusEnum,
141
141
  Office,
142
+ OperatorEnum,
142
143
  OverallRecommendationEnum,
143
144
  PaginatedAccountDetailsAndActionsList,
144
145
  PaginatedActivityList,
@@ -215,11 +216,16 @@ if typing.TYPE_CHECKING:
215
216
  ScreeningQuestionOptionsItem,
216
217
  ScreeningQuestionType,
217
218
  ScreeningQuestionTypeEnum,
219
+ SelectiveSyncCondition,
220
+ SelectiveSyncConditionList,
221
+ SelectiveSyncConditionOperator,
218
222
  SelectiveSyncConfigurationsUsageEnum,
219
223
  StatusFd5Enum,
220
224
  SyncStatus,
221
225
  SyncStatusLastSyncResult,
226
+ SyncStatusReasonEnum,
222
227
  SyncStatusStatus,
228
+ SyncStatusSyncStatusReason,
223
229
  Tag,
224
230
  Url,
225
231
  UrlRequest,
@@ -290,6 +296,7 @@ if typing.TYPE_CHECKING:
290
296
  reject_reasons,
291
297
  scopes,
292
298
  scorecards,
299
+ selective_sync,
293
300
  sync_status,
294
301
  tags,
295
302
  users,
@@ -454,6 +461,7 @@ _dynamic_imports: typing.Dict[str, str] = {
454
461
  "OffersListRequestStatus": ".resources",
455
462
  "OffersRetrieveRequestExpandItem": ".resources",
456
463
  "Office": ".types",
464
+ "OperatorEnum": ".types",
457
465
  "OverallRecommendationEnum": ".types",
458
466
  "PaginatedAccountDetailsAndActionsList": ".types",
459
467
  "PaginatedActivityList": ".types",
@@ -532,11 +540,16 @@ _dynamic_imports: typing.Dict[str, str] = {
532
540
  "ScreeningQuestionOptionsItem": ".types",
533
541
  "ScreeningQuestionType": ".types",
534
542
  "ScreeningQuestionTypeEnum": ".types",
543
+ "SelectiveSyncCondition": ".types",
544
+ "SelectiveSyncConditionList": ".types",
545
+ "SelectiveSyncConditionOperator": ".types",
535
546
  "SelectiveSyncConfigurationsUsageEnum": ".types",
536
547
  "StatusFd5Enum": ".types",
537
548
  "SyncStatus": ".types",
538
549
  "SyncStatusLastSyncResult": ".types",
550
+ "SyncStatusReasonEnum": ".types",
539
551
  "SyncStatusStatus": ".types",
552
+ "SyncStatusSyncStatusReason": ".types",
540
553
  "Tag": ".types",
541
554
  "Url": ".types",
542
555
  "UrlRequest": ".types",
@@ -577,6 +590,7 @@ _dynamic_imports: typing.Dict[str, str] = {
577
590
  "reject_reasons": ".resources",
578
591
  "scopes": ".resources",
579
592
  "scorecards": ".resources",
593
+ "selective_sync": ".resources",
580
594
  "sync_status": ".resources",
581
595
  "tags": ".resources",
582
596
  "users": ".resources",
@@ -764,6 +778,7 @@ __all__ = [
764
778
  "OffersListRequestStatus",
765
779
  "OffersRetrieveRequestExpandItem",
766
780
  "Office",
781
+ "OperatorEnum",
767
782
  "OverallRecommendationEnum",
768
783
  "PaginatedAccountDetailsAndActionsList",
769
784
  "PaginatedActivityList",
@@ -842,11 +857,16 @@ __all__ = [
842
857
  "ScreeningQuestionOptionsItem",
843
858
  "ScreeningQuestionType",
844
859
  "ScreeningQuestionTypeEnum",
860
+ "SelectiveSyncCondition",
861
+ "SelectiveSyncConditionList",
862
+ "SelectiveSyncConditionOperator",
845
863
  "SelectiveSyncConfigurationsUsageEnum",
846
864
  "StatusFd5Enum",
847
865
  "SyncStatus",
848
866
  "SyncStatusLastSyncResult",
867
+ "SyncStatusReasonEnum",
849
868
  "SyncStatusStatus",
869
+ "SyncStatusSyncStatusReason",
850
870
  "Tag",
851
871
  "Url",
852
872
  "UrlRequest",
@@ -887,6 +907,7 @@ __all__ = [
887
907
  "reject_reasons",
888
908
  "scopes",
889
909
  "scorecards",
910
+ "selective_sync",
890
911
  "sync_status",
891
912
  "tags",
892
913
  "users",
@@ -43,6 +43,7 @@ if typing.TYPE_CHECKING:
43
43
  from .resources.reject_reasons.client import AsyncRejectReasonsClient, RejectReasonsClient
44
44
  from .resources.scopes.client import AsyncScopesClient, ScopesClient
45
45
  from .resources.scorecards.client import AsyncScorecardsClient, ScorecardsClient
46
+ from .resources.selective_sync.client import AsyncSelectiveSyncClient, SelectiveSyncClient
46
47
  from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
47
48
  from .resources.tags.client import AsyncTagsClient, TagsClient
48
49
  from .resources.users.client import AsyncUsersClient, UsersClient
@@ -83,6 +84,7 @@ class AtsClient:
83
84
  self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
84
85
  self._reject_reasons: typing.Optional[RejectReasonsClient] = None
85
86
  self._scorecards: typing.Optional[ScorecardsClient] = None
87
+ self._selective_sync: typing.Optional[SelectiveSyncClient] = None
86
88
  self._sync_status: typing.Optional[SyncStatusClient] = None
87
89
  self._force_resync: typing.Optional[ForceResyncClient] = None
88
90
  self._tags: typing.Optional[TagsClient] = None
@@ -328,6 +330,14 @@ class AtsClient:
328
330
  self._scorecards = ScorecardsClient(client_wrapper=self._client_wrapper)
329
331
  return self._scorecards
330
332
 
333
+ @property
334
+ def selective_sync(self):
335
+ if self._selective_sync is None:
336
+ from .resources.selective_sync.client import SelectiveSyncClient # noqa: E402
337
+
338
+ self._selective_sync = SelectiveSyncClient(client_wrapper=self._client_wrapper)
339
+ return self._selective_sync
340
+
331
341
  @property
332
342
  def sync_status(self):
333
343
  if self._sync_status is None:
@@ -401,6 +411,7 @@ class AsyncAtsClient:
401
411
  self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
402
412
  self._reject_reasons: typing.Optional[AsyncRejectReasonsClient] = None
403
413
  self._scorecards: typing.Optional[AsyncScorecardsClient] = None
414
+ self._selective_sync: typing.Optional[AsyncSelectiveSyncClient] = None
404
415
  self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
405
416
  self._force_resync: typing.Optional[AsyncForceResyncClient] = None
406
417
  self._tags: typing.Optional[AsyncTagsClient] = None
@@ -646,6 +657,14 @@ class AsyncAtsClient:
646
657
  self._scorecards = AsyncScorecardsClient(client_wrapper=self._client_wrapper)
647
658
  return self._scorecards
648
659
 
660
+ @property
661
+ def selective_sync(self):
662
+ if self._selective_sync is None:
663
+ from .resources.selective_sync.client import AsyncSelectiveSyncClient # noqa: E402
664
+
665
+ self._selective_sync = AsyncSelectiveSyncClient(client_wrapper=self._client_wrapper)
666
+ return self._selective_sync
667
+
649
668
  @property
650
669
  def sync_status(self):
651
670
  if self._sync_status is None:
@@ -36,6 +36,7 @@ if typing.TYPE_CHECKING:
36
36
  reject_reasons,
37
37
  scopes,
38
38
  scorecards,
39
+ selective_sync,
39
40
  sync_status,
40
41
  tags,
41
42
  users,
@@ -127,6 +128,7 @@ _dynamic_imports: typing.Dict[str, str] = {
127
128
  "reject_reasons": ".reject_reasons",
128
129
  "scopes": ".scopes",
129
130
  "scorecards": ".scorecards",
131
+ "selective_sync": ".selective_sync",
130
132
  "sync_status": ".sync_status",
131
133
  "tags": ".tags",
132
134
  "users": ".users",
@@ -213,6 +215,7 @@ __all__ = [
213
215
  "reject_reasons",
214
216
  "scopes",
215
217
  "scorecards",
218
+ "selective_sync",
216
219
  "sync_status",
217
220
  "tags",
218
221
  "users",
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
@@ -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.ats.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.ats.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
+ "ats/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
+ "ats/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)
@@ -140,6 +140,7 @@ if typing.TYPE_CHECKING:
140
140
  from .offer_status import OfferStatus
141
141
  from .offer_status_enum import OfferStatusEnum
142
142
  from .office import Office
143
+ from .operator_enum import OperatorEnum
143
144
  from .overall_recommendation_enum import OverallRecommendationEnum
144
145
  from .paginated_account_details_and_actions_list import PaginatedAccountDetailsAndActionsList
145
146
  from .paginated_activity_list import PaginatedActivityList
@@ -216,11 +217,16 @@ if typing.TYPE_CHECKING:
216
217
  from .screening_question_options_item import ScreeningQuestionOptionsItem
217
218
  from .screening_question_type import ScreeningQuestionType
218
219
  from .screening_question_type_enum import ScreeningQuestionTypeEnum
220
+ from .selective_sync_condition import SelectiveSyncCondition
221
+ from .selective_sync_condition_list import SelectiveSyncConditionList
222
+ from .selective_sync_condition_operator import SelectiveSyncConditionOperator
219
223
  from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
220
224
  from .status_fd_5_enum import StatusFd5Enum
221
225
  from .sync_status import SyncStatus
222
226
  from .sync_status_last_sync_result import SyncStatusLastSyncResult
227
+ from .sync_status_reason_enum import SyncStatusReasonEnum
223
228
  from .sync_status_status import SyncStatusStatus
229
+ from .sync_status_sync_status_reason import SyncStatusSyncStatusReason
224
230
  from .tag import Tag
225
231
  from .url import Url
226
232
  from .url_request import UrlRequest
@@ -365,6 +371,7 @@ _dynamic_imports: typing.Dict[str, str] = {
365
371
  "OfferStatus": ".offer_status",
366
372
  "OfferStatusEnum": ".offer_status_enum",
367
373
  "Office": ".office",
374
+ "OperatorEnum": ".operator_enum",
368
375
  "OverallRecommendationEnum": ".overall_recommendation_enum",
369
376
  "PaginatedAccountDetailsAndActionsList": ".paginated_account_details_and_actions_list",
370
377
  "PaginatedActivityList": ".paginated_activity_list",
@@ -441,11 +448,16 @@ _dynamic_imports: typing.Dict[str, str] = {
441
448
  "ScreeningQuestionOptionsItem": ".screening_question_options_item",
442
449
  "ScreeningQuestionType": ".screening_question_type",
443
450
  "ScreeningQuestionTypeEnum": ".screening_question_type_enum",
451
+ "SelectiveSyncCondition": ".selective_sync_condition",
452
+ "SelectiveSyncConditionList": ".selective_sync_condition_list",
453
+ "SelectiveSyncConditionOperator": ".selective_sync_condition_operator",
444
454
  "SelectiveSyncConfigurationsUsageEnum": ".selective_sync_configurations_usage_enum",
445
455
  "StatusFd5Enum": ".status_fd_5_enum",
446
456
  "SyncStatus": ".sync_status",
447
457
  "SyncStatusLastSyncResult": ".sync_status_last_sync_result",
458
+ "SyncStatusReasonEnum": ".sync_status_reason_enum",
448
459
  "SyncStatusStatus": ".sync_status_status",
460
+ "SyncStatusSyncStatusReason": ".sync_status_sync_status_reason",
449
461
  "Tag": ".tag",
450
462
  "Url": ".url",
451
463
  "UrlRequest": ".url_request",
@@ -614,6 +626,7 @@ __all__ = [
614
626
  "OfferStatus",
615
627
  "OfferStatusEnum",
616
628
  "Office",
629
+ "OperatorEnum",
617
630
  "OverallRecommendationEnum",
618
631
  "PaginatedAccountDetailsAndActionsList",
619
632
  "PaginatedActivityList",
@@ -690,11 +703,16 @@ __all__ = [
690
703
  "ScreeningQuestionOptionsItem",
691
704
  "ScreeningQuestionType",
692
705
  "ScreeningQuestionTypeEnum",
706
+ "SelectiveSyncCondition",
707
+ "SelectiveSyncConditionList",
708
+ "SelectiveSyncConditionOperator",
693
709
  "SelectiveSyncConfigurationsUsageEnum",
694
710
  "StatusFd5Enum",
695
711
  "SyncStatus",
696
712
  "SyncStatusLastSyncResult",
713
+ "SyncStatusReasonEnum",
697
714
  "SyncStatusStatus",
715
+ "SyncStatusSyncStatusReason",
698
716
  "Tag",
699
717
  "Url",
700
718
  "UrlRequest",
@@ -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
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .operator_enum import OperatorEnum
6
+
7
+ SelectiveSyncConditionOperator = typing.Union[OperatorEnum, str]
@@ -9,6 +9,7 @@ from ....core.unchecked_base_model import UncheckedBaseModel
9
9
  from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
10
10
  from .sync_status_last_sync_result import SyncStatusLastSyncResult
11
11
  from .sync_status_status import SyncStatusStatus
12
+ from .sync_status_sync_status_reason import SyncStatusSyncStatusReason
12
13
 
13
14
 
14
15
  class SyncStatus(UncheckedBaseModel):
@@ -27,7 +28,13 @@ class SyncStatus(UncheckedBaseModel):
27
28
  next_sync_start: typing.Optional[dt.datetime] = None
28
29
  last_sync_result: typing.Optional[SyncStatusLastSyncResult] = None
29
30
  last_sync_finished: typing.Optional[dt.datetime] = None
31
+ data_fresh_as_of: typing.Optional[dt.datetime] = None
30
32
  status: SyncStatusStatus
33
+ sync_status_reason: typing.Optional[SyncStatusSyncStatusReason] = pydantic.Field(default=None)
34
+ """
35
+ The reason a model with a `SYNCING` status is temporarily not progressing. `RATE_LIMITED` indicates the model is paused to respect the data provider's rate limits. `WAITING_ON_OTHER_MODELS` indicates the model is waiting for other models to finish syncing.
36
+ """
37
+
31
38
  is_initial_sync: bool
32
39
  selective_sync_configurations_usage: typing.Optional[SelectiveSyncConfigurationsUsageEnum] = None
33
40
 
@@ -0,0 +1,20 @@
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 SyncStatusReasonEnum(enum.StrEnum):
11
+ RATE_LIMITED = "RATE_LIMITED"
12
+ WAITING_ON_OTHER_MODELS = "WAITING_ON_OTHER_MODELS"
13
+
14
+ def visit(
15
+ self, rate_limited: typing.Callable[[], T_Result], waiting_on_other_models: typing.Callable[[], T_Result]
16
+ ) -> T_Result:
17
+ if self is SyncStatusReasonEnum.RATE_LIMITED:
18
+ return rate_limited()
19
+ if self is SyncStatusReasonEnum.WAITING_ON_OTHER_MODELS:
20
+ return waiting_on_other_models()
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .sync_status_reason_enum import SyncStatusReasonEnum
6
+
7
+ SyncStatusSyncStatusReason = typing.Union[SyncStatusReasonEnum, str]