|
1 | 1 | """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" |
2 | 2 |
|
3 | | -import requests as requests_http |
4 | | -from . import utils |
| 3 | +from .sdkconfiguration import SDKConfiguration |
| 4 | +from codatsyncexpenses import utils |
5 | 5 | from codatsyncexpenses.models import operations, shared |
6 | 6 | from typing import Optional |
7 | 7 |
|
8 | 8 | class Expenses: |
9 | 9 | r"""Create expense datasets and upload receipts.""" |
10 | | - _client: requests_http.Session |
11 | | - _security_client: requests_http.Session |
12 | | - _server_url: str |
13 | | - _language: str |
14 | | - _sdk_version: str |
15 | | - _gen_version: str |
| 10 | + sdk_configuration: SDKConfiguration |
16 | 11 |
|
17 | | - def __init__(self, client: requests_http.Session, security_client: requests_http.Session, server_url: str, language: str, sdk_version: str, gen_version: str) -> None: |
18 | | - self._client = client |
19 | | - self._security_client = security_client |
20 | | - self._server_url = server_url |
21 | | - self._language = language |
22 | | - self._sdk_version = sdk_version |
23 | | - self._gen_version = gen_version |
| 12 | + def __init__(self, sdk_config: SDKConfiguration) -> None: |
| 13 | + self.sdk_configuration = sdk_config |
24 | 14 |
|
25 | 15 |
|
26 | 16 | def create_expense_dataset(self, request: operations.CreateExpenseDatasetRequest, retries: Optional[utils.RetryConfig] = None) -> operations.CreateExpenseDatasetResponse: |
27 | 17 | r"""Create expense-transactions |
28 | 18 | Create an expense transaction |
29 | 19 | """ |
30 | | - base_url = self._server_url |
| 20 | + base_url = utils.template_url(*self.sdk_configuration.get_server_details()) |
31 | 21 |
|
32 | 22 | url = utils.generate_url(operations.CreateExpenseDatasetRequest, base_url, '/companies/{companyId}/sync/expenses/data/expense-transactions', request) |
33 | 23 | headers = {} |
34 | 24 | req_content_type, data, form = utils.serialize_request_body(request, "create_expense_request", 'json') |
35 | 25 | if req_content_type not in ('multipart/form-data', 'multipart/mixed'): |
36 | 26 | headers['content-type'] = req_content_type |
37 | 27 | headers['Accept'] = 'application/json;q=1, application/json;q=0' |
38 | | - headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}' |
| 28 | + headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}' |
39 | 29 |
|
40 | | - client = self._security_client |
| 30 | + client = self.sdk_configuration.security_client |
41 | 31 |
|
42 | 32 | retry_config = retries |
43 | 33 | if retry_config is None: |
@@ -73,17 +63,17 @@ def upload_attachment(self, request: operations.UploadAttachmentRequest, retries |
73 | 63 | r"""Upload attachment |
74 | 64 | Creates an attachment in the accounting software against the given transactionId |
75 | 65 | """ |
76 | | - base_url = self._server_url |
| 66 | + base_url = utils.template_url(*self.sdk_configuration.get_server_details()) |
77 | 67 |
|
78 | 68 | url = utils.generate_url(operations.UploadAttachmentRequest, base_url, '/companies/{companyId}/sync/expenses/syncs/{syncId}/transactions/{transactionId}/attachments', request) |
79 | 69 | headers = {} |
80 | 70 | req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'multipart') |
81 | 71 | if req_content_type not in ('multipart/form-data', 'multipart/mixed'): |
82 | 72 | headers['content-type'] = req_content_type |
83 | 73 | headers['Accept'] = 'application/json;q=1, application/json;q=0' |
84 | | - headers['user-agent'] = f'speakeasy-sdk/{self._language} {self._sdk_version} {self._gen_version}' |
| 74 | + headers['user-agent'] = f'speakeasy-sdk/{self.sdk_configuration.language} {self.sdk_configuration.sdk_version} {self.sdk_configuration.gen_version}' |
85 | 75 |
|
86 | | - client = self._security_client |
| 76 | + client = self.sdk_configuration.security_client |
87 | 77 |
|
88 | 78 | retry_config = retries |
89 | 79 | if retry_config is None: |
|
0 commit comments