mergepythonclient 2.3.2__py3-none-any.whl → 2.4.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/__init__.py +3 -1
- merge/client.py +49 -30
- merge/core/client_wrapper.py +2 -2
- merge/resources/__init__.py +3 -2
- merge/resources/knowledgebase/__init__.py +472 -0
- merge/resources/knowledgebase/client.py +480 -0
- merge/resources/knowledgebase/raw_client.py +13 -0
- merge/resources/knowledgebase/resources/__init__.py +128 -0
- merge/resources/knowledgebase/resources/account_details/__init__.py +4 -0
- merge/resources/knowledgebase/resources/account_details/client.py +102 -0
- merge/resources/knowledgebase/resources/account_details/raw_client.py +91 -0
- merge/resources/knowledgebase/resources/account_token/__init__.py +4 -0
- merge/resources/knowledgebase/resources/account_token/client.py +112 -0
- merge/resources/knowledgebase/resources/account_token/raw_client.py +98 -0
- merge/resources/knowledgebase/resources/articles/__init__.py +35 -0
- merge/resources/knowledgebase/resources/articles/client.py +378 -0
- merge/resources/knowledgebase/resources/articles/raw_client.py +363 -0
- merge/resources/knowledgebase/resources/articles/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/articles/types/articles_list_request_expand.py +625 -0
- merge/resources/knowledgebase/resources/articles/types/articles_retrieve_request_expand.py +631 -0
- merge/resources/knowledgebase/resources/async_passthrough/__init__.py +32 -0
- merge/resources/knowledgebase/resources/async_passthrough/client.py +201 -0
- merge/resources/knowledgebase/resources/async_passthrough/raw_client.py +189 -0
- merge/resources/knowledgebase/resources/async_passthrough/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/async_passthrough/types/async_passthrough_retrieve_response.py +7 -0
- merge/resources/knowledgebase/resources/attachments/__init__.py +4 -0
- merge/resources/knowledgebase/resources/attachments/client.py +326 -0
- merge/resources/knowledgebase/resources/attachments/raw_client.py +311 -0
- merge/resources/knowledgebase/resources/audit_trail/__init__.py +4 -0
- merge/resources/knowledgebase/resources/audit_trail/client.py +178 -0
- merge/resources/knowledgebase/resources/audit_trail/raw_client.py +161 -0
- merge/resources/knowledgebase/resources/available_actions/__init__.py +4 -0
- merge/resources/knowledgebase/resources/available_actions/client.py +102 -0
- merge/resources/knowledgebase/resources/available_actions/raw_client.py +91 -0
- merge/resources/knowledgebase/resources/containers/__init__.py +35 -0
- merge/resources/knowledgebase/resources/containers/client.py +378 -0
- merge/resources/knowledgebase/resources/containers/raw_client.py +363 -0
- merge/resources/knowledgebase/resources/containers/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/containers/types/containers_list_request_expand.py +41 -0
- merge/resources/knowledgebase/resources/containers/types/containers_retrieve_request_expand.py +41 -0
- merge/resources/knowledgebase/resources/delete_account/__init__.py +4 -0
- merge/resources/knowledgebase/resources/delete_account/client.py +99 -0
- merge/resources/knowledgebase/resources/delete_account/raw_client.py +71 -0
- merge/resources/knowledgebase/resources/field_mapping/__init__.py +4 -0
- merge/resources/knowledgebase/resources/field_mapping/client.py +652 -0
- merge/resources/knowledgebase/resources/field_mapping/raw_client.py +672 -0
- merge/resources/knowledgebase/resources/force_resync/__init__.py +4 -0
- merge/resources/knowledgebase/resources/force_resync/client.py +106 -0
- merge/resources/knowledgebase/resources/force_resync/raw_client.py +93 -0
- merge/resources/knowledgebase/resources/generate_key/__init__.py +4 -0
- merge/resources/knowledgebase/resources/generate_key/client.py +115 -0
- merge/resources/knowledgebase/resources/generate_key/raw_client.py +114 -0
- merge/resources/knowledgebase/resources/groups/__init__.py +32 -0
- merge/resources/knowledgebase/resources/groups/client.py +348 -0
- merge/resources/knowledgebase/resources/groups/raw_client.py +333 -0
- merge/resources/knowledgebase/resources/groups/types/__init__.py +36 -0
- merge/resources/knowledgebase/resources/groups/types/groups_list_request_expand.py +25 -0
- merge/resources/knowledgebase/resources/groups/types/groups_retrieve_request_expand.py +25 -0
- merge/resources/knowledgebase/resources/issues/__init__.py +32 -0
- merge/resources/knowledgebase/resources/issues/client.py +331 -0
- merge/resources/knowledgebase/resources/issues/raw_client.py +336 -0
- merge/resources/knowledgebase/resources/issues/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/issues/types/issues_list_request_status.py +17 -0
- merge/resources/knowledgebase/resources/link_token/__init__.py +32 -0
- merge/resources/knowledgebase/resources/link_token/client.py +273 -0
- merge/resources/knowledgebase/resources/link_token/raw_client.py +256 -0
- merge/resources/knowledgebase/resources/link_token/types/__init__.py +32 -0
- merge/resources/knowledgebase/resources/link_token/types/end_user_details_request_language.py +7 -0
- merge/resources/knowledgebase/resources/linked_accounts/__init__.py +32 -0
- merge/resources/knowledgebase/resources/linked_accounts/client.py +265 -0
- merge/resources/knowledgebase/resources/linked_accounts/raw_client.py +248 -0
- merge/resources/knowledgebase/resources/linked_accounts/types/__init__.py +34 -0
- merge/resources/knowledgebase/resources/linked_accounts/types/linked_accounts_list_request_category.py +45 -0
- merge/resources/knowledgebase/resources/passthrough/__init__.py +4 -0
- merge/resources/knowledgebase/resources/passthrough/client.py +126 -0
- merge/resources/knowledgebase/resources/passthrough/raw_client.py +111 -0
- merge/resources/knowledgebase/resources/regenerate_key/__init__.py +4 -0
- merge/resources/knowledgebase/resources/regenerate_key/client.py +115 -0
- merge/resources/knowledgebase/resources/regenerate_key/raw_client.py +114 -0
- merge/resources/knowledgebase/resources/scopes/__init__.py +4 -0
- merge/resources/knowledgebase/resources/scopes/client.py +320 -0
- merge/resources/knowledgebase/resources/scopes/raw_client.py +267 -0
- merge/resources/knowledgebase/resources/sync_status/__init__.py +4 -0
- merge/resources/knowledgebase/resources/sync_status/client.py +130 -0
- merge/resources/knowledgebase/resources/sync_status/raw_client.py +121 -0
- merge/resources/knowledgebase/resources/users/__init__.py +4 -0
- merge/resources/knowledgebase/resources/users/client.py +326 -0
- merge/resources/knowledgebase/resources/users/raw_client.py +311 -0
- merge/resources/knowledgebase/resources/webhook_receivers/__init__.py +4 -0
- merge/resources/knowledgebase/resources/webhook_receivers/client.py +201 -0
- merge/resources/knowledgebase/resources/webhook_receivers/raw_client.py +208 -0
- merge/resources/knowledgebase/types/__init__.py +374 -0
- merge/resources/knowledgebase/types/account_details.py +40 -0
- merge/resources/knowledgebase/types/account_details_and_actions.py +54 -0
- merge/resources/knowledgebase/types/account_details_and_actions_category.py +7 -0
- merge/resources/knowledgebase/types/account_details_and_actions_integration.py +29 -0
- merge/resources/knowledgebase/types/account_details_and_actions_status.py +7 -0
- merge/resources/knowledgebase/types/account_details_and_actions_status_enum.py +36 -0
- merge/resources/knowledgebase/types/account_details_category.py +7 -0
- merge/resources/knowledgebase/types/account_integration.py +67 -0
- merge/resources/knowledgebase/types/account_token.py +23 -0
- merge/resources/knowledgebase/types/advanced_metadata.py +25 -0
- merge/resources/knowledgebase/types/article.py +159 -0
- merge/resources/knowledgebase/types/article_attachments_item.py +7 -0
- merge/resources/knowledgebase/types/article_author.py +7 -0
- merge/resources/knowledgebase/types/article_last_edited_by.py +7 -0
- merge/resources/knowledgebase/types/article_parent_article.py +9 -0
- merge/resources/knowledgebase/types/article_parent_container.py +7 -0
- merge/resources/knowledgebase/types/article_permissions_item.py +7 -0
- merge/resources/knowledgebase/types/article_root_container.py +7 -0
- merge/resources/knowledgebase/types/article_status.py +7 -0
- merge/resources/knowledgebase/types/article_type.py +7 -0
- merge/resources/knowledgebase/types/article_type_enum.py +31 -0
- merge/resources/knowledgebase/types/article_visibility.py +7 -0
- merge/resources/knowledgebase/types/async_passthrough_reciept.py +20 -0
- merge/resources/knowledgebase/types/attachment.py +67 -0
- merge/resources/knowledgebase/types/audit_log_event.py +97 -0
- merge/resources/knowledgebase/types/audit_log_event_event_type.py +7 -0
- merge/resources/knowledgebase/types/audit_log_event_role.py +7 -0
- merge/resources/knowledgebase/types/available_actions.py +33 -0
- merge/resources/knowledgebase/types/categories_enum.py +56 -0
- merge/resources/knowledgebase/types/category_enum.py +56 -0
- merge/resources/knowledgebase/types/common_model_scope_api.py +24 -0
- merge/resources/knowledgebase/types/common_model_scopes_body_request.py +23 -0
- merge/resources/knowledgebase/types/completed_account_initial_screen_enum.py +5 -0
- merge/resources/knowledgebase/types/container.py +130 -0
- merge/resources/knowledgebase/types/container_permissions_item.py +7 -0
- merge/resources/knowledgebase/types/container_status.py +7 -0
- merge/resources/knowledgebase/types/container_type.py +7 -0
- merge/resources/knowledgebase/types/container_type_enum.py +46 -0
- merge/resources/knowledgebase/types/container_visibility.py +7 -0
- merge/resources/knowledgebase/types/data_passthrough_request.py +62 -0
- merge/resources/knowledgebase/types/data_passthrough_request_method.py +7 -0
- merge/resources/knowledgebase/types/data_passthrough_request_request_format.py +7 -0
- merge/resources/knowledgebase/types/debug_mode_log.py +23 -0
- merge/resources/knowledgebase/types/debug_model_log_summary.py +22 -0
- merge/resources/knowledgebase/types/enabled_actions_enum.py +22 -0
- merge/resources/knowledgebase/types/encoding_enum.py +31 -0
- merge/resources/knowledgebase/types/error_validation_problem.py +24 -0
- merge/resources/knowledgebase/types/event_type_enum.py +231 -0
- merge/resources/knowledgebase/types/external_target_field_api.py +22 -0
- merge/resources/knowledgebase/types/external_target_field_api_response.py +25 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance.py +26 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field.py +27 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_remote_field_remote_endpoint_info.py +22 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_response.py +25 -0
- merge/resources/knowledgebase/types/field_mapping_api_instance_target_field.py +22 -0
- merge/resources/knowledgebase/types/field_mapping_instance_response.py +27 -0
- merge/resources/knowledgebase/types/field_permission_deserializer.py +21 -0
- merge/resources/knowledgebase/types/field_permission_deserializer_request.py +21 -0
- merge/resources/knowledgebase/types/group.py +71 -0
- merge/resources/knowledgebase/types/group_parent_group.py +9 -0
- merge/resources/knowledgebase/types/group_users_item.py +7 -0
- merge/resources/knowledgebase/types/individual_common_model_scope_deserializer.py +24 -0
- merge/resources/knowledgebase/types/individual_common_model_scope_deserializer_request.py +24 -0
- merge/resources/knowledgebase/types/issue.py +36 -0
- merge/resources/knowledgebase/types/issue_status.py +7 -0
- merge/resources/knowledgebase/types/issue_status_enum.py +22 -0
- merge/resources/knowledgebase/types/language_enum.py +22 -0
- merge/resources/knowledgebase/types/last_sync_result_enum.py +46 -0
- merge/resources/knowledgebase/types/link_token.py +22 -0
- merge/resources/knowledgebase/types/method_enum.py +51 -0
- merge/resources/knowledgebase/types/model_operation.py +32 -0
- merge/resources/knowledgebase/types/model_permission_deserializer.py +20 -0
- merge/resources/knowledgebase/types/model_permission_deserializer_request.py +20 -0
- merge/resources/knowledgebase/types/multipart_form_field_request.py +57 -0
- merge/resources/knowledgebase/types/multipart_form_field_request_encoding.py +7 -0
- merge/resources/knowledgebase/types/paginated_account_details_and_actions_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_article_list.py +30 -0
- merge/resources/knowledgebase/types/paginated_attachment_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_audit_log_event_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_container_list.py +30 -0
- merge/resources/knowledgebase/types/paginated_group_list.py +29 -0
- merge/resources/knowledgebase/types/paginated_issue_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_sync_status_list.py +23 -0
- merge/resources/knowledgebase/types/paginated_user_list.py +23 -0
- merge/resources/knowledgebase/types/permission.py +77 -0
- merge/resources/knowledgebase/types/permission_group.py +7 -0
- merge/resources/knowledgebase/types/permission_type.py +7 -0
- merge/resources/knowledgebase/types/permission_type_enum.py +36 -0
- merge/resources/knowledgebase/types/permission_user.py +7 -0
- merge/resources/knowledgebase/types/remote_data.py +34 -0
- merge/resources/knowledgebase/types/remote_endpoint_info.py +22 -0
- merge/resources/knowledgebase/types/remote_field_api.py +28 -0
- merge/resources/knowledgebase/types/remote_field_api_advanced_metadata.py +7 -0
- merge/resources/knowledgebase/types/remote_field_api_coverage.py +5 -0
- merge/resources/knowledgebase/types/remote_field_api_response.py +25 -0
- merge/resources/knowledgebase/types/remote_key.py +30 -0
- merge/resources/knowledgebase/types/remote_response.py +36 -0
- merge/resources/knowledgebase/types/remote_response_response_type.py +7 -0
- merge/resources/knowledgebase/types/request_format_enum.py +31 -0
- merge/resources/knowledgebase/types/response_type_enum.py +22 -0
- merge/resources/knowledgebase/types/role_enum.py +46 -0
- merge/resources/knowledgebase/types/roles_enum.py +31 -0
- merge/resources/knowledgebase/types/selective_sync_configurations_usage_enum.py +24 -0
- merge/resources/knowledgebase/types/status_3_c_6_enum.py +36 -0
- merge/resources/knowledgebase/types/status_fd_5_enum.py +46 -0
- merge/resources/knowledgebase/types/sync_status.py +41 -0
- merge/resources/knowledgebase/types/sync_status_last_sync_result.py +7 -0
- merge/resources/knowledgebase/types/sync_status_status.py +7 -0
- merge/resources/knowledgebase/types/user.py +60 -0
- merge/resources/knowledgebase/types/validation_problem_source.py +20 -0
- merge/resources/knowledgebase/types/visibility_enum.py +31 -0
- merge/resources/knowledgebase/types/warning_validation_problem.py +24 -0
- merge/resources/knowledgebase/types/webhook_receiver.py +22 -0
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/METADATA +2 -1
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/RECORD +209 -8
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-2.3.2.dist-info → mergepythonclient-2.4.0.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
|
|
6
|
+
from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
7
|
+
from .....core.request_options import RequestOptions
|
|
8
|
+
from ...types.attachment import Attachment
|
|
9
|
+
from ...types.paginated_attachment_list import PaginatedAttachmentList
|
|
10
|
+
from .raw_client import AsyncRawAttachmentsClient, RawAttachmentsClient
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AttachmentsClient:
|
|
14
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
15
|
+
self._raw_client = RawAttachmentsClient(client_wrapper=client_wrapper)
|
|
16
|
+
|
|
17
|
+
@property
|
|
18
|
+
def with_raw_response(self) -> RawAttachmentsClient:
|
|
19
|
+
"""
|
|
20
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
21
|
+
|
|
22
|
+
Returns
|
|
23
|
+
-------
|
|
24
|
+
RawAttachmentsClient
|
|
25
|
+
"""
|
|
26
|
+
return self._raw_client
|
|
27
|
+
|
|
28
|
+
def list(
|
|
29
|
+
self,
|
|
30
|
+
*,
|
|
31
|
+
created_after: typing.Optional[dt.datetime] = None,
|
|
32
|
+
created_before: typing.Optional[dt.datetime] = None,
|
|
33
|
+
cursor: typing.Optional[str] = None,
|
|
34
|
+
include_deleted_data: typing.Optional[bool] = None,
|
|
35
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
36
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
37
|
+
modified_after: typing.Optional[dt.datetime] = None,
|
|
38
|
+
modified_before: typing.Optional[dt.datetime] = None,
|
|
39
|
+
page_size: typing.Optional[int] = None,
|
|
40
|
+
remote_id: typing.Optional[str] = None,
|
|
41
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
42
|
+
) -> PaginatedAttachmentList:
|
|
43
|
+
"""
|
|
44
|
+
Returns a list of `Attachment` objects.
|
|
45
|
+
|
|
46
|
+
Parameters
|
|
47
|
+
----------
|
|
48
|
+
created_after : typing.Optional[dt.datetime]
|
|
49
|
+
If provided, will only return objects created after this datetime.
|
|
50
|
+
|
|
51
|
+
created_before : typing.Optional[dt.datetime]
|
|
52
|
+
If provided, will only return objects created before this datetime.
|
|
53
|
+
|
|
54
|
+
cursor : typing.Optional[str]
|
|
55
|
+
The pagination cursor value.
|
|
56
|
+
|
|
57
|
+
include_deleted_data : typing.Optional[bool]
|
|
58
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
59
|
+
|
|
60
|
+
include_remote_data : typing.Optional[bool]
|
|
61
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
62
|
+
|
|
63
|
+
include_shell_data : typing.Optional[bool]
|
|
64
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
65
|
+
|
|
66
|
+
modified_after : typing.Optional[dt.datetime]
|
|
67
|
+
If provided, only objects synced by Merge after this date time will be returned.
|
|
68
|
+
|
|
69
|
+
modified_before : typing.Optional[dt.datetime]
|
|
70
|
+
If provided, only objects synced by Merge before this date time will be returned.
|
|
71
|
+
|
|
72
|
+
page_size : typing.Optional[int]
|
|
73
|
+
Number of results to return per page.
|
|
74
|
+
|
|
75
|
+
remote_id : typing.Optional[str]
|
|
76
|
+
The API provider's ID for the given object.
|
|
77
|
+
|
|
78
|
+
request_options : typing.Optional[RequestOptions]
|
|
79
|
+
Request-specific configuration.
|
|
80
|
+
|
|
81
|
+
Returns
|
|
82
|
+
-------
|
|
83
|
+
PaginatedAttachmentList
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
Examples
|
|
87
|
+
--------
|
|
88
|
+
from merge import Merge
|
|
89
|
+
|
|
90
|
+
client = Merge(
|
|
91
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
92
|
+
api_key="YOUR_API_KEY",
|
|
93
|
+
)
|
|
94
|
+
client.knowledgebase.attachments.list(
|
|
95
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
96
|
+
)
|
|
97
|
+
"""
|
|
98
|
+
_response = self._raw_client.list(
|
|
99
|
+
created_after=created_after,
|
|
100
|
+
created_before=created_before,
|
|
101
|
+
cursor=cursor,
|
|
102
|
+
include_deleted_data=include_deleted_data,
|
|
103
|
+
include_remote_data=include_remote_data,
|
|
104
|
+
include_shell_data=include_shell_data,
|
|
105
|
+
modified_after=modified_after,
|
|
106
|
+
modified_before=modified_before,
|
|
107
|
+
page_size=page_size,
|
|
108
|
+
remote_id=remote_id,
|
|
109
|
+
request_options=request_options,
|
|
110
|
+
)
|
|
111
|
+
return _response.data
|
|
112
|
+
|
|
113
|
+
def retrieve(
|
|
114
|
+
self,
|
|
115
|
+
id: str,
|
|
116
|
+
*,
|
|
117
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
118
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
119
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
120
|
+
) -> Attachment:
|
|
121
|
+
"""
|
|
122
|
+
Returns an `Attachment` object with the given `id`.
|
|
123
|
+
|
|
124
|
+
Parameters
|
|
125
|
+
----------
|
|
126
|
+
id : str
|
|
127
|
+
|
|
128
|
+
include_remote_data : typing.Optional[bool]
|
|
129
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
130
|
+
|
|
131
|
+
include_shell_data : typing.Optional[bool]
|
|
132
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
133
|
+
|
|
134
|
+
request_options : typing.Optional[RequestOptions]
|
|
135
|
+
Request-specific configuration.
|
|
136
|
+
|
|
137
|
+
Returns
|
|
138
|
+
-------
|
|
139
|
+
Attachment
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
Examples
|
|
143
|
+
--------
|
|
144
|
+
from merge import Merge
|
|
145
|
+
|
|
146
|
+
client = Merge(
|
|
147
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
148
|
+
api_key="YOUR_API_KEY",
|
|
149
|
+
)
|
|
150
|
+
client.knowledgebase.attachments.retrieve(
|
|
151
|
+
id="id",
|
|
152
|
+
)
|
|
153
|
+
"""
|
|
154
|
+
_response = self._raw_client.retrieve(
|
|
155
|
+
id,
|
|
156
|
+
include_remote_data=include_remote_data,
|
|
157
|
+
include_shell_data=include_shell_data,
|
|
158
|
+
request_options=request_options,
|
|
159
|
+
)
|
|
160
|
+
return _response.data
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
class AsyncAttachmentsClient:
|
|
164
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
165
|
+
self._raw_client = AsyncRawAttachmentsClient(client_wrapper=client_wrapper)
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def with_raw_response(self) -> AsyncRawAttachmentsClient:
|
|
169
|
+
"""
|
|
170
|
+
Retrieves a raw implementation of this client that returns raw responses.
|
|
171
|
+
|
|
172
|
+
Returns
|
|
173
|
+
-------
|
|
174
|
+
AsyncRawAttachmentsClient
|
|
175
|
+
"""
|
|
176
|
+
return self._raw_client
|
|
177
|
+
|
|
178
|
+
async def list(
|
|
179
|
+
self,
|
|
180
|
+
*,
|
|
181
|
+
created_after: typing.Optional[dt.datetime] = None,
|
|
182
|
+
created_before: typing.Optional[dt.datetime] = None,
|
|
183
|
+
cursor: typing.Optional[str] = None,
|
|
184
|
+
include_deleted_data: typing.Optional[bool] = None,
|
|
185
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
186
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
187
|
+
modified_after: typing.Optional[dt.datetime] = None,
|
|
188
|
+
modified_before: typing.Optional[dt.datetime] = None,
|
|
189
|
+
page_size: typing.Optional[int] = None,
|
|
190
|
+
remote_id: typing.Optional[str] = None,
|
|
191
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
192
|
+
) -> PaginatedAttachmentList:
|
|
193
|
+
"""
|
|
194
|
+
Returns a list of `Attachment` objects.
|
|
195
|
+
|
|
196
|
+
Parameters
|
|
197
|
+
----------
|
|
198
|
+
created_after : typing.Optional[dt.datetime]
|
|
199
|
+
If provided, will only return objects created after this datetime.
|
|
200
|
+
|
|
201
|
+
created_before : typing.Optional[dt.datetime]
|
|
202
|
+
If provided, will only return objects created before this datetime.
|
|
203
|
+
|
|
204
|
+
cursor : typing.Optional[str]
|
|
205
|
+
The pagination cursor value.
|
|
206
|
+
|
|
207
|
+
include_deleted_data : typing.Optional[bool]
|
|
208
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
209
|
+
|
|
210
|
+
include_remote_data : typing.Optional[bool]
|
|
211
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
212
|
+
|
|
213
|
+
include_shell_data : typing.Optional[bool]
|
|
214
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
215
|
+
|
|
216
|
+
modified_after : typing.Optional[dt.datetime]
|
|
217
|
+
If provided, only objects synced by Merge after this date time will be returned.
|
|
218
|
+
|
|
219
|
+
modified_before : typing.Optional[dt.datetime]
|
|
220
|
+
If provided, only objects synced by Merge before this date time will be returned.
|
|
221
|
+
|
|
222
|
+
page_size : typing.Optional[int]
|
|
223
|
+
Number of results to return per page.
|
|
224
|
+
|
|
225
|
+
remote_id : typing.Optional[str]
|
|
226
|
+
The API provider's ID for the given object.
|
|
227
|
+
|
|
228
|
+
request_options : typing.Optional[RequestOptions]
|
|
229
|
+
Request-specific configuration.
|
|
230
|
+
|
|
231
|
+
Returns
|
|
232
|
+
-------
|
|
233
|
+
PaginatedAttachmentList
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
Examples
|
|
237
|
+
--------
|
|
238
|
+
import asyncio
|
|
239
|
+
|
|
240
|
+
from merge import AsyncMerge
|
|
241
|
+
|
|
242
|
+
client = AsyncMerge(
|
|
243
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
244
|
+
api_key="YOUR_API_KEY",
|
|
245
|
+
)
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
async def main() -> None:
|
|
249
|
+
await client.knowledgebase.attachments.list(
|
|
250
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
251
|
+
)
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
asyncio.run(main())
|
|
255
|
+
"""
|
|
256
|
+
_response = await self._raw_client.list(
|
|
257
|
+
created_after=created_after,
|
|
258
|
+
created_before=created_before,
|
|
259
|
+
cursor=cursor,
|
|
260
|
+
include_deleted_data=include_deleted_data,
|
|
261
|
+
include_remote_data=include_remote_data,
|
|
262
|
+
include_shell_data=include_shell_data,
|
|
263
|
+
modified_after=modified_after,
|
|
264
|
+
modified_before=modified_before,
|
|
265
|
+
page_size=page_size,
|
|
266
|
+
remote_id=remote_id,
|
|
267
|
+
request_options=request_options,
|
|
268
|
+
)
|
|
269
|
+
return _response.data
|
|
270
|
+
|
|
271
|
+
async def retrieve(
|
|
272
|
+
self,
|
|
273
|
+
id: str,
|
|
274
|
+
*,
|
|
275
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
276
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
277
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
278
|
+
) -> Attachment:
|
|
279
|
+
"""
|
|
280
|
+
Returns an `Attachment` object with the given `id`.
|
|
281
|
+
|
|
282
|
+
Parameters
|
|
283
|
+
----------
|
|
284
|
+
id : str
|
|
285
|
+
|
|
286
|
+
include_remote_data : typing.Optional[bool]
|
|
287
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
288
|
+
|
|
289
|
+
include_shell_data : typing.Optional[bool]
|
|
290
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
291
|
+
|
|
292
|
+
request_options : typing.Optional[RequestOptions]
|
|
293
|
+
Request-specific configuration.
|
|
294
|
+
|
|
295
|
+
Returns
|
|
296
|
+
-------
|
|
297
|
+
Attachment
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
Examples
|
|
301
|
+
--------
|
|
302
|
+
import asyncio
|
|
303
|
+
|
|
304
|
+
from merge import AsyncMerge
|
|
305
|
+
|
|
306
|
+
client = AsyncMerge(
|
|
307
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
308
|
+
api_key="YOUR_API_KEY",
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
async def main() -> None:
|
|
313
|
+
await client.knowledgebase.attachments.retrieve(
|
|
314
|
+
id="id",
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
asyncio.run(main())
|
|
319
|
+
"""
|
|
320
|
+
_response = await self._raw_client.retrieve(
|
|
321
|
+
id,
|
|
322
|
+
include_remote_data=include_remote_data,
|
|
323
|
+
include_shell_data=include_shell_data,
|
|
324
|
+
request_options=request_options,
|
|
325
|
+
)
|
|
326
|
+
return _response.data
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
|
|
3
|
+
import datetime as dt
|
|
4
|
+
import typing
|
|
5
|
+
from json.decoder import JSONDecodeError
|
|
6
|
+
|
|
7
|
+
from .....core.api_error import ApiError
|
|
8
|
+
from .....core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
9
|
+
from .....core.datetime_utils import serialize_datetime
|
|
10
|
+
from .....core.http_response import AsyncHttpResponse, HttpResponse
|
|
11
|
+
from .....core.jsonable_encoder import jsonable_encoder
|
|
12
|
+
from .....core.request_options import RequestOptions
|
|
13
|
+
from .....core.unchecked_base_model import construct_type
|
|
14
|
+
from ...types.attachment import Attachment
|
|
15
|
+
from ...types.paginated_attachment_list import PaginatedAttachmentList
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class RawAttachmentsClient:
|
|
19
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
|
20
|
+
self._client_wrapper = client_wrapper
|
|
21
|
+
|
|
22
|
+
def list(
|
|
23
|
+
self,
|
|
24
|
+
*,
|
|
25
|
+
created_after: typing.Optional[dt.datetime] = None,
|
|
26
|
+
created_before: typing.Optional[dt.datetime] = None,
|
|
27
|
+
cursor: typing.Optional[str] = None,
|
|
28
|
+
include_deleted_data: typing.Optional[bool] = None,
|
|
29
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
30
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
31
|
+
modified_after: typing.Optional[dt.datetime] = None,
|
|
32
|
+
modified_before: typing.Optional[dt.datetime] = None,
|
|
33
|
+
page_size: typing.Optional[int] = None,
|
|
34
|
+
remote_id: typing.Optional[str] = None,
|
|
35
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
36
|
+
) -> HttpResponse[PaginatedAttachmentList]:
|
|
37
|
+
"""
|
|
38
|
+
Returns a list of `Attachment` objects.
|
|
39
|
+
|
|
40
|
+
Parameters
|
|
41
|
+
----------
|
|
42
|
+
created_after : typing.Optional[dt.datetime]
|
|
43
|
+
If provided, will only return objects created after this datetime.
|
|
44
|
+
|
|
45
|
+
created_before : typing.Optional[dt.datetime]
|
|
46
|
+
If provided, will only return objects created before this datetime.
|
|
47
|
+
|
|
48
|
+
cursor : typing.Optional[str]
|
|
49
|
+
The pagination cursor value.
|
|
50
|
+
|
|
51
|
+
include_deleted_data : typing.Optional[bool]
|
|
52
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
53
|
+
|
|
54
|
+
include_remote_data : typing.Optional[bool]
|
|
55
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
56
|
+
|
|
57
|
+
include_shell_data : typing.Optional[bool]
|
|
58
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
59
|
+
|
|
60
|
+
modified_after : typing.Optional[dt.datetime]
|
|
61
|
+
If provided, only objects synced by Merge after this date time will be returned.
|
|
62
|
+
|
|
63
|
+
modified_before : typing.Optional[dt.datetime]
|
|
64
|
+
If provided, only objects synced by Merge before this date time will be returned.
|
|
65
|
+
|
|
66
|
+
page_size : typing.Optional[int]
|
|
67
|
+
Number of results to return per page.
|
|
68
|
+
|
|
69
|
+
remote_id : typing.Optional[str]
|
|
70
|
+
The API provider's ID for the given object.
|
|
71
|
+
|
|
72
|
+
request_options : typing.Optional[RequestOptions]
|
|
73
|
+
Request-specific configuration.
|
|
74
|
+
|
|
75
|
+
Returns
|
|
76
|
+
-------
|
|
77
|
+
HttpResponse[PaginatedAttachmentList]
|
|
78
|
+
|
|
79
|
+
"""
|
|
80
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
81
|
+
"knowledgebase/v1/attachments",
|
|
82
|
+
method="GET",
|
|
83
|
+
params={
|
|
84
|
+
"created_after": serialize_datetime(created_after) if created_after is not None else None,
|
|
85
|
+
"created_before": serialize_datetime(created_before) if created_before is not None else None,
|
|
86
|
+
"cursor": cursor,
|
|
87
|
+
"include_deleted_data": include_deleted_data,
|
|
88
|
+
"include_remote_data": include_remote_data,
|
|
89
|
+
"include_shell_data": include_shell_data,
|
|
90
|
+
"modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
|
|
91
|
+
"modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
|
|
92
|
+
"page_size": page_size,
|
|
93
|
+
"remote_id": remote_id,
|
|
94
|
+
},
|
|
95
|
+
request_options=request_options,
|
|
96
|
+
)
|
|
97
|
+
try:
|
|
98
|
+
if 200 <= _response.status_code < 300:
|
|
99
|
+
_data = typing.cast(
|
|
100
|
+
PaginatedAttachmentList,
|
|
101
|
+
construct_type(
|
|
102
|
+
type_=PaginatedAttachmentList, # type: ignore
|
|
103
|
+
object_=_response.json(),
|
|
104
|
+
),
|
|
105
|
+
)
|
|
106
|
+
return HttpResponse(response=_response, data=_data)
|
|
107
|
+
_response_json = _response.json()
|
|
108
|
+
except JSONDecodeError:
|
|
109
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
110
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
111
|
+
|
|
112
|
+
def retrieve(
|
|
113
|
+
self,
|
|
114
|
+
id: str,
|
|
115
|
+
*,
|
|
116
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
117
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
118
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
119
|
+
) -> HttpResponse[Attachment]:
|
|
120
|
+
"""
|
|
121
|
+
Returns an `Attachment` object with the given `id`.
|
|
122
|
+
|
|
123
|
+
Parameters
|
|
124
|
+
----------
|
|
125
|
+
id : str
|
|
126
|
+
|
|
127
|
+
include_remote_data : typing.Optional[bool]
|
|
128
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
129
|
+
|
|
130
|
+
include_shell_data : typing.Optional[bool]
|
|
131
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
132
|
+
|
|
133
|
+
request_options : typing.Optional[RequestOptions]
|
|
134
|
+
Request-specific configuration.
|
|
135
|
+
|
|
136
|
+
Returns
|
|
137
|
+
-------
|
|
138
|
+
HttpResponse[Attachment]
|
|
139
|
+
|
|
140
|
+
"""
|
|
141
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
142
|
+
f"knowledgebase/v1/attachments/{jsonable_encoder(id)}",
|
|
143
|
+
method="GET",
|
|
144
|
+
params={
|
|
145
|
+
"include_remote_data": include_remote_data,
|
|
146
|
+
"include_shell_data": include_shell_data,
|
|
147
|
+
},
|
|
148
|
+
request_options=request_options,
|
|
149
|
+
)
|
|
150
|
+
try:
|
|
151
|
+
if 200 <= _response.status_code < 300:
|
|
152
|
+
_data = typing.cast(
|
|
153
|
+
Attachment,
|
|
154
|
+
construct_type(
|
|
155
|
+
type_=Attachment, # type: ignore
|
|
156
|
+
object_=_response.json(),
|
|
157
|
+
),
|
|
158
|
+
)
|
|
159
|
+
return HttpResponse(response=_response, data=_data)
|
|
160
|
+
_response_json = _response.json()
|
|
161
|
+
except JSONDecodeError:
|
|
162
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
163
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
class AsyncRawAttachmentsClient:
|
|
167
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
|
168
|
+
self._client_wrapper = client_wrapper
|
|
169
|
+
|
|
170
|
+
async def list(
|
|
171
|
+
self,
|
|
172
|
+
*,
|
|
173
|
+
created_after: typing.Optional[dt.datetime] = None,
|
|
174
|
+
created_before: typing.Optional[dt.datetime] = None,
|
|
175
|
+
cursor: typing.Optional[str] = None,
|
|
176
|
+
include_deleted_data: typing.Optional[bool] = None,
|
|
177
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
178
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
179
|
+
modified_after: typing.Optional[dt.datetime] = None,
|
|
180
|
+
modified_before: typing.Optional[dt.datetime] = None,
|
|
181
|
+
page_size: typing.Optional[int] = None,
|
|
182
|
+
remote_id: typing.Optional[str] = None,
|
|
183
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
184
|
+
) -> AsyncHttpResponse[PaginatedAttachmentList]:
|
|
185
|
+
"""
|
|
186
|
+
Returns a list of `Attachment` objects.
|
|
187
|
+
|
|
188
|
+
Parameters
|
|
189
|
+
----------
|
|
190
|
+
created_after : typing.Optional[dt.datetime]
|
|
191
|
+
If provided, will only return objects created after this datetime.
|
|
192
|
+
|
|
193
|
+
created_before : typing.Optional[dt.datetime]
|
|
194
|
+
If provided, will only return objects created before this datetime.
|
|
195
|
+
|
|
196
|
+
cursor : typing.Optional[str]
|
|
197
|
+
The pagination cursor value.
|
|
198
|
+
|
|
199
|
+
include_deleted_data : typing.Optional[bool]
|
|
200
|
+
Indicates whether or not this object has been deleted in the third party platform. Full coverage deletion detection is a premium add-on. Native deletion detection is offered for free with limited coverage. [Learn more](https://docs.merge.dev/integrations/hris/supported-features/).
|
|
201
|
+
|
|
202
|
+
include_remote_data : typing.Optional[bool]
|
|
203
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
204
|
+
|
|
205
|
+
include_shell_data : typing.Optional[bool]
|
|
206
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
207
|
+
|
|
208
|
+
modified_after : typing.Optional[dt.datetime]
|
|
209
|
+
If provided, only objects synced by Merge after this date time will be returned.
|
|
210
|
+
|
|
211
|
+
modified_before : typing.Optional[dt.datetime]
|
|
212
|
+
If provided, only objects synced by Merge before this date time will be returned.
|
|
213
|
+
|
|
214
|
+
page_size : typing.Optional[int]
|
|
215
|
+
Number of results to return per page.
|
|
216
|
+
|
|
217
|
+
remote_id : typing.Optional[str]
|
|
218
|
+
The API provider's ID for the given object.
|
|
219
|
+
|
|
220
|
+
request_options : typing.Optional[RequestOptions]
|
|
221
|
+
Request-specific configuration.
|
|
222
|
+
|
|
223
|
+
Returns
|
|
224
|
+
-------
|
|
225
|
+
AsyncHttpResponse[PaginatedAttachmentList]
|
|
226
|
+
|
|
227
|
+
"""
|
|
228
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
229
|
+
"knowledgebase/v1/attachments",
|
|
230
|
+
method="GET",
|
|
231
|
+
params={
|
|
232
|
+
"created_after": serialize_datetime(created_after) if created_after is not None else None,
|
|
233
|
+
"created_before": serialize_datetime(created_before) if created_before is not None else None,
|
|
234
|
+
"cursor": cursor,
|
|
235
|
+
"include_deleted_data": include_deleted_data,
|
|
236
|
+
"include_remote_data": include_remote_data,
|
|
237
|
+
"include_shell_data": include_shell_data,
|
|
238
|
+
"modified_after": serialize_datetime(modified_after) if modified_after is not None else None,
|
|
239
|
+
"modified_before": serialize_datetime(modified_before) if modified_before is not None else None,
|
|
240
|
+
"page_size": page_size,
|
|
241
|
+
"remote_id": remote_id,
|
|
242
|
+
},
|
|
243
|
+
request_options=request_options,
|
|
244
|
+
)
|
|
245
|
+
try:
|
|
246
|
+
if 200 <= _response.status_code < 300:
|
|
247
|
+
_data = typing.cast(
|
|
248
|
+
PaginatedAttachmentList,
|
|
249
|
+
construct_type(
|
|
250
|
+
type_=PaginatedAttachmentList, # type: ignore
|
|
251
|
+
object_=_response.json(),
|
|
252
|
+
),
|
|
253
|
+
)
|
|
254
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
255
|
+
_response_json = _response.json()
|
|
256
|
+
except JSONDecodeError:
|
|
257
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
258
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
259
|
+
|
|
260
|
+
async def retrieve(
|
|
261
|
+
self,
|
|
262
|
+
id: str,
|
|
263
|
+
*,
|
|
264
|
+
include_remote_data: typing.Optional[bool] = None,
|
|
265
|
+
include_shell_data: typing.Optional[bool] = None,
|
|
266
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
267
|
+
) -> AsyncHttpResponse[Attachment]:
|
|
268
|
+
"""
|
|
269
|
+
Returns an `Attachment` object with the given `id`.
|
|
270
|
+
|
|
271
|
+
Parameters
|
|
272
|
+
----------
|
|
273
|
+
id : str
|
|
274
|
+
|
|
275
|
+
include_remote_data : typing.Optional[bool]
|
|
276
|
+
Whether to include the original data Merge fetched from the third-party to produce these models.
|
|
277
|
+
|
|
278
|
+
include_shell_data : typing.Optional[bool]
|
|
279
|
+
Whether to include shell records. Shell records are empty records (they may contain some metadata but all other fields are null).
|
|
280
|
+
|
|
281
|
+
request_options : typing.Optional[RequestOptions]
|
|
282
|
+
Request-specific configuration.
|
|
283
|
+
|
|
284
|
+
Returns
|
|
285
|
+
-------
|
|
286
|
+
AsyncHttpResponse[Attachment]
|
|
287
|
+
|
|
288
|
+
"""
|
|
289
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
290
|
+
f"knowledgebase/v1/attachments/{jsonable_encoder(id)}",
|
|
291
|
+
method="GET",
|
|
292
|
+
params={
|
|
293
|
+
"include_remote_data": include_remote_data,
|
|
294
|
+
"include_shell_data": include_shell_data,
|
|
295
|
+
},
|
|
296
|
+
request_options=request_options,
|
|
297
|
+
)
|
|
298
|
+
try:
|
|
299
|
+
if 200 <= _response.status_code < 300:
|
|
300
|
+
_data = typing.cast(
|
|
301
|
+
Attachment,
|
|
302
|
+
construct_type(
|
|
303
|
+
type_=Attachment, # type: ignore
|
|
304
|
+
object_=_response.json(),
|
|
305
|
+
),
|
|
306
|
+
)
|
|
307
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
308
|
+
_response_json = _response.json()
|
|
309
|
+
except JSONDecodeError:
|
|
310
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
311
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|