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.
Files changed (133) hide show
  1. merge/core/client_wrapper.py +2 -2
  2. merge/resources/accounting/__init__.py +15 -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 +12 -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/ats/__init__.py +15 -0
  14. merge/resources/ats/client.py +19 -0
  15. merge/resources/ats/resources/__init__.py +3 -0
  16. merge/resources/ats/resources/selective_sync/__init__.py +4 -0
  17. merge/resources/ats/resources/selective_sync/client.py +104 -0
  18. merge/resources/ats/resources/selective_sync/raw_client.py +103 -0
  19. merge/resources/ats/types/__init__.py +12 -0
  20. merge/resources/ats/types/operator_enum.py +58 -0
  21. merge/resources/ats/types/selective_sync_condition.py +49 -0
  22. merge/resources/ats/types/selective_sync_condition_list.py +21 -0
  23. merge/resources/ats/types/selective_sync_condition_operator.py +7 -0
  24. merge/resources/calendar/__init__.py +15 -0
  25. merge/resources/calendar/client.py +19 -0
  26. merge/resources/calendar/resources/__init__.py +3 -0
  27. merge/resources/calendar/resources/selective_sync/__init__.py +4 -0
  28. merge/resources/calendar/resources/selective_sync/client.py +104 -0
  29. merge/resources/calendar/resources/selective_sync/raw_client.py +103 -0
  30. merge/resources/calendar/types/__init__.py +12 -0
  31. merge/resources/calendar/types/operator_enum.py +58 -0
  32. merge/resources/calendar/types/selective_sync_condition.py +49 -0
  33. merge/resources/calendar/types/selective_sync_condition_list.py +21 -0
  34. merge/resources/calendar/types/selective_sync_condition_operator.py +7 -0
  35. merge/resources/chat/__init__.py +33 -0
  36. merge/resources/chat/client.py +19 -0
  37. merge/resources/chat/resources/__init__.py +3 -0
  38. merge/resources/chat/resources/selective_sync/__init__.py +4 -0
  39. merge/resources/chat/resources/selective_sync/client.py +264 -0
  40. merge/resources/chat/resources/selective_sync/raw_client.py +293 -0
  41. merge/resources/chat/types/__init__.py +30 -0
  42. merge/resources/chat/types/chat_sync_selection.py +50 -0
  43. merge/resources/chat/types/chat_sync_selection_type.py +7 -0
  44. merge/resources/chat/types/chat_sync_selection_type_enum.py +18 -0
  45. merge/resources/chat/types/label_selection.py +43 -0
  46. merge/resources/chat/types/label_selection_list.py +21 -0
  47. merge/resources/chat/types/operator_enum.py +58 -0
  48. merge/resources/chat/types/paginated_chat_sync_selection_list.py +23 -0
  49. merge/resources/chat/types/selective_sync_condition.py +49 -0
  50. merge/resources/chat/types/selective_sync_condition_list.py +21 -0
  51. merge/resources/chat/types/selective_sync_condition_operator.py +7 -0
  52. merge/resources/crm/__init__.py +15 -0
  53. merge/resources/crm/client.py +19 -0
  54. merge/resources/crm/resources/__init__.py +3 -0
  55. merge/resources/crm/resources/selective_sync/__init__.py +4 -0
  56. merge/resources/crm/resources/selective_sync/client.py +104 -0
  57. merge/resources/crm/resources/selective_sync/raw_client.py +103 -0
  58. merge/resources/crm/types/__init__.py +12 -0
  59. merge/resources/crm/types/operator_enum.py +58 -0
  60. merge/resources/crm/types/selective_sync_condition.py +49 -0
  61. merge/resources/crm/types/selective_sync_condition_list.py +21 -0
  62. merge/resources/crm/types/selective_sync_condition_operator.py +7 -0
  63. merge/resources/email/__init__.py +21 -0
  64. merge/resources/email/client.py +19 -0
  65. merge/resources/email/resources/__init__.py +3 -0
  66. merge/resources/email/resources/selective_sync/__init__.py +4 -0
  67. merge/resources/email/resources/selective_sync/client.py +167 -0
  68. merge/resources/email/resources/selective_sync/raw_client.py +184 -0
  69. merge/resources/email/types/__init__.py +18 -0
  70. merge/resources/email/types/label_selection.py +43 -0
  71. merge/resources/email/types/label_selection_list.py +21 -0
  72. merge/resources/email/types/operator_enum.py +58 -0
  73. merge/resources/email/types/selective_sync_condition.py +49 -0
  74. merge/resources/email/types/selective_sync_condition_list.py +21 -0
  75. merge/resources/email/types/selective_sync_condition_operator.py +7 -0
  76. merge/resources/filestorage/__init__.py +33 -0
  77. merge/resources/filestorage/client.py +19 -0
  78. merge/resources/filestorage/resources/__init__.py +3 -0
  79. merge/resources/filestorage/resources/selective_sync/__init__.py +4 -0
  80. merge/resources/filestorage/resources/selective_sync/client.py +264 -0
  81. merge/resources/filestorage/resources/selective_sync/raw_client.py +293 -0
  82. merge/resources/filestorage/types/__init__.py +30 -0
  83. merge/resources/filestorage/types/file_storage_sync_selection.py +50 -0
  84. merge/resources/filestorage/types/file_storage_sync_selection_type.py +7 -0
  85. merge/resources/filestorage/types/file_storage_sync_selection_type_enum.py +26 -0
  86. merge/resources/filestorage/types/label_selection.py +43 -0
  87. merge/resources/filestorage/types/label_selection_list.py +21 -0
  88. merge/resources/filestorage/types/operator_enum.py +58 -0
  89. merge/resources/filestorage/types/paginated_file_storage_sync_selection_list.py +23 -0
  90. merge/resources/filestorage/types/selective_sync_condition.py +49 -0
  91. merge/resources/filestorage/types/selective_sync_condition_list.py +21 -0
  92. merge/resources/filestorage/types/selective_sync_condition_operator.py +7 -0
  93. merge/resources/hris/__init__.py +15 -0
  94. merge/resources/hris/client.py +19 -0
  95. merge/resources/hris/resources/__init__.py +3 -0
  96. merge/resources/hris/resources/selective_sync/__init__.py +4 -0
  97. merge/resources/hris/resources/selective_sync/client.py +104 -0
  98. merge/resources/hris/resources/selective_sync/raw_client.py +103 -0
  99. merge/resources/hris/types/__init__.py +12 -0
  100. merge/resources/hris/types/operator_enum.py +58 -0
  101. merge/resources/hris/types/selective_sync_condition.py +49 -0
  102. merge/resources/hris/types/selective_sync_condition_list.py +21 -0
  103. merge/resources/hris/types/selective_sync_condition_operator.py +7 -0
  104. merge/resources/knowledgebase/__init__.py +27 -0
  105. merge/resources/knowledgebase/client.py +19 -0
  106. merge/resources/knowledgebase/resources/__init__.py +3 -0
  107. merge/resources/knowledgebase/resources/selective_sync/__init__.py +4 -0
  108. merge/resources/knowledgebase/resources/selective_sync/client.py +201 -0
  109. merge/resources/knowledgebase/resources/selective_sync/raw_client.py +212 -0
  110. merge/resources/knowledgebase/types/__init__.py +24 -0
  111. merge/resources/knowledgebase/types/knowledge_base_sync_selection.py +50 -0
  112. merge/resources/knowledgebase/types/knowledge_base_sync_selection_type.py +7 -0
  113. merge/resources/knowledgebase/types/knowledge_base_sync_selection_type_enum.py +18 -0
  114. merge/resources/knowledgebase/types/operator_enum.py +58 -0
  115. merge/resources/knowledgebase/types/paginated_knowledge_base_sync_selection_list.py +23 -0
  116. merge/resources/knowledgebase/types/selective_sync_condition.py +49 -0
  117. merge/resources/knowledgebase/types/selective_sync_condition_list.py +21 -0
  118. merge/resources/knowledgebase/types/selective_sync_condition_operator.py +7 -0
  119. merge/resources/ticketing/__init__.py +15 -0
  120. merge/resources/ticketing/client.py +19 -0
  121. merge/resources/ticketing/resources/__init__.py +3 -0
  122. merge/resources/ticketing/resources/selective_sync/__init__.py +4 -0
  123. merge/resources/ticketing/resources/selective_sync/client.py +104 -0
  124. merge/resources/ticketing/resources/selective_sync/raw_client.py +103 -0
  125. merge/resources/ticketing/types/__init__.py +12 -0
  126. merge/resources/ticketing/types/operator_enum.py +58 -0
  127. merge/resources/ticketing/types/selective_sync_condition.py +49 -0
  128. merge/resources/ticketing/types/selective_sync_condition_list.py +21 -0
  129. merge/resources/ticketing/types/selective_sync_condition_operator.py +7 -0
  130. {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/METADATA +2 -1
  131. {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/RECORD +133 -45
  132. {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/LICENSE.md +0 -0
  133. {mergepythonclient-4.1.0.dist-info → mergepythonclient-4.2.0.dist-info}/WHEEL +0 -0
@@ -58,6 +58,9 @@ if typing.TYPE_CHECKING:
58
58
  from .file_request_permissions_item import FileRequestPermissionsItem
59
59
  from .file_storage_file_response import FileStorageFileResponse
60
60
  from .file_storage_folder_response import FileStorageFolderResponse
61
+ from .file_storage_sync_selection import FileStorageSyncSelection
62
+ from .file_storage_sync_selection_type import FileStorageSyncSelectionType
63
+ from .file_storage_sync_selection_type_enum import FileStorageSyncSelectionTypeEnum
61
64
  from .folder import Folder
62
65
  from .folder_drive import FolderDrive
63
66
  from .folder_parent_folder import FolderParentFolder
@@ -76,6 +79,8 @@ if typing.TYPE_CHECKING:
76
79
  from .issue import Issue
77
80
  from .issue_status import IssueStatus
78
81
  from .issue_status_enum import IssueStatusEnum
82
+ from .label_selection import LabelSelection
83
+ from .label_selection_list import LabelSelectionList
79
84
  from .language_enum import LanguageEnum
80
85
  from .last_sync_result_enum import LastSyncResultEnum
81
86
  from .link_token import LinkToken
@@ -87,11 +92,13 @@ if typing.TYPE_CHECKING:
87
92
  from .model_permission_deserializer_request import ModelPermissionDeserializerRequest
88
93
  from .multipart_form_field_request import MultipartFormFieldRequest
89
94
  from .multipart_form_field_request_encoding import MultipartFormFieldRequestEncoding
95
+ from .operator_enum import OperatorEnum
90
96
  from .paginated_account_details_and_actions_list import PaginatedAccountDetailsAndActionsList
91
97
  from .paginated_audit_log_event_list import PaginatedAuditLogEventList
92
98
  from .paginated_download_request_meta_list import PaginatedDownloadRequestMetaList
93
99
  from .paginated_drive_list import PaginatedDriveList
94
100
  from .paginated_file_list import PaginatedFileList
101
+ from .paginated_file_storage_sync_selection_list import PaginatedFileStorageSyncSelectionList
95
102
  from .paginated_folder_list import PaginatedFolderList
96
103
  from .paginated_group_list import PaginatedGroupList
97
104
  from .paginated_issue_list import PaginatedIssueList
@@ -120,6 +127,9 @@ if typing.TYPE_CHECKING:
120
127
  from .response_type_enum import ResponseTypeEnum
121
128
  from .role_enum import RoleEnum
122
129
  from .roles_enum import RolesEnum
130
+ from .selective_sync_condition import SelectiveSyncCondition
131
+ from .selective_sync_condition_list import SelectiveSyncConditionList
132
+ from .selective_sync_condition_operator import SelectiveSyncConditionOperator
123
133
  from .selective_sync_configurations_usage_enum import SelectiveSyncConfigurationsUsageEnum
124
134
  from .status_fd_5_enum import StatusFd5Enum
125
135
  from .sync_status import SyncStatus
@@ -183,6 +193,9 @@ _dynamic_imports: typing.Dict[str, str] = {
183
193
  "FileRequestPermissionsItem": ".file_request_permissions_item",
184
194
  "FileStorageFileResponse": ".file_storage_file_response",
185
195
  "FileStorageFolderResponse": ".file_storage_folder_response",
196
+ "FileStorageSyncSelection": ".file_storage_sync_selection",
197
+ "FileStorageSyncSelectionType": ".file_storage_sync_selection_type",
198
+ "FileStorageSyncSelectionTypeEnum": ".file_storage_sync_selection_type_enum",
186
199
  "Folder": ".folder",
187
200
  "FolderDrive": ".folder_drive",
188
201
  "FolderParentFolder": ".folder_parent_folder",
@@ -201,6 +214,8 @@ _dynamic_imports: typing.Dict[str, str] = {
201
214
  "Issue": ".issue",
202
215
  "IssueStatus": ".issue_status",
203
216
  "IssueStatusEnum": ".issue_status_enum",
217
+ "LabelSelection": ".label_selection",
218
+ "LabelSelectionList": ".label_selection_list",
204
219
  "LanguageEnum": ".language_enum",
205
220
  "LastSyncResultEnum": ".last_sync_result_enum",
206
221
  "LinkToken": ".link_token",
@@ -212,11 +227,13 @@ _dynamic_imports: typing.Dict[str, str] = {
212
227
  "ModelPermissionDeserializerRequest": ".model_permission_deserializer_request",
213
228
  "MultipartFormFieldRequest": ".multipart_form_field_request",
214
229
  "MultipartFormFieldRequestEncoding": ".multipart_form_field_request_encoding",
230
+ "OperatorEnum": ".operator_enum",
215
231
  "PaginatedAccountDetailsAndActionsList": ".paginated_account_details_and_actions_list",
216
232
  "PaginatedAuditLogEventList": ".paginated_audit_log_event_list",
217
233
  "PaginatedDownloadRequestMetaList": ".paginated_download_request_meta_list",
218
234
  "PaginatedDriveList": ".paginated_drive_list",
219
235
  "PaginatedFileList": ".paginated_file_list",
236
+ "PaginatedFileStorageSyncSelectionList": ".paginated_file_storage_sync_selection_list",
220
237
  "PaginatedFolderList": ".paginated_folder_list",
221
238
  "PaginatedGroupList": ".paginated_group_list",
222
239
  "PaginatedIssueList": ".paginated_issue_list",
@@ -245,6 +262,9 @@ _dynamic_imports: typing.Dict[str, str] = {
245
262
  "ResponseTypeEnum": ".response_type_enum",
246
263
  "RoleEnum": ".role_enum",
247
264
  "RolesEnum": ".roles_enum",
265
+ "SelectiveSyncCondition": ".selective_sync_condition",
266
+ "SelectiveSyncConditionList": ".selective_sync_condition_list",
267
+ "SelectiveSyncConditionOperator": ".selective_sync_condition_operator",
248
268
  "SelectiveSyncConfigurationsUsageEnum": ".selective_sync_configurations_usage_enum",
249
269
  "StatusFd5Enum": ".status_fd_5_enum",
250
270
  "SyncStatus": ".sync_status",
@@ -332,6 +352,9 @@ __all__ = [
332
352
  "FileRequestPermissionsItem",
333
353
  "FileStorageFileResponse",
334
354
  "FileStorageFolderResponse",
355
+ "FileStorageSyncSelection",
356
+ "FileStorageSyncSelectionType",
357
+ "FileStorageSyncSelectionTypeEnum",
335
358
  "Folder",
336
359
  "FolderDrive",
337
360
  "FolderParentFolder",
@@ -350,6 +373,8 @@ __all__ = [
350
373
  "Issue",
351
374
  "IssueStatus",
352
375
  "IssueStatusEnum",
376
+ "LabelSelection",
377
+ "LabelSelectionList",
353
378
  "LanguageEnum",
354
379
  "LastSyncResultEnum",
355
380
  "LinkToken",
@@ -361,11 +386,13 @@ __all__ = [
361
386
  "ModelPermissionDeserializerRequest",
362
387
  "MultipartFormFieldRequest",
363
388
  "MultipartFormFieldRequestEncoding",
389
+ "OperatorEnum",
364
390
  "PaginatedAccountDetailsAndActionsList",
365
391
  "PaginatedAuditLogEventList",
366
392
  "PaginatedDownloadRequestMetaList",
367
393
  "PaginatedDriveList",
368
394
  "PaginatedFileList",
395
+ "PaginatedFileStorageSyncSelectionList",
369
396
  "PaginatedFolderList",
370
397
  "PaginatedGroupList",
371
398
  "PaginatedIssueList",
@@ -394,6 +421,9 @@ __all__ = [
394
421
  "ResponseTypeEnum",
395
422
  "RoleEnum",
396
423
  "RolesEnum",
424
+ "SelectiveSyncCondition",
425
+ "SelectiveSyncConditionList",
426
+ "SelectiveSyncConditionOperator",
397
427
  "SelectiveSyncConfigurationsUsageEnum",
398
428
  "StatusFd5Enum",
399
429
  "SyncStatus",
@@ -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 .file_storage_sync_selection_type import FileStorageSyncSelectionType
10
+
11
+
12
+ class FileStorageSyncSelection(UncheckedBaseModel):
13
+ id: typing.Optional[str] = pydantic.Field(default=None)
14
+ """
15
+ The Merge ID of the selected object. Null for sites, which are not returned as objects.
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: FileStorageSyncSelectionType = 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,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .file_storage_sync_selection_type_enum import FileStorageSyncSelectionTypeEnum
6
+
7
+ FileStorageSyncSelectionType = typing.Union[FileStorageSyncSelectionTypeEnum, str]
@@ -0,0 +1,26 @@
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 FileStorageSyncSelectionTypeEnum(enum.StrEnum):
11
+ FOLDER = "FOLDER"
12
+ DRIVE = "DRIVE"
13
+ SITE = "SITE"
14
+
15
+ def visit(
16
+ self,
17
+ folder: typing.Callable[[], T_Result],
18
+ drive: typing.Callable[[], T_Result],
19
+ site: typing.Callable[[], T_Result],
20
+ ) -> T_Result:
21
+ if self is FileStorageSyncSelectionTypeEnum.FOLDER:
22
+ return folder()
23
+ if self is FileStorageSyncSelectionTypeEnum.DRIVE:
24
+ return drive()
25
+ if self is FileStorageSyncSelectionTypeEnum.SITE:
26
+ return site()
@@ -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 .file_storage_sync_selection import FileStorageSyncSelection
9
+
10
+
11
+ class PaginatedFileStorageSyncSelectionList(UncheckedBaseModel):
12
+ next: typing.Optional[str] = None
13
+ previous: typing.Optional[str] = None
14
+ results: typing.Optional[typing.List[FileStorageSyncSelection]] = 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
@@ -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]
@@ -130,6 +130,7 @@ if typing.TYPE_CHECKING:
130
130
  ModelPermissionDeserializerRequest,
131
131
  MultipartFormFieldRequest,
132
132
  MultipartFormFieldRequestEncoding,
133
+ OperatorEnum,
133
134
  PaginatedAccountDetailsAndActionsList,
134
135
  PaginatedAuditLogEventList,
135
136
  PaginatedBankInfoList,
@@ -175,6 +176,9 @@ if typing.TYPE_CHECKING:
175
176
  RoleEnum,
176
177
  RunStateEnum,
177
178
  RunTypeEnum,
179
+ SelectiveSyncCondition,
180
+ SelectiveSyncConditionList,
181
+ SelectiveSyncConditionOperator,
178
182
  SelectiveSyncConfigurationsUsageEnum,
179
183
  StatusFd5Enum,
180
184
  SyncStatus,
@@ -283,6 +287,7 @@ if typing.TYPE_CHECKING:
283
287
  payroll_runs,
284
288
  regenerate_key,
285
289
  scopes,
290
+ selective_sync,
286
291
  sync_status,
287
292
  teams,
288
293
  time_off,
@@ -442,6 +447,7 @@ _dynamic_imports: typing.Dict[str, str] = {
442
447
  "ModelPermissionDeserializerRequest": ".types",
443
448
  "MultipartFormFieldRequest": ".types",
444
449
  "MultipartFormFieldRequestEncoding": ".types",
450
+ "OperatorEnum": ".types",
445
451
  "PaginatedAccountDetailsAndActionsList": ".types",
446
452
  "PaginatedAuditLogEventList": ".types",
447
453
  "PaginatedBankInfoList": ".types",
@@ -492,6 +498,9 @@ _dynamic_imports: typing.Dict[str, str] = {
492
498
  "RoleEnum": ".types",
493
499
  "RunStateEnum": ".types",
494
500
  "RunTypeEnum": ".types",
501
+ "SelectiveSyncCondition": ".types",
502
+ "SelectiveSyncConditionList": ".types",
503
+ "SelectiveSyncConditionOperator": ".types",
495
504
  "SelectiveSyncConfigurationsUsageEnum": ".types",
496
505
  "StatusFd5Enum": ".types",
497
506
  "SyncStatus": ".types",
@@ -565,6 +574,7 @@ _dynamic_imports: typing.Dict[str, str] = {
565
574
  "payroll_runs": ".resources",
566
575
  "regenerate_key": ".resources",
567
576
  "scopes": ".resources",
577
+ "selective_sync": ".resources",
568
578
  "sync_status": ".resources",
569
579
  "teams": ".resources",
570
580
  "time_off": ".resources",
@@ -747,6 +757,7 @@ __all__ = [
747
757
  "ModelPermissionDeserializerRequest",
748
758
  "MultipartFormFieldRequest",
749
759
  "MultipartFormFieldRequestEncoding",
760
+ "OperatorEnum",
750
761
  "PaginatedAccountDetailsAndActionsList",
751
762
  "PaginatedAuditLogEventList",
752
763
  "PaginatedBankInfoList",
@@ -797,6 +808,9 @@ __all__ = [
797
808
  "RoleEnum",
798
809
  "RunStateEnum",
799
810
  "RunTypeEnum",
811
+ "SelectiveSyncCondition",
812
+ "SelectiveSyncConditionList",
813
+ "SelectiveSyncConditionOperator",
800
814
  "SelectiveSyncConfigurationsUsageEnum",
801
815
  "StatusFd5Enum",
802
816
  "SyncStatus",
@@ -870,6 +884,7 @@ __all__ = [
870
884
  "payroll_runs",
871
885
  "regenerate_key",
872
886
  "scopes",
887
+ "selective_sync",
873
888
  "sync_status",
874
889
  "teams",
875
890
  "time_off",
@@ -41,6 +41,7 @@ if typing.TYPE_CHECKING:
41
41
  from .resources.payroll_runs.client import AsyncPayrollRunsClient, PayrollRunsClient
42
42
  from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
43
43
  from .resources.scopes.client import AsyncScopesClient, ScopesClient
44
+ from .resources.selective_sync.client import AsyncSelectiveSyncClient, SelectiveSyncClient
44
45
  from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
45
46
  from .resources.teams.client import AsyncTeamsClient, TeamsClient
46
47
  from .resources.time_off.client import AsyncTimeOffClient, TimeOffClient
@@ -81,6 +82,7 @@ class HrisClient:
81
82
  self._pay_groups: typing.Optional[PayGroupsClient] = None
82
83
  self._payroll_runs: typing.Optional[PayrollRunsClient] = None
83
84
  self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
85
+ self._selective_sync: typing.Optional[SelectiveSyncClient] = None
84
86
  self._sync_status: typing.Optional[SyncStatusClient] = None
85
87
  self._force_resync: typing.Optional[ForceResyncClient] = None
86
88
  self._teams: typing.Optional[TeamsClient] = None
@@ -312,6 +314,14 @@ class HrisClient:
312
314
  self._regenerate_key = RegenerateKeyClient(client_wrapper=self._client_wrapper)
313
315
  return self._regenerate_key
314
316
 
317
+ @property
318
+ def selective_sync(self):
319
+ if self._selective_sync is None:
320
+ from .resources.selective_sync.client import SelectiveSyncClient # noqa: E402
321
+
322
+ self._selective_sync = SelectiveSyncClient(client_wrapper=self._client_wrapper)
323
+ return self._selective_sync
324
+
315
325
  @property
316
326
  def sync_status(self):
317
327
  if self._sync_status is None:
@@ -399,6 +409,7 @@ class AsyncHrisClient:
399
409
  self._pay_groups: typing.Optional[AsyncPayGroupsClient] = None
400
410
  self._payroll_runs: typing.Optional[AsyncPayrollRunsClient] = None
401
411
  self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
412
+ self._selective_sync: typing.Optional[AsyncSelectiveSyncClient] = None
402
413
  self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
403
414
  self._force_resync: typing.Optional[AsyncForceResyncClient] = None
404
415
  self._teams: typing.Optional[AsyncTeamsClient] = None
@@ -630,6 +641,14 @@ class AsyncHrisClient:
630
641
  self._regenerate_key = AsyncRegenerateKeyClient(client_wrapper=self._client_wrapper)
631
642
  return self._regenerate_key
632
643
 
644
+ @property
645
+ def selective_sync(self):
646
+ if self._selective_sync is None:
647
+ from .resources.selective_sync.client import AsyncSelectiveSyncClient # noqa: E402
648
+
649
+ self._selective_sync = AsyncSelectiveSyncClient(client_wrapper=self._client_wrapper)
650
+ return self._selective_sync
651
+
633
652
  @property
634
653
  def sync_status(self):
635
654
  if self._sync_status is None:
@@ -34,6 +34,7 @@ if typing.TYPE_CHECKING:
34
34
  payroll_runs,
35
35
  regenerate_key,
36
36
  scopes,
37
+ selective_sync,
37
38
  sync_status,
38
39
  teams,
39
40
  time_off,
@@ -166,6 +167,7 @@ _dynamic_imports: typing.Dict[str, str] = {
166
167
  "payroll_runs": ".payroll_runs",
167
168
  "regenerate_key": ".regenerate_key",
168
169
  "scopes": ".scopes",
170
+ "selective_sync": ".selective_sync",
169
171
  "sync_status": ".sync_status",
170
172
  "teams": ".teams",
171
173
  "time_off": ".time_off",
@@ -267,6 +269,7 @@ __all__ = [
267
269
  "payroll_runs",
268
270
  "regenerate_key",
269
271
  "scopes",
272
+ "selective_sync",
270
273
  "sync_status",
271
274
  "teams",
272
275
  "time_off",
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+