mergepythonclient 2.1.1__py3-none-any.whl → 2.3.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 +40 -4
- merge/client.py +118 -18
- merge/core/__init__.py +75 -21
- merge/core/client_wrapper.py +2 -2
- merge/core/force_multipart.py +4 -2
- merge/core/http_response.py +1 -1
- merge/core/unchecked_base_model.py +3 -3
- merge/resources/__init__.py +33 -1
- merge/resources/accounting/__init__.py +1242 -607
- merge/resources/accounting/client.py +835 -165
- merge/resources/accounting/resources/__init__.py +208 -92
- merge/resources/accounting/resources/accounting_periods/client.py +6 -2
- merge/resources/accounting/resources/accounts/__init__.py +36 -6
- merge/resources/accounting/resources/accounts/client.py +6 -2
- merge/resources/accounting/resources/accounts/types/__init__.py +34 -4
- merge/resources/accounting/resources/async_passthrough/__init__.py +26 -1
- merge/resources/accounting/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/accounting/resources/attachments/client.py +6 -2
- merge/resources/accounting/resources/audit_trail/client.py +6 -2
- merge/resources/accounting/resources/balance_sheets/client.py +6 -2
- merge/resources/accounting/resources/bank_feed_accounts/client.py +6 -2
- merge/resources/accounting/resources/bank_feed_transactions/client.py +6 -2
- merge/resources/accounting/resources/cash_flow_statements/client.py +6 -2
- merge/resources/accounting/resources/company_info/__init__.py +29 -1
- merge/resources/accounting/resources/company_info/client.py +6 -2
- merge/resources/accounting/resources/company_info/types/__init__.py +30 -2
- merge/resources/accounting/resources/contacts/__init__.py +29 -1
- merge/resources/accounting/resources/contacts/client.py +195 -4
- merge/resources/accounting/resources/contacts/raw_client.py +203 -0
- merge/resources/accounting/resources/contacts/types/__init__.py +30 -2
- merge/resources/accounting/resources/credit_notes/__init__.py +40 -8
- merge/resources/accounting/resources/credit_notes/client.py +6 -2
- merge/resources/accounting/resources/credit_notes/types/__init__.py +38 -6
- merge/resources/accounting/resources/employees/client.py +6 -2
- merge/resources/accounting/resources/expense_reports/__init__.py +34 -5
- merge/resources/accounting/resources/expense_reports/client.py +20 -6
- merge/resources/accounting/resources/expense_reports/types/__init__.py +32 -3
- merge/resources/accounting/resources/expenses/__init__.py +29 -1
- merge/resources/accounting/resources/expenses/client.py +18 -6
- merge/resources/accounting/resources/expenses/types/__init__.py +30 -2
- merge/resources/accounting/resources/general_ledger_transactions/__init__.py +29 -1
- merge/resources/accounting/resources/general_ledger_transactions/client.py +6 -2
- merge/resources/accounting/resources/general_ledger_transactions/types/__init__.py +30 -2
- merge/resources/accounting/resources/income_statements/client.py +6 -2
- merge/resources/accounting/resources/invoices/__init__.py +36 -6
- merge/resources/accounting/resources/invoices/client.py +18 -6
- merge/resources/accounting/resources/invoices/types/__init__.py +34 -4
- merge/resources/accounting/resources/issues/__init__.py +26 -1
- merge/resources/accounting/resources/issues/client.py +6 -2
- merge/resources/accounting/resources/issues/types/__init__.py +26 -1
- merge/resources/accounting/resources/items/__init__.py +26 -1
- merge/resources/accounting/resources/items/client.py +6 -2
- merge/resources/accounting/resources/items/types/__init__.py +30 -2
- merge/resources/accounting/resources/journal_entries/__init__.py +29 -1
- merge/resources/accounting/resources/journal_entries/client.py +18 -6
- merge/resources/accounting/resources/journal_entries/types/__init__.py +30 -2
- merge/resources/accounting/resources/link_token/__init__.py +26 -1
- merge/resources/accounting/resources/link_token/types/__init__.py +26 -1
- merge/resources/accounting/resources/linked_accounts/__init__.py +26 -1
- merge/resources/accounting/resources/linked_accounts/client.py +6 -2
- merge/resources/accounting/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/accounting/resources/payment_methods/client.py +6 -2
- merge/resources/accounting/resources/payment_terms/client.py +6 -2
- merge/resources/accounting/resources/payments/__init__.py +29 -1
- merge/resources/accounting/resources/payments/client.py +18 -6
- merge/resources/accounting/resources/payments/types/__init__.py +30 -2
- merge/resources/accounting/resources/projects/__init__.py +29 -1
- merge/resources/accounting/resources/projects/client.py +6 -2
- merge/resources/accounting/resources/projects/types/__init__.py +30 -2
- merge/resources/accounting/resources/purchase_orders/__init__.py +29 -1
- merge/resources/accounting/resources/purchase_orders/client.py +18 -6
- merge/resources/accounting/resources/purchase_orders/types/__init__.py +30 -2
- merge/resources/accounting/resources/sync_status/client.py +6 -2
- merge/resources/accounting/resources/tax_rates/client.py +6 -2
- merge/resources/accounting/resources/tracking_categories/client.py +6 -2
- merge/resources/accounting/resources/transactions/__init__.py +29 -1
- merge/resources/accounting/resources/transactions/client.py +6 -2
- merge/resources/accounting/resources/transactions/types/__init__.py +30 -2
- merge/resources/accounting/resources/transactions/types/transactions_list_request_expand.py +141 -0
- merge/resources/accounting/resources/transactions/types/transactions_retrieve_request_expand.py +141 -0
- merge/resources/accounting/resources/vendor_credits/__init__.py +29 -1
- merge/resources/accounting/resources/vendor_credits/client.py +6 -2
- merge/resources/accounting/resources/vendor_credits/types/__init__.py +30 -2
- merge/resources/accounting/types/__init__.py +1070 -519
- merge/resources/accounting/types/patched_contact_request.py +91 -0
- merge/resources/accounting/types/patched_contact_request_addresses_item.py +7 -0
- merge/resources/accounting/types/remote_field_class.py +1 -0
- merge/resources/ats/__init__.py +586 -282
- merge/resources/ats/client.py +590 -120
- merge/resources/ats/resources/__init__.py +150 -63
- merge/resources/ats/resources/activities/__init__.py +36 -6
- merge/resources/ats/resources/activities/client.py +6 -2
- merge/resources/ats/resources/activities/types/__init__.py +34 -4
- merge/resources/ats/resources/applications/__init__.py +29 -1
- merge/resources/ats/resources/applications/client.py +6 -2
- merge/resources/ats/resources/applications/types/__init__.py +30 -2
- merge/resources/ats/resources/async_passthrough/__init__.py +26 -1
- merge/resources/ats/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/ats/resources/attachments/client.py +6 -2
- merge/resources/ats/resources/audit_trail/client.py +6 -2
- merge/resources/ats/resources/candidates/__init__.py +30 -1
- merge/resources/ats/resources/candidates/client.py +6 -2
- merge/resources/ats/resources/candidates/types/__init__.py +32 -3
- merge/resources/ats/resources/departments/client.py +6 -2
- merge/resources/ats/resources/eeocs/__init__.py +36 -6
- merge/resources/ats/resources/eeocs/client.py +6 -2
- merge/resources/ats/resources/eeocs/types/__init__.py +34 -4
- merge/resources/ats/resources/interviews/__init__.py +29 -1
- merge/resources/ats/resources/interviews/client.py +6 -2
- merge/resources/ats/resources/interviews/types/__init__.py +30 -2
- merge/resources/ats/resources/issues/__init__.py +26 -1
- merge/resources/ats/resources/issues/client.py +6 -2
- merge/resources/ats/resources/issues/types/__init__.py +26 -1
- merge/resources/ats/resources/job_interview_stages/client.py +6 -2
- merge/resources/ats/resources/job_postings/__init__.py +26 -1
- merge/resources/ats/resources/job_postings/client.py +6 -2
- merge/resources/ats/resources/job_postings/types/__init__.py +26 -1
- merge/resources/ats/resources/jobs/__init__.py +36 -6
- merge/resources/ats/resources/jobs/client.py +8 -2
- merge/resources/ats/resources/jobs/types/__init__.py +34 -4
- merge/resources/ats/resources/link_token/__init__.py +26 -1
- merge/resources/ats/resources/link_token/types/__init__.py +26 -1
- merge/resources/ats/resources/linked_accounts/__init__.py +26 -1
- merge/resources/ats/resources/linked_accounts/client.py +6 -2
- merge/resources/ats/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/ats/resources/offers/__init__.py +26 -1
- merge/resources/ats/resources/offers/client.py +6 -2
- merge/resources/ats/resources/offers/types/__init__.py +30 -2
- merge/resources/ats/resources/offices/client.py +6 -2
- merge/resources/ats/resources/reject_reasons/client.py +6 -2
- merge/resources/ats/resources/scorecards/__init__.py +29 -1
- merge/resources/ats/resources/scorecards/client.py +6 -2
- merge/resources/ats/resources/scorecards/types/__init__.py +30 -2
- merge/resources/ats/resources/sync_status/client.py +6 -2
- merge/resources/ats/resources/tags/client.py +6 -2
- merge/resources/ats/resources/users/client.py +6 -2
- merge/resources/ats/types/__init__.py +462 -219
- merge/resources/ats/types/event_type_enum.py +4 -0
- merge/resources/crm/__init__.py +566 -272
- merge/resources/crm/client.py +556 -114
- merge/resources/crm/resources/__init__.py +121 -47
- merge/resources/crm/resources/accounts/client.py +12 -4
- merge/resources/crm/resources/association_types/client.py +2 -0
- merge/resources/crm/resources/associations/client.py +2 -0
- merge/resources/crm/resources/async_passthrough/__init__.py +26 -1
- merge/resources/crm/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/crm/resources/audit_trail/client.py +6 -2
- merge/resources/crm/resources/contacts/__init__.py +29 -1
- merge/resources/crm/resources/contacts/client.py +12 -4
- merge/resources/crm/resources/contacts/types/__init__.py +30 -2
- merge/resources/crm/resources/custom_object_classes/client.py +6 -2
- merge/resources/crm/resources/custom_objects/client.py +8 -2
- merge/resources/crm/resources/engagement_types/client.py +12 -4
- merge/resources/crm/resources/engagements/__init__.py +29 -1
- merge/resources/crm/resources/engagements/client.py +12 -4
- merge/resources/crm/resources/engagements/types/__init__.py +30 -2
- merge/resources/crm/resources/issues/__init__.py +26 -1
- merge/resources/crm/resources/issues/client.py +6 -2
- merge/resources/crm/resources/issues/types/__init__.py +26 -1
- merge/resources/crm/resources/leads/__init__.py +26 -1
- merge/resources/crm/resources/leads/client.py +12 -4
- merge/resources/crm/resources/leads/types/__init__.py +30 -2
- merge/resources/crm/resources/link_token/__init__.py +26 -1
- merge/resources/crm/resources/link_token/types/__init__.py +26 -1
- merge/resources/crm/resources/linked_accounts/__init__.py +26 -1
- merge/resources/crm/resources/linked_accounts/client.py +6 -2
- merge/resources/crm/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/crm/resources/notes/__init__.py +26 -1
- merge/resources/crm/resources/notes/client.py +12 -4
- merge/resources/crm/resources/notes/types/__init__.py +30 -2
- merge/resources/crm/resources/opportunities/__init__.py +34 -1
- merge/resources/crm/resources/opportunities/client.py +12 -4
- merge/resources/crm/resources/opportunities/types/__init__.py +32 -3
- merge/resources/crm/resources/stages/client.py +12 -4
- merge/resources/crm/resources/sync_status/client.py +6 -2
- merge/resources/crm/resources/tasks/__init__.py +26 -1
- merge/resources/crm/resources/tasks/client.py +12 -4
- merge/resources/crm/resources/tasks/types/__init__.py +30 -2
- merge/resources/crm/resources/users/client.py +12 -4
- merge/resources/crm/types/__init__.py +470 -224
- merge/resources/crm/types/remote_field_class.py +1 -0
- merge/resources/filestorage/__init__.py +322 -150
- merge/resources/filestorage/client.py +405 -87
- merge/resources/filestorage/resources/__init__.py +91 -34
- merge/resources/filestorage/resources/async_passthrough/__init__.py +26 -1
- merge/resources/filestorage/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/filestorage/resources/audit_trail/client.py +6 -2
- merge/resources/filestorage/resources/drives/client.py +6 -2
- merge/resources/filestorage/resources/files/__init__.py +36 -6
- merge/resources/filestorage/resources/files/client.py +42 -4
- merge/resources/filestorage/resources/files/raw_client.py +38 -0
- merge/resources/filestorage/resources/files/types/__init__.py +34 -4
- merge/resources/filestorage/resources/folders/__init__.py +29 -1
- merge/resources/filestorage/resources/folders/client.py +6 -2
- merge/resources/filestorage/resources/folders/types/__init__.py +30 -2
- merge/resources/filestorage/resources/groups/client.py +6 -2
- merge/resources/filestorage/resources/issues/__init__.py +26 -1
- merge/resources/filestorage/resources/issues/client.py +6 -2
- merge/resources/filestorage/resources/issues/types/__init__.py +26 -1
- merge/resources/filestorage/resources/linked_accounts/__init__.py +26 -1
- merge/resources/filestorage/resources/linked_accounts/client.py +6 -2
- merge/resources/filestorage/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/filestorage/resources/sync_status/client.py +6 -2
- merge/resources/filestorage/resources/users/client.py +6 -2
- merge/resources/filestorage/types/__init__.py +258 -117
- merge/resources/hris/__init__.py +576 -277
- merge/resources/hris/client.py +590 -120
- merge/resources/hris/resources/__init__.py +188 -86
- merge/resources/hris/resources/async_passthrough/__init__.py +26 -1
- merge/resources/hris/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/hris/resources/audit_trail/client.py +6 -2
- merge/resources/hris/resources/bank_info/__init__.py +29 -1
- merge/resources/hris/resources/bank_info/client.py +6 -2
- merge/resources/hris/resources/bank_info/types/__init__.py +30 -2
- merge/resources/hris/resources/benefits/client.py +6 -2
- merge/resources/hris/resources/companies/client.py +6 -2
- merge/resources/hris/resources/dependents/client.py +6 -2
- merge/resources/hris/resources/employee_payroll_runs/__init__.py +29 -1
- merge/resources/hris/resources/employee_payroll_runs/client.py +6 -2
- merge/resources/hris/resources/employee_payroll_runs/types/__init__.py +30 -2
- merge/resources/hris/resources/employees/__init__.py +44 -10
- merge/resources/hris/resources/employees/client.py +6 -2
- merge/resources/hris/resources/employees/types/__init__.py +42 -8
- merge/resources/hris/resources/employer_benefits/client.py +6 -2
- merge/resources/hris/resources/employments/__init__.py +42 -9
- merge/resources/hris/resources/employments/client.py +6 -2
- merge/resources/hris/resources/employments/types/__init__.py +40 -7
- merge/resources/hris/resources/groups/client.py +6 -2
- merge/resources/hris/resources/issues/__init__.py +26 -1
- merge/resources/hris/resources/issues/client.py +6 -2
- merge/resources/hris/resources/issues/types/__init__.py +26 -1
- merge/resources/hris/resources/link_token/__init__.py +26 -1
- merge/resources/hris/resources/link_token/types/__init__.py +26 -1
- merge/resources/hris/resources/linked_accounts/__init__.py +26 -1
- merge/resources/hris/resources/linked_accounts/client.py +6 -2
- merge/resources/hris/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/hris/resources/locations/__init__.py +38 -7
- merge/resources/hris/resources/locations/client.py +6 -2
- merge/resources/hris/resources/locations/types/__init__.py +36 -5
- merge/resources/hris/resources/pay_groups/client.py +6 -2
- merge/resources/hris/resources/payroll_runs/__init__.py +38 -7
- merge/resources/hris/resources/payroll_runs/client.py +6 -2
- merge/resources/hris/resources/payroll_runs/types/__init__.py +36 -5
- merge/resources/hris/resources/sync_status/client.py +6 -2
- merge/resources/hris/resources/teams/client.py +6 -2
- merge/resources/hris/resources/time_off/__init__.py +44 -10
- merge/resources/hris/resources/time_off/client.py +6 -2
- merge/resources/hris/resources/time_off/types/__init__.py +42 -8
- merge/resources/hris/resources/time_off_balances/__init__.py +26 -1
- merge/resources/hris/resources/time_off_balances/client.py +6 -2
- merge/resources/hris/resources/time_off_balances/types/__init__.py +28 -1
- merge/resources/hris/resources/timesheet_entries/__init__.py +26 -1
- merge/resources/hris/resources/timesheet_entries/client.py +6 -2
- merge/resources/hris/resources/timesheet_entries/types/__init__.py +28 -1
- merge/resources/hris/types/__init__.py +422 -199
- merge/resources/hris/types/benefit.py +4 -4
- merge/resources/ticketing/__init__.py +464 -221
- merge/resources/ticketing/client.py +507 -105
- merge/resources/ticketing/resources/__init__.py +120 -48
- merge/resources/ticketing/resources/accounts/client.py +6 -2
- merge/resources/ticketing/resources/async_passthrough/__init__.py +26 -1
- merge/resources/ticketing/resources/async_passthrough/types/__init__.py +26 -1
- merge/resources/ticketing/resources/attachments/client.py +6 -2
- merge/resources/ticketing/resources/audit_trail/client.py +6 -2
- merge/resources/ticketing/resources/collections/__init__.py +26 -1
- merge/resources/ticketing/resources/collections/client.py +8 -2
- merge/resources/ticketing/resources/collections/types/__init__.py +28 -1
- merge/resources/ticketing/resources/comments/__init__.py +29 -1
- merge/resources/ticketing/resources/comments/client.py +6 -2
- merge/resources/ticketing/resources/comments/types/__init__.py +30 -2
- merge/resources/ticketing/resources/contacts/client.py +6 -2
- merge/resources/ticketing/resources/issues/__init__.py +26 -1
- merge/resources/ticketing/resources/issues/client.py +6 -2
- merge/resources/ticketing/resources/issues/types/__init__.py +26 -1
- merge/resources/ticketing/resources/link_token/__init__.py +26 -1
- merge/resources/ticketing/resources/link_token/types/__init__.py +26 -1
- merge/resources/ticketing/resources/linked_accounts/__init__.py +26 -1
- merge/resources/ticketing/resources/linked_accounts/client.py +6 -2
- merge/resources/ticketing/resources/linked_accounts/types/__init__.py +28 -1
- merge/resources/ticketing/resources/projects/__init__.py +26 -1
- merge/resources/ticketing/resources/projects/client.py +8 -2
- merge/resources/ticketing/resources/projects/types/__init__.py +26 -1
- merge/resources/ticketing/resources/roles/client.py +6 -2
- merge/resources/ticketing/resources/sync_status/client.py +6 -2
- merge/resources/ticketing/resources/tags/client.py +6 -2
- merge/resources/ticketing/resources/teams/client.py +6 -2
- merge/resources/ticketing/resources/tickets/__init__.py +44 -10
- merge/resources/ticketing/resources/tickets/client.py +24 -4
- merge/resources/ticketing/resources/tickets/raw_client.py +10 -0
- merge/resources/ticketing/resources/tickets/types/__init__.py +42 -8
- merge/resources/ticketing/resources/users/__init__.py +26 -1
- merge/resources/ticketing/resources/users/client.py +6 -2
- merge/resources/ticketing/resources/users/types/__init__.py +30 -2
- merge/resources/ticketing/types/__init__.py +370 -173
- merge/resources/ticketing/types/patched_ticket_request.py +5 -5
- merge/resources/ticketing/types/remote_field_class.py +1 -0
- {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/METADATA +5 -2
- {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/RECORD +300 -298
- {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/LICENSE.md +0 -0
- {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/WHEEL +0 -0
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .types import CompanyInfoListRequestExpand, CompanyInfoRetrieveRequestExpand
|
|
10
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
11
|
+
"CompanyInfoListRequestExpand": ".types",
|
|
12
|
+
"CompanyInfoRetrieveRequestExpand": ".types",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
17
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
18
|
+
if module_name is None:
|
|
19
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
20
|
+
try:
|
|
21
|
+
module = import_module(module_name, __package__)
|
|
22
|
+
result = getattr(module, attr_name)
|
|
23
|
+
return result
|
|
24
|
+
except ImportError as e:
|
|
25
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
26
|
+
except AttributeError as e:
|
|
27
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def __dir__():
|
|
31
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
32
|
+
return sorted(lazy_attrs)
|
|
33
|
+
|
|
6
34
|
|
|
7
35
|
__all__ = ["CompanyInfoListRequestExpand", "CompanyInfoRetrieveRequestExpand"]
|
|
@@ -97,7 +97,9 @@ class CompanyInfoClient:
|
|
|
97
97
|
account_token="YOUR_ACCOUNT_TOKEN",
|
|
98
98
|
api_key="YOUR_API_KEY",
|
|
99
99
|
)
|
|
100
|
-
client.accounting.company_info.list(
|
|
100
|
+
client.accounting.company_info.list(
|
|
101
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
102
|
+
)
|
|
101
103
|
"""
|
|
102
104
|
_response = self._raw_client.list(
|
|
103
105
|
created_after=created_after,
|
|
@@ -260,7 +262,9 @@ class AsyncCompanyInfoClient:
|
|
|
260
262
|
|
|
261
263
|
|
|
262
264
|
async def main() -> None:
|
|
263
|
-
await client.accounting.company_info.list(
|
|
265
|
+
await client.accounting.company_info.list(
|
|
266
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
267
|
+
)
|
|
264
268
|
|
|
265
269
|
|
|
266
270
|
asyncio.run(main())
|
|
@@ -2,7 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
from
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .company_info_list_request_expand import CompanyInfoListRequestExpand
|
|
10
|
+
from .company_info_retrieve_request_expand import CompanyInfoRetrieveRequestExpand
|
|
11
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
12
|
+
"CompanyInfoListRequestExpand": ".company_info_list_request_expand",
|
|
13
|
+
"CompanyInfoRetrieveRequestExpand": ".company_info_retrieve_request_expand",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
18
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
19
|
+
if module_name is None:
|
|
20
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
21
|
+
try:
|
|
22
|
+
module = import_module(module_name, __package__)
|
|
23
|
+
result = getattr(module, attr_name)
|
|
24
|
+
return result
|
|
25
|
+
except ImportError as e:
|
|
26
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
27
|
+
except AttributeError as e:
|
|
28
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def __dir__():
|
|
32
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
33
|
+
return sorted(lazy_attrs)
|
|
34
|
+
|
|
7
35
|
|
|
8
36
|
__all__ = ["CompanyInfoListRequestExpand", "CompanyInfoRetrieveRequestExpand"]
|
|
@@ -2,6 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .types import ContactsListRequestExpand, ContactsRetrieveRequestExpand
|
|
10
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
11
|
+
"ContactsListRequestExpand": ".types",
|
|
12
|
+
"ContactsRetrieveRequestExpand": ".types",
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
17
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
18
|
+
if module_name is None:
|
|
19
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
20
|
+
try:
|
|
21
|
+
module = import_module(module_name, __package__)
|
|
22
|
+
result = getattr(module, attr_name)
|
|
23
|
+
return result
|
|
24
|
+
except ImportError as e:
|
|
25
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
26
|
+
except AttributeError as e:
|
|
27
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def __dir__():
|
|
31
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
32
|
+
return sorted(lazy_attrs)
|
|
33
|
+
|
|
6
34
|
|
|
7
35
|
__all__ = ["ContactsListRequestExpand", "ContactsRetrieveRequestExpand"]
|
|
@@ -11,6 +11,7 @@ from ...types.contact_response import ContactResponse
|
|
|
11
11
|
from ...types.meta_response import MetaResponse
|
|
12
12
|
from ...types.paginated_contact_list import PaginatedContactList
|
|
13
13
|
from ...types.paginated_remote_field_class_list import PaginatedRemoteFieldClassList
|
|
14
|
+
from ...types.patched_contact_request import PatchedContactRequest
|
|
14
15
|
from .raw_client import AsyncRawContactsClient, RawContactsClient
|
|
15
16
|
from .types.contacts_list_request_expand import ContactsListRequestExpand
|
|
16
17
|
from .types.contacts_retrieve_request_expand import ContactsRetrieveRequestExpand
|
|
@@ -140,7 +141,9 @@ class ContactsClient:
|
|
|
140
141
|
account_token="YOUR_ACCOUNT_TOKEN",
|
|
141
142
|
api_key="YOUR_API_KEY",
|
|
142
143
|
)
|
|
143
|
-
client.accounting.contacts.list(
|
|
144
|
+
client.accounting.contacts.list(
|
|
145
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
146
|
+
)
|
|
144
147
|
"""
|
|
145
148
|
_response = self._raw_client.list(
|
|
146
149
|
company_id=company_id,
|
|
@@ -283,6 +286,88 @@ class ContactsClient:
|
|
|
283
286
|
)
|
|
284
287
|
return _response.data
|
|
285
288
|
|
|
289
|
+
def partial_update(
|
|
290
|
+
self,
|
|
291
|
+
id: str,
|
|
292
|
+
*,
|
|
293
|
+
model: PatchedContactRequest,
|
|
294
|
+
is_debug_mode: typing.Optional[bool] = None,
|
|
295
|
+
run_async: typing.Optional[bool] = None,
|
|
296
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
297
|
+
) -> ContactResponse:
|
|
298
|
+
"""
|
|
299
|
+
Updates a `Contact` object with the given `id`.
|
|
300
|
+
|
|
301
|
+
Parameters
|
|
302
|
+
----------
|
|
303
|
+
id : str
|
|
304
|
+
|
|
305
|
+
model : PatchedContactRequest
|
|
306
|
+
|
|
307
|
+
is_debug_mode : typing.Optional[bool]
|
|
308
|
+
Whether to include debug fields (such as log file links) in the response.
|
|
309
|
+
|
|
310
|
+
run_async : typing.Optional[bool]
|
|
311
|
+
Whether or not third-party updates should be run asynchronously.
|
|
312
|
+
|
|
313
|
+
request_options : typing.Optional[RequestOptions]
|
|
314
|
+
Request-specific configuration.
|
|
315
|
+
|
|
316
|
+
Returns
|
|
317
|
+
-------
|
|
318
|
+
ContactResponse
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
Examples
|
|
322
|
+
--------
|
|
323
|
+
from merge import Merge
|
|
324
|
+
from merge.resources.accounting import PatchedContactRequest
|
|
325
|
+
|
|
326
|
+
client = Merge(
|
|
327
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
328
|
+
api_key="YOUR_API_KEY",
|
|
329
|
+
)
|
|
330
|
+
client.accounting.contacts.partial_update(
|
|
331
|
+
id="id",
|
|
332
|
+
model=PatchedContactRequest(),
|
|
333
|
+
)
|
|
334
|
+
"""
|
|
335
|
+
_response = self._raw_client.partial_update(
|
|
336
|
+
id, model=model, is_debug_mode=is_debug_mode, run_async=run_async, request_options=request_options
|
|
337
|
+
)
|
|
338
|
+
return _response.data
|
|
339
|
+
|
|
340
|
+
def meta_patch_retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MetaResponse:
|
|
341
|
+
"""
|
|
342
|
+
Returns metadata for `Contact` PATCHs.
|
|
343
|
+
|
|
344
|
+
Parameters
|
|
345
|
+
----------
|
|
346
|
+
id : str
|
|
347
|
+
|
|
348
|
+
request_options : typing.Optional[RequestOptions]
|
|
349
|
+
Request-specific configuration.
|
|
350
|
+
|
|
351
|
+
Returns
|
|
352
|
+
-------
|
|
353
|
+
MetaResponse
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
Examples
|
|
357
|
+
--------
|
|
358
|
+
from merge import Merge
|
|
359
|
+
|
|
360
|
+
client = Merge(
|
|
361
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
362
|
+
api_key="YOUR_API_KEY",
|
|
363
|
+
)
|
|
364
|
+
client.accounting.contacts.meta_patch_retrieve(
|
|
365
|
+
id="id",
|
|
366
|
+
)
|
|
367
|
+
"""
|
|
368
|
+
_response = self._raw_client.meta_patch_retrieve(id, request_options=request_options)
|
|
369
|
+
return _response.data
|
|
370
|
+
|
|
286
371
|
def meta_post_retrieve(self, *, request_options: typing.Optional[RequestOptions] = None) -> MetaResponse:
|
|
287
372
|
"""
|
|
288
373
|
Returns metadata for `Contact` POSTs.
|
|
@@ -364,7 +449,9 @@ class ContactsClient:
|
|
|
364
449
|
account_token="YOUR_ACCOUNT_TOKEN",
|
|
365
450
|
api_key="YOUR_API_KEY",
|
|
366
451
|
)
|
|
367
|
-
client.accounting.contacts.remote_field_classes_list(
|
|
452
|
+
client.accounting.contacts.remote_field_classes_list(
|
|
453
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
454
|
+
)
|
|
368
455
|
"""
|
|
369
456
|
_response = self._raw_client.remote_field_classes_list(
|
|
370
457
|
cursor=cursor,
|
|
@@ -505,7 +592,9 @@ class AsyncContactsClient:
|
|
|
505
592
|
|
|
506
593
|
|
|
507
594
|
async def main() -> None:
|
|
508
|
-
await client.accounting.contacts.list(
|
|
595
|
+
await client.accounting.contacts.list(
|
|
596
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
597
|
+
)
|
|
509
598
|
|
|
510
599
|
|
|
511
600
|
asyncio.run(main())
|
|
@@ -667,6 +756,106 @@ class AsyncContactsClient:
|
|
|
667
756
|
)
|
|
668
757
|
return _response.data
|
|
669
758
|
|
|
759
|
+
async def partial_update(
|
|
760
|
+
self,
|
|
761
|
+
id: str,
|
|
762
|
+
*,
|
|
763
|
+
model: PatchedContactRequest,
|
|
764
|
+
is_debug_mode: typing.Optional[bool] = None,
|
|
765
|
+
run_async: typing.Optional[bool] = None,
|
|
766
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
767
|
+
) -> ContactResponse:
|
|
768
|
+
"""
|
|
769
|
+
Updates a `Contact` object with the given `id`.
|
|
770
|
+
|
|
771
|
+
Parameters
|
|
772
|
+
----------
|
|
773
|
+
id : str
|
|
774
|
+
|
|
775
|
+
model : PatchedContactRequest
|
|
776
|
+
|
|
777
|
+
is_debug_mode : typing.Optional[bool]
|
|
778
|
+
Whether to include debug fields (such as log file links) in the response.
|
|
779
|
+
|
|
780
|
+
run_async : typing.Optional[bool]
|
|
781
|
+
Whether or not third-party updates should be run asynchronously.
|
|
782
|
+
|
|
783
|
+
request_options : typing.Optional[RequestOptions]
|
|
784
|
+
Request-specific configuration.
|
|
785
|
+
|
|
786
|
+
Returns
|
|
787
|
+
-------
|
|
788
|
+
ContactResponse
|
|
789
|
+
|
|
790
|
+
|
|
791
|
+
Examples
|
|
792
|
+
--------
|
|
793
|
+
import asyncio
|
|
794
|
+
|
|
795
|
+
from merge import AsyncMerge
|
|
796
|
+
from merge.resources.accounting import PatchedContactRequest
|
|
797
|
+
|
|
798
|
+
client = AsyncMerge(
|
|
799
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
800
|
+
api_key="YOUR_API_KEY",
|
|
801
|
+
)
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
async def main() -> None:
|
|
805
|
+
await client.accounting.contacts.partial_update(
|
|
806
|
+
id="id",
|
|
807
|
+
model=PatchedContactRequest(),
|
|
808
|
+
)
|
|
809
|
+
|
|
810
|
+
|
|
811
|
+
asyncio.run(main())
|
|
812
|
+
"""
|
|
813
|
+
_response = await self._raw_client.partial_update(
|
|
814
|
+
id, model=model, is_debug_mode=is_debug_mode, run_async=run_async, request_options=request_options
|
|
815
|
+
)
|
|
816
|
+
return _response.data
|
|
817
|
+
|
|
818
|
+
async def meta_patch_retrieve(
|
|
819
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
820
|
+
) -> MetaResponse:
|
|
821
|
+
"""
|
|
822
|
+
Returns metadata for `Contact` PATCHs.
|
|
823
|
+
|
|
824
|
+
Parameters
|
|
825
|
+
----------
|
|
826
|
+
id : str
|
|
827
|
+
|
|
828
|
+
request_options : typing.Optional[RequestOptions]
|
|
829
|
+
Request-specific configuration.
|
|
830
|
+
|
|
831
|
+
Returns
|
|
832
|
+
-------
|
|
833
|
+
MetaResponse
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
Examples
|
|
837
|
+
--------
|
|
838
|
+
import asyncio
|
|
839
|
+
|
|
840
|
+
from merge import AsyncMerge
|
|
841
|
+
|
|
842
|
+
client = AsyncMerge(
|
|
843
|
+
account_token="YOUR_ACCOUNT_TOKEN",
|
|
844
|
+
api_key="YOUR_API_KEY",
|
|
845
|
+
)
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
async def main() -> None:
|
|
849
|
+
await client.accounting.contacts.meta_patch_retrieve(
|
|
850
|
+
id="id",
|
|
851
|
+
)
|
|
852
|
+
|
|
853
|
+
|
|
854
|
+
asyncio.run(main())
|
|
855
|
+
"""
|
|
856
|
+
_response = await self._raw_client.meta_patch_retrieve(id, request_options=request_options)
|
|
857
|
+
return _response.data
|
|
858
|
+
|
|
670
859
|
async def meta_post_retrieve(self, *, request_options: typing.Optional[RequestOptions] = None) -> MetaResponse:
|
|
671
860
|
"""
|
|
672
861
|
Returns metadata for `Contact` POSTs.
|
|
@@ -761,7 +950,9 @@ class AsyncContactsClient:
|
|
|
761
950
|
|
|
762
951
|
|
|
763
952
|
async def main() -> None:
|
|
764
|
-
await client.accounting.contacts.remote_field_classes_list(
|
|
953
|
+
await client.accounting.contacts.remote_field_classes_list(
|
|
954
|
+
cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
|
|
955
|
+
)
|
|
765
956
|
|
|
766
957
|
|
|
767
958
|
asyncio.run(main())
|
|
@@ -17,6 +17,7 @@ from ...types.contact_response import ContactResponse
|
|
|
17
17
|
from ...types.meta_response import MetaResponse
|
|
18
18
|
from ...types.paginated_contact_list import PaginatedContactList
|
|
19
19
|
from ...types.paginated_remote_field_class_list import PaginatedRemoteFieldClassList
|
|
20
|
+
from ...types.patched_contact_request import PatchedContactRequest
|
|
20
21
|
from .types.contacts_list_request_expand import ContactsListRequestExpand
|
|
21
22
|
from .types.contacts_retrieve_request_expand import ContactsRetrieveRequestExpand
|
|
22
23
|
|
|
@@ -301,6 +302,107 @@ class RawContactsClient:
|
|
|
301
302
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
302
303
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
303
304
|
|
|
305
|
+
def partial_update(
|
|
306
|
+
self,
|
|
307
|
+
id: str,
|
|
308
|
+
*,
|
|
309
|
+
model: PatchedContactRequest,
|
|
310
|
+
is_debug_mode: typing.Optional[bool] = None,
|
|
311
|
+
run_async: typing.Optional[bool] = None,
|
|
312
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
313
|
+
) -> HttpResponse[ContactResponse]:
|
|
314
|
+
"""
|
|
315
|
+
Updates a `Contact` object with the given `id`.
|
|
316
|
+
|
|
317
|
+
Parameters
|
|
318
|
+
----------
|
|
319
|
+
id : str
|
|
320
|
+
|
|
321
|
+
model : PatchedContactRequest
|
|
322
|
+
|
|
323
|
+
is_debug_mode : typing.Optional[bool]
|
|
324
|
+
Whether to include debug fields (such as log file links) in the response.
|
|
325
|
+
|
|
326
|
+
run_async : typing.Optional[bool]
|
|
327
|
+
Whether or not third-party updates should be run asynchronously.
|
|
328
|
+
|
|
329
|
+
request_options : typing.Optional[RequestOptions]
|
|
330
|
+
Request-specific configuration.
|
|
331
|
+
|
|
332
|
+
Returns
|
|
333
|
+
-------
|
|
334
|
+
HttpResponse[ContactResponse]
|
|
335
|
+
|
|
336
|
+
"""
|
|
337
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
338
|
+
f"accounting/v1/contacts/{jsonable_encoder(id)}",
|
|
339
|
+
method="PATCH",
|
|
340
|
+
params={
|
|
341
|
+
"is_debug_mode": is_debug_mode,
|
|
342
|
+
"run_async": run_async,
|
|
343
|
+
},
|
|
344
|
+
json={
|
|
345
|
+
"model": model,
|
|
346
|
+
},
|
|
347
|
+
headers={
|
|
348
|
+
"content-type": "application/json",
|
|
349
|
+
},
|
|
350
|
+
request_options=request_options,
|
|
351
|
+
omit=OMIT,
|
|
352
|
+
)
|
|
353
|
+
try:
|
|
354
|
+
if 200 <= _response.status_code < 300:
|
|
355
|
+
_data = typing.cast(
|
|
356
|
+
ContactResponse,
|
|
357
|
+
construct_type(
|
|
358
|
+
type_=ContactResponse, # type: ignore
|
|
359
|
+
object_=_response.json(),
|
|
360
|
+
),
|
|
361
|
+
)
|
|
362
|
+
return HttpResponse(response=_response, data=_data)
|
|
363
|
+
_response_json = _response.json()
|
|
364
|
+
except JSONDecodeError:
|
|
365
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
366
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
367
|
+
|
|
368
|
+
def meta_patch_retrieve(
|
|
369
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
370
|
+
) -> HttpResponse[MetaResponse]:
|
|
371
|
+
"""
|
|
372
|
+
Returns metadata for `Contact` PATCHs.
|
|
373
|
+
|
|
374
|
+
Parameters
|
|
375
|
+
----------
|
|
376
|
+
id : str
|
|
377
|
+
|
|
378
|
+
request_options : typing.Optional[RequestOptions]
|
|
379
|
+
Request-specific configuration.
|
|
380
|
+
|
|
381
|
+
Returns
|
|
382
|
+
-------
|
|
383
|
+
HttpResponse[MetaResponse]
|
|
384
|
+
|
|
385
|
+
"""
|
|
386
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
387
|
+
f"accounting/v1/contacts/meta/patch/{jsonable_encoder(id)}",
|
|
388
|
+
method="GET",
|
|
389
|
+
request_options=request_options,
|
|
390
|
+
)
|
|
391
|
+
try:
|
|
392
|
+
if 200 <= _response.status_code < 300:
|
|
393
|
+
_data = typing.cast(
|
|
394
|
+
MetaResponse,
|
|
395
|
+
construct_type(
|
|
396
|
+
type_=MetaResponse, # type: ignore
|
|
397
|
+
object_=_response.json(),
|
|
398
|
+
),
|
|
399
|
+
)
|
|
400
|
+
return HttpResponse(response=_response, data=_data)
|
|
401
|
+
_response_json = _response.json()
|
|
402
|
+
except JSONDecodeError:
|
|
403
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
404
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
405
|
+
|
|
304
406
|
def meta_post_retrieve(
|
|
305
407
|
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
306
408
|
) -> HttpResponse[MetaResponse]:
|
|
@@ -690,6 +792,107 @@ class AsyncRawContactsClient:
|
|
|
690
792
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
691
793
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
692
794
|
|
|
795
|
+
async def partial_update(
|
|
796
|
+
self,
|
|
797
|
+
id: str,
|
|
798
|
+
*,
|
|
799
|
+
model: PatchedContactRequest,
|
|
800
|
+
is_debug_mode: typing.Optional[bool] = None,
|
|
801
|
+
run_async: typing.Optional[bool] = None,
|
|
802
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
803
|
+
) -> AsyncHttpResponse[ContactResponse]:
|
|
804
|
+
"""
|
|
805
|
+
Updates a `Contact` object with the given `id`.
|
|
806
|
+
|
|
807
|
+
Parameters
|
|
808
|
+
----------
|
|
809
|
+
id : str
|
|
810
|
+
|
|
811
|
+
model : PatchedContactRequest
|
|
812
|
+
|
|
813
|
+
is_debug_mode : typing.Optional[bool]
|
|
814
|
+
Whether to include debug fields (such as log file links) in the response.
|
|
815
|
+
|
|
816
|
+
run_async : typing.Optional[bool]
|
|
817
|
+
Whether or not third-party updates should be run asynchronously.
|
|
818
|
+
|
|
819
|
+
request_options : typing.Optional[RequestOptions]
|
|
820
|
+
Request-specific configuration.
|
|
821
|
+
|
|
822
|
+
Returns
|
|
823
|
+
-------
|
|
824
|
+
AsyncHttpResponse[ContactResponse]
|
|
825
|
+
|
|
826
|
+
"""
|
|
827
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
828
|
+
f"accounting/v1/contacts/{jsonable_encoder(id)}",
|
|
829
|
+
method="PATCH",
|
|
830
|
+
params={
|
|
831
|
+
"is_debug_mode": is_debug_mode,
|
|
832
|
+
"run_async": run_async,
|
|
833
|
+
},
|
|
834
|
+
json={
|
|
835
|
+
"model": model,
|
|
836
|
+
},
|
|
837
|
+
headers={
|
|
838
|
+
"content-type": "application/json",
|
|
839
|
+
},
|
|
840
|
+
request_options=request_options,
|
|
841
|
+
omit=OMIT,
|
|
842
|
+
)
|
|
843
|
+
try:
|
|
844
|
+
if 200 <= _response.status_code < 300:
|
|
845
|
+
_data = typing.cast(
|
|
846
|
+
ContactResponse,
|
|
847
|
+
construct_type(
|
|
848
|
+
type_=ContactResponse, # type: ignore
|
|
849
|
+
object_=_response.json(),
|
|
850
|
+
),
|
|
851
|
+
)
|
|
852
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
853
|
+
_response_json = _response.json()
|
|
854
|
+
except JSONDecodeError:
|
|
855
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
856
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
857
|
+
|
|
858
|
+
async def meta_patch_retrieve(
|
|
859
|
+
self, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
|
860
|
+
) -> AsyncHttpResponse[MetaResponse]:
|
|
861
|
+
"""
|
|
862
|
+
Returns metadata for `Contact` PATCHs.
|
|
863
|
+
|
|
864
|
+
Parameters
|
|
865
|
+
----------
|
|
866
|
+
id : str
|
|
867
|
+
|
|
868
|
+
request_options : typing.Optional[RequestOptions]
|
|
869
|
+
Request-specific configuration.
|
|
870
|
+
|
|
871
|
+
Returns
|
|
872
|
+
-------
|
|
873
|
+
AsyncHttpResponse[MetaResponse]
|
|
874
|
+
|
|
875
|
+
"""
|
|
876
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
877
|
+
f"accounting/v1/contacts/meta/patch/{jsonable_encoder(id)}",
|
|
878
|
+
method="GET",
|
|
879
|
+
request_options=request_options,
|
|
880
|
+
)
|
|
881
|
+
try:
|
|
882
|
+
if 200 <= _response.status_code < 300:
|
|
883
|
+
_data = typing.cast(
|
|
884
|
+
MetaResponse,
|
|
885
|
+
construct_type(
|
|
886
|
+
type_=MetaResponse, # type: ignore
|
|
887
|
+
object_=_response.json(),
|
|
888
|
+
),
|
|
889
|
+
)
|
|
890
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
|
891
|
+
_response_json = _response.json()
|
|
892
|
+
except JSONDecodeError:
|
|
893
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
894
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
895
|
+
|
|
693
896
|
async def meta_post_retrieve(
|
|
694
897
|
self, *, request_options: typing.Optional[RequestOptions] = None
|
|
695
898
|
) -> AsyncHttpResponse[MetaResponse]:
|
|
@@ -2,7 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
from
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .contacts_list_request_expand import ContactsListRequestExpand
|
|
10
|
+
from .contacts_retrieve_request_expand import ContactsRetrieveRequestExpand
|
|
11
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
12
|
+
"ContactsListRequestExpand": ".contacts_list_request_expand",
|
|
13
|
+
"ContactsRetrieveRequestExpand": ".contacts_retrieve_request_expand",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
18
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
19
|
+
if module_name is None:
|
|
20
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
21
|
+
try:
|
|
22
|
+
module = import_module(module_name, __package__)
|
|
23
|
+
result = getattr(module, attr_name)
|
|
24
|
+
return result
|
|
25
|
+
except ImportError as e:
|
|
26
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
27
|
+
except AttributeError as e:
|
|
28
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def __dir__():
|
|
32
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
33
|
+
return sorted(lazy_attrs)
|
|
34
|
+
|
|
7
35
|
|
|
8
36
|
__all__ = ["ContactsListRequestExpand", "ContactsRetrieveRequestExpand"]
|
|
@@ -2,14 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
# isort: skip_file
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
import typing
|
|
6
|
+
from importlib import import_module
|
|
7
|
+
|
|
8
|
+
if typing.TYPE_CHECKING:
|
|
9
|
+
from .types import (
|
|
10
|
+
CreditNotesListRequestExpand,
|
|
11
|
+
CreditNotesListRequestRemoteFields,
|
|
12
|
+
CreditNotesListRequestShowEnumOrigins,
|
|
13
|
+
CreditNotesRetrieveRequestExpand,
|
|
14
|
+
CreditNotesRetrieveRequestRemoteFields,
|
|
15
|
+
CreditNotesRetrieveRequestShowEnumOrigins,
|
|
16
|
+
)
|
|
17
|
+
_dynamic_imports: typing.Dict[str, str] = {
|
|
18
|
+
"CreditNotesListRequestExpand": ".types",
|
|
19
|
+
"CreditNotesListRequestRemoteFields": ".types",
|
|
20
|
+
"CreditNotesListRequestShowEnumOrigins": ".types",
|
|
21
|
+
"CreditNotesRetrieveRequestExpand": ".types",
|
|
22
|
+
"CreditNotesRetrieveRequestRemoteFields": ".types",
|
|
23
|
+
"CreditNotesRetrieveRequestShowEnumOrigins": ".types",
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def __getattr__(attr_name: str) -> typing.Any:
|
|
28
|
+
module_name = _dynamic_imports.get(attr_name)
|
|
29
|
+
if module_name is None:
|
|
30
|
+
raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
|
|
31
|
+
try:
|
|
32
|
+
module = import_module(module_name, __package__)
|
|
33
|
+
result = getattr(module, attr_name)
|
|
34
|
+
return result
|
|
35
|
+
except ImportError as e:
|
|
36
|
+
raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
|
|
37
|
+
except AttributeError as e:
|
|
38
|
+
raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def __dir__():
|
|
42
|
+
lazy_attrs = list(_dynamic_imports.keys())
|
|
43
|
+
return sorted(lazy_attrs)
|
|
44
|
+
|
|
13
45
|
|
|
14
46
|
__all__ = [
|
|
15
47
|
"CreditNotesListRequestExpand",
|