diff --git a/synccommerce/README.md b/synccommerce/README.md index 311350caf..4578edca0 100755 --- a/synccommerce/README.md +++ b/synccommerce/README.md @@ -22,9 +22,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = shared.CreateCompany( - name="Bob's Burgers", + name='Bob's Burgers', ) res = s.company_management.create_company(req) diff --git a/synccommerce/RELEASES.md b/synccommerce/RELEASES.md index 779ee1291..56300f420 100644 --- a/synccommerce/RELEASES.md +++ b/synccommerce/RELEASES.md @@ -198,4 +198,68 @@ Based on: - OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml - Speakeasy CLI 1.26.1 (2.23.1) https://github.com/speakeasy-api/speakeasy ### Releases -- [PyPI v0.10.1] https://pypi.org/project/codat-sync-for-commerce/0.10.1 - synccommerce \ No newline at end of file +- [PyPI v0.10.1] https://pypi.org/project/codat-sync-for-commerce/0.10.1 - synccommerce + +## 2023-04-28 00:49:27 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.26.2 (2.23.2) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.10.2] https://pypi.org/project/codat-sync-for-commerce/0.10.2 - synccommerce + +## 2023-04-29 00:07:08 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.26.3 (2.23.3) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.10.3] https://pypi.org/project/codat-sync-for-commerce/0.10.3 - synccommerce + +## 2023-04-30 00:08:12 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.26.4 (2.23.4) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.10.4] https://pypi.org/project/codat-sync-for-commerce/0.10.4 - synccommerce + +## 2023-05-03 00:07:02 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.27.0 (2.24.0) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.11.0] https://pypi.org/project/codat-sync-for-commerce/0.11.0 - synccommerce + +## 2023-05-05 00:07:08 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.29.0 (2.26.0) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.12.0] https://pypi.org/project/codat-sync-for-commerce/0.12.0 - synccommerce + +## 2023-05-06 00:06:56 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.29.1 (2.26.1) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.12.1] https://pypi.org/project/codat-sync-for-commerce/0.12.1 - synccommerce + +## 2023-05-10 00:07:28 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.29.2 (2.26.2) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.12.2] https://pypi.org/project/codat-sync-for-commerce/0.12.2 - synccommerce + +## 2023-05-11 00:07:26 +### Changes +Based on: +- OpenAPI Doc 1.1 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Sync-Commerce.yaml +- Speakeasy CLI 1.30.0 (2.26.3) https://github.com/speakeasy-api/speakeasy +### Releases +- [PyPI v0.12.3] https://pypi.org/project/codat-sync-for-commerce/0.12.3 - synccommerce \ No newline at end of file diff --git a/synccommerce/USAGE.md b/synccommerce/USAGE.md index 0297761d1..89c8417b8 100755 --- a/synccommerce/USAGE.md +++ b/synccommerce/USAGE.md @@ -9,9 +9,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = shared.CreateCompany( - name="Bob's Burgers", + name='Bob's Burgers', ) res = s.company_management.create_company(req) diff --git a/synccommerce/docs/companymanagement/README.md b/synccommerce/docs/companymanagement/README.md index 859f523f3..4b4bddf1c 100755 --- a/synccommerce/docs/companymanagement/README.md +++ b/synccommerce/docs/companymanagement/README.md @@ -28,9 +28,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = shared.CreateCompany( - name="Bob's Burgers", + name='Bob's Burgers', ) res = s.company_management.create_company(req) @@ -55,10 +54,9 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.CreateConnectionRequest( - request_body="corrupti", - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + request_body='corrupti', + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.company_management.create_connection(req) @@ -83,12 +81,11 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.ListCompaniesRequest( - order_by="-modifiedDate", + order_by='-modifiedDate', page=1, page_size=100, - query="provident", + query='provident', ) res = s.company_management.list_companies(req) @@ -113,13 +110,12 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.ListConnectionsRequest( - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", - order_by="-modifiedDate", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', + order_by='-modifiedDate', page=1, page_size=100, - query="distinctio", + query='distinctio', ) res = s.company_management.list_connections(req) @@ -144,13 +140,12 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.UpdateConnectionRequest( update_connection=shared.UpdateConnection( - status="Linked", + status='Linked', ), - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", - connection_id="2e9d2c44-f675-40ba-8049-353bfcb5e171", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', + connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171', ) res = s.company_management.update_connection(req) diff --git a/synccommerce/docs/configuration/README.md b/synccommerce/docs/configuration/README.md index 70d138ed8..a379e48b8 100755 --- a/synccommerce/docs/configuration/README.md +++ b/synccommerce/docs/configuration/README.md @@ -26,9 +26,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.GetConfigurationRequest( - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.configuration.get_configuration(req) @@ -53,9 +52,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.GetSyncStatusRequest( - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.configuration.get_sync_status(req) @@ -80,9 +78,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.SetConfigurationRequest( - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.configuration.set_configuration(req) diff --git a/synccommerce/docs/integrations/README.md b/synccommerce/docs/integrations/README.md index 5a2f75774..9cc29b53e 100755 --- a/synccommerce/docs/integrations/README.md +++ b/synccommerce/docs/integrations/README.md @@ -25,9 +25,8 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.GetIntegrationBrandingRequest( - platform_key="quibusdam", + platform_key='quibusdam', ) res = s.integrations.get_integration_branding(req) @@ -52,12 +51,11 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.ListIntegrationsRequest( - order_by="-modifiedDate", + order_by='-modifiedDate', page=1, page_size=100, - query="unde", + query='unde', ) res = s.integrations.list_integrations(req) diff --git a/synccommerce/docs/sync/README.md b/synccommerce/docs/sync/README.md index d67f2bbdd..5bcb3249e 100755 --- a/synccommerce/docs/sync/README.md +++ b/synccommerce/docs/sync/README.md @@ -26,12 +26,11 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.RequestSyncRequest( sync_to_latest_args=shared.SyncToLatestArgs( - sync_to="nulla", + sync_to='nulla', ), - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.sync.request_sync(req) @@ -56,13 +55,12 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.RequestSyncForDateRangeRequest( date_range=shared.DateRange( - finish="corrupti", - start="illum", + finish='corrupti', + start='illum', ), - company_id="8a210b68-6988-11ed-a1eb-0242ac120002", + company_id='8a210b68-6988-11ed-a1eb-0242ac120002', ) res = s.sync.request_sync_for_date_range(req) diff --git a/synccommerce/docs/syncflowpreferences/README.md b/synccommerce/docs/syncflowpreferences/README.md index fb1dd0983..6ffce4812 100755 --- a/synccommerce/docs/syncflowpreferences/README.md +++ b/synccommerce/docs/syncflowpreferences/README.md @@ -51,11 +51,10 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.GetSyncFlowURLRequest( - accounting_key="vel", - commerce_key="error", - merchant_identifier="deserunt", + accounting_key='vel', + commerce_key='error', + merchant_identifier='deserunt', ) res = s.sync_flow_preferences.get_sync_flow_url(req) @@ -80,10 +79,9 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.GetVisibleAccountsRequest( - client_id="674e0f46-7cc8-4796-ad15-1a05dfc2ddf7", - platform_key="cc78ca1b-a928-4fc8-9674-2cb739205929", + client_id='674e0f46-7cc8-4796-ad15-1a05dfc2ddf7', + platform_key='cc78ca1b-a928-4fc8-9674-2cb739205929', ) res = s.sync_flow_preferences.get_visible_accounts(req) @@ -108,11 +106,10 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = { "natus": shared.Localization( required=False, - text="laboriosam", + text='laboriosam', ), } @@ -138,17 +135,16 @@ s = codatsynccommerce.CodatSyncCommerce( ), ) - req = operations.UpdateVisibleAccountsSyncFlowRequest( visible_accounts=shared.VisibleAccounts( visible_accounts=[ - "saepe", - "fuga", - "in", - "corporis", + 'saepe', + 'fuga', + 'in', + 'corporis', ], ), - commerce_key="96eb10fa-aa23-452c-9955-907aff1a3a2f", + commerce_key='96eb10fa-aa23-452c-9955-907aff1a3a2f', ) res = s.sync_flow_preferences.update_visible_accounts_sync_flow(req) diff --git a/synccommerce/gen.yaml b/synccommerce/gen.yaml index 7186f23c7..7c736892b 100644 --- a/synccommerce/gen.yaml +++ b/synccommerce/gen.yaml @@ -1,15 +1,16 @@ configVersion: 1.0.0 management: - docChecksum: a624107b6abe0ed27bd8df9cd3141f75 + docChecksum: 709e3ad7f823df6498d0e786505ba79a docVersion: "1.1" - speakeasyVersion: 1.26.1 - generationVersion: 2.23.1 + speakeasyVersion: 1.30.0 + generationVersion: 2.26.3 generation: telemetryEnabled: false sdkClassName: CodatSyncCommerce singleTagPerOp: false python: - version: 0.10.1 + version: 0.12.3 author: Speakeasy description: Python Client SDK Generated by Speakeasy + maxMethodParams: 0 packageName: codat-sync-for-commerce diff --git a/synccommerce/setup.py b/synccommerce/setup.py index 44b25d882..32f76eef2 100755 --- a/synccommerce/setup.py +++ b/synccommerce/setup.py @@ -10,7 +10,7 @@ setuptools.setup( name="codat-sync-for-commerce", - version="0.10.1", + version="0.12.3", author="Speakeasy", description="Python Client SDK Generated by Speakeasy", long_description=long_description, diff --git a/synccommerce/src/codatsynccommerce/company_management.py b/synccommerce/src/codatsynccommerce/company_management.py index 408e380fb..93d5a35e7 100755 --- a/synccommerce/src/codatsynccommerce/company_management.py +++ b/synccommerce/src/codatsynccommerce/company_management.py @@ -22,6 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http self._sdk_version = sdk_version self._gen_version = gen_version + def create_company(self, request: shared.CreateCompany, retries: Optional[utils.RetryConfig] = None) -> operations.CreateCompanyResponse: r"""Create Sync for Commerce company Creates a Codat company with a commerce partner data connection. @@ -62,6 +63,7 @@ def do_request(): return res + def create_connection(self, request: operations.CreateConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.CreateConnectionResponse: r"""Create connection Create a data connection for company. @@ -102,6 +104,7 @@ def do_request(): return res + def list_companies(self, request: operations.ListCompaniesRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListCompaniesResponse: r"""List companies Retrieve a list of all companies the client has created. @@ -139,6 +142,7 @@ def do_request(): return res + def list_connections(self, request: operations.ListConnectionsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListConnectionsResponse: r"""List data connections Retrieve previously created data connections. @@ -176,6 +180,7 @@ def do_request(): return res + def update_connection(self, request: operations.UpdateConnectionRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UpdateConnectionResponse: r"""Update data connection Update a data connection diff --git a/synccommerce/src/codatsynccommerce/configuration.py b/synccommerce/src/codatsynccommerce/configuration.py index 7c79f4d63..888ad3066 100755 --- a/synccommerce/src/codatsynccommerce/configuration.py +++ b/synccommerce/src/codatsynccommerce/configuration.py @@ -22,6 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http self._sdk_version = sdk_version self._gen_version = gen_version + def get_configuration(self, request: operations.GetConfigurationRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetConfigurationResponse: r"""Retrieve config preferences set for a company. Retrieve current config preferences. @@ -58,6 +59,7 @@ def do_request(): return res + def get_sync_status(self, request: operations.GetSyncStatusRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetSyncStatusResponse: r"""Get status for a company's syncs Check the sync history and sync status for a company. @@ -90,6 +92,7 @@ def do_request(): return res + def set_configuration(self, request: operations.SetConfigurationRequest, retries: Optional[utils.RetryConfig] = None) -> operations.SetConfigurationResponse: r"""Create or update configuration. Make changes to configuration preferences. diff --git a/synccommerce/src/codatsynccommerce/integrations.py b/synccommerce/src/codatsynccommerce/integrations.py index 70725a712..73553ff87 100755 --- a/synccommerce/src/codatsynccommerce/integrations.py +++ b/synccommerce/src/codatsynccommerce/integrations.py @@ -22,6 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http self._sdk_version = sdk_version self._gen_version = gen_version + def get_integration_branding(self, request: operations.GetIntegrationBrandingRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetIntegrationBrandingResponse: r"""Get branding for an integration Retrieve Integration branding assets. @@ -58,6 +59,7 @@ def do_request(): return res + def list_integrations(self, request: operations.ListIntegrationsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.ListIntegrationsResponse: r"""List information on Codat's supported integrations Retrieve a list of available integrations support by datatype and state of release. diff --git a/synccommerce/src/codatsynccommerce/models/operations/create_company.py b/synccommerce/src/codatsynccommerce/models/operations/create_company.py index e765131ac..ea8a822fa 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/create_company.py +++ b/synccommerce/src/codatsynccommerce/models/operations/create_company.py @@ -11,12 +11,8 @@ class CreateCompanyResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - company: Optional[shared_company.Company] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/create_connection.py b/synccommerce/src/codatsynccommerce/models/operations/create_connection.py index 1f3c4bf67..48bc95f03 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/create_connection.py +++ b/synccommerce/src/codatsynccommerce/models/operations/create_connection.py @@ -11,21 +11,15 @@ class CreateConnectionRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - request_body: Optional[str] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) - @dataclasses.dataclass class CreateConnectionResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - connection: Optional[shared_connection.Connection] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_config_text_sync_flow.py b/synccommerce/src/codatsynccommerce/models/operations/get_config_text_sync_flow.py index b66f6e9b1..2de1ea31d 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_config_text_sync_flow.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_config_text_sync_flow.py @@ -11,12 +11,8 @@ class GetConfigTextSyncFlowResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - localization_info: Optional[dict[str, shared_localization.Localization]] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_configuration.py b/synccommerce/src/codatsynccommerce/models/operations/get_configuration.py index 186276419..236f86873 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_configuration.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_configuration.py @@ -11,19 +11,14 @@ class GetConfigurationRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - @dataclasses.dataclass class GetConfigurationResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - configuration: Optional[shared_configuration.Configuration] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_integration_branding.py b/synccommerce/src/codatsynccommerce/models/operations/get_integration_branding.py index 25d107253..bff123706 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_integration_branding.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_integration_branding.py @@ -11,7 +11,6 @@ class GetIntegrationBrandingRequest: platform_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'platformKey', 'style': 'simple', 'explode': False }}) - r"""PlatformKey""" @@ -19,12 +18,8 @@ class GetIntegrationBrandingRequest: class GetIntegrationBrandingResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - branding: Optional[shared_branding.Branding] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_sync_flow_url.py b/synccommerce/src/codatsynccommerce/models/operations/get_sync_flow_url.py index 1fe55c4d7..7db7591e8 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_sync_flow_url.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_sync_flow_url.py @@ -11,13 +11,10 @@ class GetSyncFlowURLRequest: accounting_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'accountingKey', 'style': 'simple', 'explode': False }}) - r"""Accounting platform key""" commerce_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'commerceKey', 'style': 'simple', 'explode': False }}) - r"""Commerce platform key""" merchant_identifier: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'merchantIdentifier', 'style': 'form', 'explode': True }}) - r"""Identifier for your merchant, can be the merchant name or Codat company id.""" @@ -25,12 +22,8 @@ class GetSyncFlowURLRequest: class GetSyncFlowURLResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - sync_flow_url: Optional[shared_syncflowurl.SyncFlowURL] = dataclasses.field(default=None) - r"""Success""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_sync_status.py b/synccommerce/src/codatsynccommerce/models/operations/get_sync_status.py index e7fcea714..e8296876e 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_sync_status.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_sync_status.py @@ -10,16 +10,12 @@ class GetSyncStatusRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - @dataclasses.dataclass class GetSyncStatusResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/get_visible_accounts.py b/synccommerce/src/codatsynccommerce/models/operations/get_visible_accounts.py index 32b779ec9..50404a1c8 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/get_visible_accounts.py +++ b/synccommerce/src/codatsynccommerce/models/operations/get_visible_accounts.py @@ -11,21 +11,15 @@ class GetVisibleAccountsRequest: client_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'clientId', 'style': 'simple', 'explode': False }}) - platform_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'platformKey', 'style': 'simple', 'explode': False }}) - @dataclasses.dataclass class GetVisibleAccountsResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - visible_accounts: Optional[shared_visibleaccounts.VisibleAccounts] = dataclasses.field(default=None) - r"""Success""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/list_companies.py b/synccommerce/src/codatsynccommerce/models/operations/list_companies.py index 314a3fbf9..0eebbd588 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/list_companies.py +++ b/synccommerce/src/codatsynccommerce/models/operations/list_companies.py @@ -11,16 +11,12 @@ class ListCompaniesRequest: page: int = dataclasses.field(metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }}) - r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging).""" order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }}) - r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).""" page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }}) - r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).""" query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }}) - r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).""" @@ -28,12 +24,8 @@ class ListCompaniesRequest: class ListCompaniesResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - companies: Optional[shared_companies.Companies] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/list_connections.py b/synccommerce/src/codatsynccommerce/models/operations/list_connections.py index 86603f927..51d2756a4 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/list_connections.py +++ b/synccommerce/src/codatsynccommerce/models/operations/list_connections.py @@ -11,18 +11,13 @@ class ListConnectionsRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - page: int = dataclasses.field(metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }}) - r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging).""" order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }}) - r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).""" page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }}) - r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).""" query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }}) - r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).""" @@ -30,12 +25,8 @@ class ListConnectionsRequest: class ListConnectionsResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - connections: Optional[shared_connections.Connections] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/list_integrations.py b/synccommerce/src/codatsynccommerce/models/operations/list_integrations.py index 5e6c8ea7a..da01a7409 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/list_integrations.py +++ b/synccommerce/src/codatsynccommerce/models/operations/list_integrations.py @@ -11,16 +11,12 @@ class ListIntegrationsRequest: page: int = dataclasses.field(metadata={'query_param': { 'field_name': 'page', 'style': 'form', 'explode': True }}) - r"""Page number. [Read more](https://docs.codat.io/using-the-api/paging).""" order_by: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'orderBy', 'style': 'form', 'explode': True }}) - r"""Field to order results by. [Read more](https://docs.codat.io/using-the-api/ordering-results).""" page_size: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': True }}) - r"""Number of records to return in a page. [Read more](https://docs.codat.io/using-the-api/paging).""" query: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }}) - r"""Codat query string. [Read more](https://docs.codat.io/using-the-api/querying).""" @@ -28,12 +24,8 @@ class ListIntegrationsRequest: class ListIntegrationsResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - integrations: Optional[shared_integrations.Integrations] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/request_sync.py b/synccommerce/src/codatsynccommerce/models/operations/request_sync.py index f426522e2..875e6b454 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/request_sync.py +++ b/synccommerce/src/codatsynccommerce/models/operations/request_sync.py @@ -12,21 +12,15 @@ class RequestSyncRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - sync_to_latest_args: Optional[shared_synctolatestargs.SyncToLatestArgs] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) - @dataclasses.dataclass class RequestSyncResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - sync_summary: Optional[shared_syncsummary.SyncSummary] = dataclasses.field(default=None) - r"""Success""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/request_sync_for_date_range.py b/synccommerce/src/codatsynccommerce/models/operations/request_sync_for_date_range.py index 636abea1e..052e555b7 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/request_sync_for_date_range.py +++ b/synccommerce/src/codatsynccommerce/models/operations/request_sync_for_date_range.py @@ -12,21 +12,15 @@ class RequestSyncForDateRangeRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - date_range: Optional[shared_daterange.DateRange] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) - @dataclasses.dataclass class RequestSyncForDateRangeResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - sync_summary: Optional[shared_syncsummary.SyncSummary] = dataclasses.field(default=None) - r"""Success""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/set_configuration.py b/synccommerce/src/codatsynccommerce/models/operations/set_configuration.py index e865c7bbe..c9fa8190e 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/set_configuration.py +++ b/synccommerce/src/codatsynccommerce/models/operations/set_configuration.py @@ -11,19 +11,14 @@ class SetConfigurationRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - @dataclasses.dataclass class SetConfigurationResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - configuration: Optional[shared_configuration.Configuration] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/update_config_text_sync_flow.py b/synccommerce/src/codatsynccommerce/models/operations/update_config_text_sync_flow.py index 6bd3b7797..e8bd6de02 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/update_config_text_sync_flow.py +++ b/synccommerce/src/codatsynccommerce/models/operations/update_config_text_sync_flow.py @@ -11,12 +11,8 @@ class UpdateConfigTextSyncFlowResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - localization_info: Optional[dict[str, shared_localization.Localization]] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/update_connection.py b/synccommerce/src/codatsynccommerce/models/operations/update_connection.py index 2f29d397b..461370ee5 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/update_connection.py +++ b/synccommerce/src/codatsynccommerce/models/operations/update_connection.py @@ -12,23 +12,16 @@ class UpdateConnectionRequest: company_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'companyId', 'style': 'simple', 'explode': False }}) - connection_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'connectionId', 'style': 'simple', 'explode': False }}) - update_connection: Optional[shared_updateconnection.UpdateConnection] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) - @dataclasses.dataclass class UpdateConnectionResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - connection: Optional[shared_connection.Connection] = dataclasses.field(default=None) - r"""Success""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/operations/update_visible_accounts_sync_flow.py b/synccommerce/src/codatsynccommerce/models/operations/update_visible_accounts_sync_flow.py index 1cd48b975..4986467ac 100755 --- a/synccommerce/src/codatsynccommerce/models/operations/update_visible_accounts_sync_flow.py +++ b/synccommerce/src/codatsynccommerce/models/operations/update_visible_accounts_sync_flow.py @@ -11,21 +11,15 @@ class UpdateVisibleAccountsSyncFlowRequest: commerce_key: str = dataclasses.field(metadata={'path_param': { 'field_name': 'commerceKey', 'style': 'simple', 'explode': False }}) - visible_accounts: Optional[shared_visibleaccounts.VisibleAccounts] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) - @dataclasses.dataclass class UpdateVisibleAccountsSyncFlowResponse: content_type: str = dataclasses.field() - status_code: int = dataclasses.field() - raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - visible_accounts: Optional[shared_visibleaccounts.VisibleAccounts] = dataclasses.field(default=None) - r"""Success""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/accountoption.py b/synccommerce/src/codatsynccommerce/models/shared/accountoption.py index 5016ebd66..56026eea9 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/accountoption.py +++ b/synccommerce/src/codatsynccommerce/models/shared/accountoption.py @@ -12,15 +12,11 @@ class AccountOption: classification: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('classification'), 'exclude': lambda f: f is None }}) - r"""Classification of the type of G/L account.""" id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - r"""Identifier for the account, unique for the company.""" name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) - r"""Name of the account.""" nominal_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('nominalCode'), 'exclude': lambda f: f is None }}) - r"""Reference given to each nominal account for a business. It ensures money is allocated to the correct account. This code isn't a unique identifier in the Codat system.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/branding.py b/synccommerce/src/codatsynccommerce/models/shared/branding.py index f856b7e94..129b2ae3c 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/branding.py +++ b/synccommerce/src/codatsynccommerce/models/shared/branding.py @@ -15,12 +15,9 @@ class Branding: r"""Success""" button: Optional[shared_brandingbutton.BrandingButton] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('button'), 'exclude': lambda f: f is None }}) - r"""Button branding references.""" logo: Optional[shared_brandinglogo.BrandingLogo] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('logo'), 'exclude': lambda f: f is None }}) - r"""Logo branding references.""" source_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceId'), 'exclude': lambda f: f is None }}) - r"""A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/brandingbutton.py b/synccommerce/src/codatsynccommerce/models/shared/brandingbutton.py index 8fec32467..8993f01ca 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/brandingbutton.py +++ b/synccommerce/src/codatsynccommerce/models/shared/brandingbutton.py @@ -14,7 +14,5 @@ class BrandingButton: r"""Button branding references.""" default: Optional[shared_brandingimage.BrandingImage] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) - hover: Optional[shared_brandingimage.BrandingImage] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hover'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/brandingimage.py b/synccommerce/src/codatsynccommerce/models/shared/brandingimage.py index 8498bbd94..900e7c018 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/brandingimage.py +++ b/synccommerce/src/codatsynccommerce/models/shared/brandingimage.py @@ -13,6 +13,5 @@ class BrandingImage: image: Optional[shared_imagereference.ImageReference] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('image'), 'exclude': lambda f: f is None }}) - r"""Image reference.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/brandinglogo.py b/synccommerce/src/codatsynccommerce/models/shared/brandinglogo.py index 82c2ed411..b35d1ed22 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/brandinglogo.py +++ b/synccommerce/src/codatsynccommerce/models/shared/brandinglogo.py @@ -14,7 +14,5 @@ class BrandingLogo: r"""Logo branding references.""" full: Optional[shared_brandingimage.BrandingImage] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('full'), 'exclude': lambda f: f is None }}) - square: Optional[shared_brandingimage.BrandingImage] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('square'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/companies.py b/synccommerce/src/codatsynccommerce/models/shared/companies.py index 8fbae2559..c38395335 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/companies.py +++ b/synccommerce/src/codatsynccommerce/models/shared/companies.py @@ -15,13 +15,8 @@ class Companies: r"""Success""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) - page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) - page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) - total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }}) - results: Optional[list[shared_company.Company]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/company.py b/synccommerce/src/codatsynccommerce/models/shared/company.py index a674c88cb..8387a48a1 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/company.py +++ b/synccommerce/src/codatsynccommerce/models/shared/company.py @@ -14,16 +14,12 @@ class Company: r"""A company in Codat represent a small or medium sized business, whose data you wish to share""" id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id') }}) - r"""Unique identifier for your SMB in Codat.""" name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }}) - r"""The name of the company""" redirect: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('redirect') }}) - r"""The `redirect` [Link URL](https://docs.codat.io/auth-flow/authorize-hosted-link) enabling the customer to start their auth flow journey for the company.""" created: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('created'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` @@ -45,14 +41,10 @@ class Company: > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ created_by_user_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdByUserName'), 'exclude': lambda f: f is None }}) - data_connections: Optional[list[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnections'), 'exclude': lambda f: f is None }}) - description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }}) - r"""Additional information about the company. This can be used to store foreign IDs, references, etc.""" last_sync: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastSync'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` @@ -74,5 +66,4 @@ class Company: > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ platform: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platform'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/configaccount.py b/synccommerce/src/codatsynccommerce/models/shared/configaccount.py index 813e1cb4f..0c01f28a5 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/configaccount.py +++ b/synccommerce/src/codatsynccommerce/models/shared/configaccount.py @@ -14,18 +14,13 @@ class ConfigAccount: r"""G/L account object for configuration.""" account_options: Optional[list[shared_accountoption.AccountOption]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountOptions'), 'exclude': lambda f: f is None }}) - r"""Object containing account options.""" description_text: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('descriptionText'), 'exclude': lambda f: f is None }}) - r"""Descriprtive text for sales configuration section.""" label_text: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('labelText'), 'exclude': lambda f: f is None }}) - r"""Label text for sales configuration section.""" required: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('required'), 'exclude': lambda f: f is None }}) - r"""Required section to be configured for sync.""" selected_account_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedAccountId'), 'exclude': lambda f: f is None }}) - r"""Selected account id from the list of available accounts.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/configuration.py b/synccommerce/src/codatsynccommerce/models/shared/configuration.py index 507573e65..e827a345f 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/configuration.py +++ b/synccommerce/src/codatsynccommerce/models/shared/configuration.py @@ -17,11 +17,7 @@ class Configuration: r"""Success""" fees: Optional[shared_fees.Fees] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fees'), 'exclude': lambda f: f is None }}) - new_payments: Optional[shared_newpayments.NewPayments] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newPayments'), 'exclude': lambda f: f is None }}) - payments: Optional[shared_payments.Payments] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('payments'), 'exclude': lambda f: f is None }}) - sales: Optional[shared_sales.Sales] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sales'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/connection.py b/synccommerce/src/codatsynccommerce/models/shared/connection.py index 12a7e9c13..29f644584 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/connection.py +++ b/synccommerce/src/codatsynccommerce/models/shared/connection.py @@ -24,7 +24,6 @@ class Connection: r"""A connection represents the link between a `company` and a source of data.""" created: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('created') }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` @@ -46,35 +45,23 @@ class Connection: > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id') }}) - r"""Unique identifier for a company's data connection.""" integration_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationId') }}) - r"""A Codat ID representing the integration.""" integration_key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationKey') }}) - r"""A unique four-character ID that identifies the platform of the company's data connection. This ensures continuity if the platform changes its name in the future.""" link_url: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('linkUrl') }}) - platform_name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformName') }}) - source_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceId') }}) - r"""A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`.""" source_type: ConnectionSourceTypeEnum = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceType') }}) - r"""The type of platform of the connection.""" status: shared_dataconnectionstatus_enum.DataConnectionStatusEnum = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }}) - r"""The current authorization status of the data connection.""" additional_properties: Optional[Any] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('additionalProperties'), 'exclude': lambda f: f is None }}) - connection_info: Optional[dict[str, str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('connectionInfo'), 'exclude': lambda f: f is None }}) - data_connection_errors: Optional[list[shared_dataconnectionerror.DataConnectionError]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionErrors'), 'exclude': lambda f: f is None }}) - last_sync: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastSync'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` diff --git a/synccommerce/src/codatsynccommerce/models/shared/connections.py b/synccommerce/src/codatsynccommerce/models/shared/connections.py index 0dadef8cb..3cf478e33 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/connections.py +++ b/synccommerce/src/codatsynccommerce/models/shared/connections.py @@ -15,13 +15,8 @@ class Connections: r"""Success""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) - page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) - page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) - total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }}) - results: Optional[list[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/createcompany.py b/synccommerce/src/codatsynccommerce/models/shared/createcompany.py index 0960d8434..9551c14eb 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/createcompany.py +++ b/synccommerce/src/codatsynccommerce/models/shared/createcompany.py @@ -11,6 +11,5 @@ class CreateCompany: name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }}) - r"""Name of the company in Codat with a partner-commerce data connection.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/customer.py b/synccommerce/src/codatsynccommerce/models/shared/customer.py index 2e20c4164..cce10611d 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/customer.py +++ b/synccommerce/src/codatsynccommerce/models/shared/customer.py @@ -13,9 +13,7 @@ class Customer: customer_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('customerOptions'), 'exclude': lambda f: f is None }}) - r"""List of customer options from the list of customer records on the accounting software.""" selected_customer_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedCustomerId'), 'exclude': lambda f: f is None }}) - r"""Selected customer id from the list of customer records on the accounting software.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/dataconnectionerror.py b/synccommerce/src/codatsynccommerce/models/shared/dataconnectionerror.py index dc7fb5467..1d3842138 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/dataconnectionerror.py +++ b/synccommerce/src/codatsynccommerce/models/shared/dataconnectionerror.py @@ -12,7 +12,6 @@ class DataConnectionError: errored_on_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('erroredOnUtc'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` @@ -34,9 +33,6 @@ class DataConnectionError: > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }}) - status_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode'), 'exclude': lambda f: f is None }}) - status_text: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusText'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/datatypefeature.py b/synccommerce/src/codatsynccommerce/models/shared/datatypefeature.py index c2e021ce2..df7d3cd19 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/datatypefeature.py +++ b/synccommerce/src/codatsynccommerce/models/shared/datatypefeature.py @@ -60,8 +60,6 @@ class DataTypeFeature: r"""Describes support for a given datatype and associated operations""" supported_features: list[shared_supportedfeature.SupportedFeature] = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supportedFeatures') }}) - data_type: Optional[DataTypeFeatureDataTypeEnum] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }}) - r"""Available Data types""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/daterange.py b/synccommerce/src/codatsynccommerce/models/shared/daterange.py index d96c5d92b..30ac28859 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/daterange.py +++ b/synccommerce/src/codatsynccommerce/models/shared/daterange.py @@ -12,7 +12,6 @@ class DateRange: finish: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('finish'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` @@ -34,7 +33,6 @@ class DateRange: > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ start: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('start'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` diff --git a/synccommerce/src/codatsynccommerce/models/shared/fees.py b/synccommerce/src/codatsynccommerce/models/shared/fees.py index d5e0766ea..8b93edcaf 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/fees.py +++ b/synccommerce/src/codatsynccommerce/models/shared/fees.py @@ -14,10 +14,7 @@ class Fees: accounts: Optional[dict[str, shared_configaccount.ConfigAccount]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }}) - fees_supplier: Optional[shared_feessupplier.FeesSupplier] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('feesSupplier'), 'exclude': lambda f: f is None }}) - sync_fees: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncFees'), 'exclude': lambda f: f is None }}) - r"""Boolean indicator to enable syncing fees.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/feessupplier.py b/synccommerce/src/codatsynccommerce/models/shared/feessupplier.py index 081d05304..5ee2a57f9 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/feessupplier.py +++ b/synccommerce/src/codatsynccommerce/models/shared/feessupplier.py @@ -13,9 +13,7 @@ class FeesSupplier: selected_supplier_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedSupplierId'), 'exclude': lambda f: f is None }}) - r"""Selected supplier id from the list of supplier records on the accounting software.""" supplier_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supplierOptions'), 'exclude': lambda f: f is None }}) - r"""List of supplier options from the list of supplier records on the accounting software.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/grouping.py b/synccommerce/src/codatsynccommerce/models/shared/grouping.py index a78584a5b..047bb9129 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/grouping.py +++ b/synccommerce/src/codatsynccommerce/models/shared/grouping.py @@ -14,7 +14,5 @@ class Grouping: grouping_levels: Optional[shared_groupinglevels.GroupingLevels] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('groupingLevels'), 'exclude': lambda f: f is None }}) - grouping_period: Optional[shared_groupingperiod.GroupingPeriod] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('groupingPeriod'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/groupinglevels.py b/synccommerce/src/codatsynccommerce/models/shared/groupinglevels.py index 6952766c1..26629709e 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/groupinglevels.py +++ b/synccommerce/src/codatsynccommerce/models/shared/groupinglevels.py @@ -14,7 +14,5 @@ class GroupingLevels: invoice_level: Optional[shared_invoicelevelselection.InvoiceLevelSelection] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('invoiceLevel'), 'exclude': lambda f: f is None }}) - invoice_line_level: Optional[shared_invoicelinelevelselection.InvoiceLineLevelSelection] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('invoiceLineLevel'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/groupingperiod.py b/synccommerce/src/codatsynccommerce/models/shared/groupingperiod.py index dd5aef771..7ba74e273 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/groupingperiod.py +++ b/synccommerce/src/codatsynccommerce/models/shared/groupingperiod.py @@ -12,9 +12,7 @@ class GroupingPeriod: grouping_period_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('groupingPeriodOptions'), 'exclude': lambda f: f is None }}) - r"""Array of grouping period options.""" selected_grouping_period: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedGroupingPeriod'), 'exclude': lambda f: f is None }}) - r"""Grouping period i.e. Daily sales.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/halref.py b/synccommerce/src/codatsynccommerce/models/shared/halref.py index ffd1db3a3..a74784782 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/halref.py +++ b/synccommerce/src/codatsynccommerce/models/shared/halref.py @@ -12,5 +12,4 @@ class HalRef: href: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('href'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/imagereference.py b/synccommerce/src/codatsynccommerce/models/shared/imagereference.py index 201f290e3..ddedf91aa 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/imagereference.py +++ b/synccommerce/src/codatsynccommerce/models/shared/imagereference.py @@ -13,9 +13,7 @@ class ImageReference: r"""Image reference.""" alt: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('alt'), 'exclude': lambda f: f is None }}) - r"""Alternative text when image is not available.""" src: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('src'), 'exclude': lambda f: f is None }}) - r"""Source URL for image.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/integration.py b/synccommerce/src/codatsynccommerce/models/shared/integration.py index 2e9765b90..0a2bc7206 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/integration.py +++ b/synccommerce/src/codatsynccommerce/models/shared/integration.py @@ -15,30 +15,19 @@ class Integration: r"""An integration that Codat supports""" enabled: bool = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('enabled') }}) - r"""Whether this integration is enabled for your customers to use""" key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key') }}) - r"""A unique 4-letter key to represent a platform in each integration. View [accounting](https://docs.codat.io/integrations/accounting/accounting-platform-keys), [banking](https://docs.codat.io/integrations/banking/banking-platform-keys), and [commerce](https://docs.codat.io/integrations/commerce/commerce-platform-keys) platform keys.""" logo_url: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('logoUrl') }}) - name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name') }}) - data_provided_by: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataProvidedBy'), 'exclude': lambda f: f is None }}) - datatype_features: Optional[list[shared_datatypefeature.DataTypeFeature]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('datatypeFeatures'), 'exclude': lambda f: f is None }}) - integration_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('integrationId'), 'exclude': lambda f: f is None }}) - r"""A Codat ID representing the integration.""" is_beta: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('isBeta'), 'exclude': lambda f: f is None }}) - is_offline_connector: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('isOfflineConnector'), 'exclude': lambda f: f is None }}) - source_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceId'), 'exclude': lambda f: f is None }}) - r"""A source-specific ID used to distinguish between different sources originating from the same data connection. In general, a data connection is a single data source. However, for TrueLayer, `sourceId` is associated with a specific bank and has a many-to-one relationship with the `integrationId`.""" source_type: Optional[shared_sourcetype_enum.SourceTypeEnum] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceType'), 'exclude': lambda f: f is None }}) - r"""The type of platform of the connection.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/integrations.py b/synccommerce/src/codatsynccommerce/models/shared/integrations.py index 9f32a3f5c..7bb08f78f 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/integrations.py +++ b/synccommerce/src/codatsynccommerce/models/shared/integrations.py @@ -15,13 +15,8 @@ class Integrations: r"""Success""" links: shared_links.Links = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('_links') }}) - page_number: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageNumber') }}) - page_size: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pageSize') }}) - total_results: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('totalResults') }}) - results: Optional[list[shared_integration.Integration]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/invoicelevelselection.py b/synccommerce/src/codatsynccommerce/models/shared/invoicelevelselection.py index 5e99b30d7..151fedb47 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/invoicelevelselection.py +++ b/synccommerce/src/codatsynccommerce/models/shared/invoicelevelselection.py @@ -12,9 +12,7 @@ class InvoiceLevelSelection: group_by_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('groupByOptions'), 'exclude': lambda f: f is None }}) - r"""Options for grouping sales.""" selected_group_by_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedGroupByOptions'), 'exclude': lambda f: f is None }}) - r"""Selected array of grouping options.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/invoicelinelevelselection.py b/synccommerce/src/codatsynccommerce/models/shared/invoicelinelevelselection.py index 6aea65173..499b1f15a 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/invoicelinelevelselection.py +++ b/synccommerce/src/codatsynccommerce/models/shared/invoicelinelevelselection.py @@ -12,9 +12,7 @@ class InvoiceLineLevelSelection: group_by_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('groupByOptions'), 'exclude': lambda f: f is None }}) - r"""Options for grouping on invoice lines.""" selected_group_by_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedGroupByOptions'), 'exclude': lambda f: f is None }}) - r"""Invoice line level selection.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/invoicestatus.py b/synccommerce/src/codatsynccommerce/models/shared/invoicestatus.py index d84472df3..75b5c4663 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/invoicestatus.py +++ b/synccommerce/src/codatsynccommerce/models/shared/invoicestatus.py @@ -12,9 +12,7 @@ class InvoiceStatus: invoice_status_options: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('invoiceStatusOptions'), 'exclude': lambda f: f is None }}) - r"""Options for invoice statuses.""" selected_invoice_status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedInvoiceStatus'), 'exclude': lambda f: f is None }}) - r"""Selected option for invoice status for invoice to be synced.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/links.py b/synccommerce/src/codatsynccommerce/models/shared/links.py index 81edae9d5..6855f5376 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/links.py +++ b/synccommerce/src/codatsynccommerce/models/shared/links.py @@ -13,11 +13,7 @@ class Links: current: shared_halref.HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('current') }}) - self_: shared_halref.HalRef = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('self') }}) - next: Optional[shared_halref.HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('next'), 'exclude': lambda f: f is None }}) - previous: Optional[shared_halref.HalRef] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('previous'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/localization.py b/synccommerce/src/codatsynccommerce/models/shared/localization.py index c94da80a9..b09c10acd 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/localization.py +++ b/synccommerce/src/codatsynccommerce/models/shared/localization.py @@ -12,8 +12,6 @@ class Localization: required: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('required'), 'exclude': lambda f: f is None }}) - text: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('text'), 'exclude': lambda f: f is None }}) - r"""Value of the property.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/newpayments.py b/synccommerce/src/codatsynccommerce/models/shared/newpayments.py index feb7fedef..e30d88dd8 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/newpayments.py +++ b/synccommerce/src/codatsynccommerce/models/shared/newpayments.py @@ -13,8 +13,6 @@ class NewPayments: accounts: Optional[dict[str, shared_configaccount.ConfigAccount]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }}) - sync_payments: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncPayments'), 'exclude': lambda f: f is None }}) - r"""Boolean indicator for syncing payments.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/newtaxrates.py b/synccommerce/src/codatsynccommerce/models/shared/newtaxrates.py index 04185400a..413a86865 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/newtaxrates.py +++ b/synccommerce/src/codatsynccommerce/models/shared/newtaxrates.py @@ -14,18 +14,13 @@ class NewTaxRates: accounting_tax_rate_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountingTaxRateOptions'), 'exclude': lambda f: f is None }}) - r"""Array of accounting tax rate options.""" commerce_tax_rate_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('commerceTaxRateOptions'), 'exclude': lambda f: f is None }}) - r"""Array of tax component options.""" default_zero_tax_rate_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('defaultZeroTaxRateOptions'), 'exclude': lambda f: f is None }}) - r"""Default zero tax rate selected for sync.""" selected_default_zero_tax_rate_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedDefaultZeroTaxRateId'), 'exclude': lambda f: f is None }}) - r"""Default tax rate selected for sync.""" tax_rate_mappings: Optional[list[shared_taxratemapping.TaxRateMapping]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRateMappings'), 'exclude': lambda f: f is None }}) - r"""Array of tax component to rate mapppings.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/option.py b/synccommerce/src/codatsynccommerce/models/shared/option.py index 6a0bb8540..3523f9a91 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/option.py +++ b/synccommerce/src/codatsynccommerce/models/shared/option.py @@ -12,9 +12,7 @@ class Option: id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - r"""Unique identifier for the option.""" name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) - r"""Name value of the option.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/payments.py b/synccommerce/src/codatsynccommerce/models/shared/payments.py index 55f4415e4..1f991abcb 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/payments.py +++ b/synccommerce/src/codatsynccommerce/models/shared/payments.py @@ -13,8 +13,6 @@ class Payments: accounts: Optional[dict[str, shared_configaccount.ConfigAccount]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }}) - sync_payments: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncPayments'), 'exclude': lambda f: f is None }}) - r"""Boolean indicator for syncing sales.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/sales.py b/synccommerce/src/codatsynccommerce/models/shared/sales.py index aeaa51841..1b1d76b8a 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/sales.py +++ b/synccommerce/src/codatsynccommerce/models/shared/sales.py @@ -18,18 +18,11 @@ class Sales: accounts: Optional[dict[str, shared_configaccount.ConfigAccount]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accounts'), 'exclude': lambda f: f is None }}) - grouping: Optional[shared_grouping.Grouping] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grouping'), 'exclude': lambda f: f is None }}) - invoice_status: Optional[shared_invoicestatus.InvoiceStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('invoiceStatus'), 'exclude': lambda f: f is None }}) - new_tax_rates: Optional[shared_newtaxrates.NewTaxRates] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newTaxRates'), 'exclude': lambda f: f is None }}) - sales_customer: Optional[shared_customer.Customer] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('salesCustomer'), 'exclude': lambda f: f is None }}) - sync_sales: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncSales'), 'exclude': lambda f: f is None }}) - r"""Boolean indicator for syncing sales.""" tax_rates: Optional[dict[str, shared_taxrateamount.TaxRateAmount]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRates'), 'exclude': lambda f: f is None }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/security.py b/synccommerce/src/codatsynccommerce/models/shared/security.py index 6ad4359bf..c03b0cd7f 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/security.py +++ b/synccommerce/src/codatsynccommerce/models/shared/security.py @@ -8,5 +8,4 @@ class Security: auth_header: str = dataclasses.field(metadata={'security': { 'scheme': True, 'type': 'apiKey', 'sub_type': 'header', 'field_name': 'Authorization' }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/supportedfeature.py b/synccommerce/src/codatsynccommerce/models/shared/supportedfeature.py index 1d28944f8..10e976bc0 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/supportedfeature.py +++ b/synccommerce/src/codatsynccommerce/models/shared/supportedfeature.py @@ -13,7 +13,5 @@ class SupportedFeature: feature_state: shared_featurestate_enum.FeatureStateEnum = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('featureState') }}) - feature_type: shared_featuretype_enum.FeatureTypeEnum = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('featureType') }}) - \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/syncflowurl.py b/synccommerce/src/codatsynccommerce/models/shared/syncflowurl.py index 8a90bcdb2..5726d7277 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/syncflowurl.py +++ b/synccommerce/src/codatsynccommerce/models/shared/syncflowurl.py @@ -13,6 +13,5 @@ class SyncFlowURL: r"""Success""" url: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('url'), 'exclude': lambda f: f is None }}) - r"""Sync flow URL.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/syncsummary.py b/synccommerce/src/codatsynccommerce/models/shared/syncsummary.py index 8e5f80dac..07a12e6d9 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/syncsummary.py +++ b/synccommerce/src/codatsynccommerce/models/shared/syncsummary.py @@ -15,33 +15,23 @@ class SyncSummary: r"""Success""" commerce_sync_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('commerceSyncId'), 'exclude': lambda f: f is None }}) - r"""Unique identifier for the sync in Codat.""" company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId'), 'exclude': lambda f: f is None }}) - r"""Unique identifier for your SMB in Codat.""" data_connections: Optional[list[shared_connection.Connection]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnections'), 'exclude': lambda f: f is None }}) - r"""Array of containing objects data connection information for the company.""" data_pushed: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataPushed'), 'exclude': lambda f: f is None }}) - r"""Boolean indicator for data being pushed during a sync operation.""" error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }}) - r"""Friendly error message for the sync operation.""" sync_date_range_utc: Optional[shared_daterange.DateRange] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncDateRangeUtc'), 'exclude': lambda f: f is None }}) - sync_exception_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncExceptionMessage'), 'exclude': lambda f: f is None }}) - r"""Exception message for the sync operation.""" sync_status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncStatus'), 'exclude': lambda f: f is None }}) - r"""Status of the sync of the company data. This is linked to status code.""" sync_status_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncStatusCode'), 'exclude': lambda f: f is None }}) - r"""Numerical status code sync of the company data.""" sync_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncUtc'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` diff --git a/synccommerce/src/codatsynccommerce/models/shared/synctolatestargs.py b/synccommerce/src/codatsynccommerce/models/shared/synctolatestargs.py index c0674efd5..bdc62e4a3 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/synctolatestargs.py +++ b/synccommerce/src/codatsynccommerce/models/shared/synctolatestargs.py @@ -12,7 +12,6 @@ class SyncToLatestArgs: sync_to: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('syncTo'), 'exclude': lambda f: f is None }}) - r"""In Codat's data model, dates and times are represented using the ISO 8601 standard. Date and time fields are formatted as strings; for example: ``` diff --git a/synccommerce/src/codatsynccommerce/models/shared/taxrateamount.py b/synccommerce/src/codatsynccommerce/models/shared/taxrateamount.py index be78948b2..c45aade80 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/taxrateamount.py +++ b/synccommerce/src/codatsynccommerce/models/shared/taxrateamount.py @@ -13,9 +13,7 @@ class TaxRateAmount: selected_tax_rate_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedTaxRateId'), 'exclude': lambda f: f is None }}) - r"""Selected tax rate id from the list of tax rates on the accounting software.""" tax_rate_options: Optional[list[shared_option.Option]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('taxRateOptions'), 'exclude': lambda f: f is None }}) - r"""Array of tax rate options object.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/taxratemapping.py b/synccommerce/src/codatsynccommerce/models/shared/taxratemapping.py index 3e40ad26d..97ae58ab8 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/taxratemapping.py +++ b/synccommerce/src/codatsynccommerce/models/shared/taxratemapping.py @@ -12,9 +12,7 @@ class TaxRateMapping: selected_accounting_tax_rate_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedAccountingTaxRateId'), 'exclude': lambda f: f is None }}) - r"""Selected tax rate id from the list of tax rates on the accounting software.""" selected_commerce_tax_rate_ids: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selectedCommerceTaxRateIds'), 'exclude': lambda f: f is None }}) - r"""Selected tax component id from the list of tax components on the commerce software.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/updateconnection.py b/synccommerce/src/codatsynccommerce/models/shared/updateconnection.py index 374cc7565..af5f84af3 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/updateconnection.py +++ b/synccommerce/src/codatsynccommerce/models/shared/updateconnection.py @@ -12,6 +12,5 @@ class UpdateConnection: status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) - r"""The current authorization status of the data connection.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/models/shared/visibleaccounts.py b/synccommerce/src/codatsynccommerce/models/shared/visibleaccounts.py index 32d4b23df..89e99a3b7 100755 --- a/synccommerce/src/codatsynccommerce/models/shared/visibleaccounts.py +++ b/synccommerce/src/codatsynccommerce/models/shared/visibleaccounts.py @@ -13,6 +13,5 @@ class VisibleAccounts: r"""Success""" visible_accounts: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('visibleAccounts'), 'exclude': lambda f: f is None }}) - r"""Visible accounts on sync flow.""" \ No newline at end of file diff --git a/synccommerce/src/codatsynccommerce/sdk.py b/synccommerce/src/codatsynccommerce/sdk.py index c58d5e48b..68485b0c8 100755 --- a/synccommerce/src/codatsynccommerce/sdk.py +++ b/synccommerce/src/codatsynccommerce/sdk.py @@ -34,8 +34,8 @@ class CodatSyncCommerce: _security_client: requests_http.Session _server_url: str = SERVERS[0] _language: str = "python" - _sdk_version: str = "0.10.1" - _gen_version: str = "2.23.1" + _sdk_version: str = "0.12.3" + _gen_version: str = "2.26.3" def __init__(self, security: shared.Security = None, diff --git a/synccommerce/src/codatsynccommerce/sync.py b/synccommerce/src/codatsynccommerce/sync.py index 28bb14f25..ff7a0052d 100755 --- a/synccommerce/src/codatsynccommerce/sync.py +++ b/synccommerce/src/codatsynccommerce/sync.py @@ -22,6 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http self._sdk_version = sdk_version self._gen_version = gen_version + def request_sync(self, request: operations.RequestSyncRequest, retries: Optional[utils.RetryConfig] = None) -> operations.RequestSyncResponse: r"""Run a Commerce sync from the last successful sync Run a Commerce sync from the last successful sync up to the date provided (optional), otherwise UtcNow is used. @@ -63,6 +64,7 @@ def do_request(): return res + def request_sync_for_date_range(self, request: operations.RequestSyncForDateRangeRequest, retries: Optional[utils.RetryConfig] = None) -> operations.RequestSyncForDateRangeResponse: r"""Run a Commerce sync from a given date range Run a Commerce sync from the specified start date to the specified finish date in the request payload. diff --git a/synccommerce/src/codatsynccommerce/sync_flow_preferences.py b/synccommerce/src/codatsynccommerce/sync_flow_preferences.py index 43bf349f2..f423d4f88 100755 --- a/synccommerce/src/codatsynccommerce/sync_flow_preferences.py +++ b/synccommerce/src/codatsynccommerce/sync_flow_preferences.py @@ -22,6 +22,7 @@ def __init__(self, client: requests_http.Session, security_client: requests_http self._sdk_version = sdk_version self._gen_version = gen_version + def get_config_text_sync_flow(self, retries: Optional[utils.RetryConfig] = None) -> operations.GetConfigTextSyncFlowResponse: r"""Retrieve preferences for text fields on Sync Flow To enable retrieval of preferences set for the text fields on Sync Flow. @@ -58,6 +59,7 @@ def do_request(): return res + def get_sync_flow_url(self, request: operations.GetSyncFlowURLRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetSyncFlowURLResponse: r"""Retrieve sync flow url Get a URL for Sync Flow including a one time passcode. @@ -95,6 +97,7 @@ def do_request(): return res + def get_visible_accounts(self, request: operations.GetVisibleAccountsRequest, retries: Optional[utils.RetryConfig] = None) -> operations.GetVisibleAccountsResponse: r"""List visible accounts Enable retrieval for accounts which are visible on sync flow. @@ -131,6 +134,7 @@ def do_request(): return res + def update_config_text_sync_flow(self, request: dict[str, shared.Localization], retries: Optional[utils.RetryConfig] = None) -> operations.UpdateConfigTextSyncFlowResponse: r"""Update preferences for text fields on sync flow To enable update of preferences set for the text fields on sync flow. @@ -171,6 +175,7 @@ def do_request(): return res + def update_visible_accounts_sync_flow(self, request: operations.UpdateVisibleAccountsSyncFlowRequest, retries: Optional[utils.RetryConfig] = None) -> operations.UpdateVisibleAccountsSyncFlowResponse: r"""Update the visible accounts on Sync Flow To enable update of accounts visible preferences set on Sync Flow. diff --git a/synccommerce/src/codatsynccommerce/utils/utils.py b/synccommerce/src/codatsynccommerce/utils/utils.py index 986a86937..a8b0d8f14 100755 --- a/synccommerce/src/codatsynccommerce/utils/utils.py +++ b/synccommerce/src/codatsynccommerce/utils/utils.py @@ -141,7 +141,8 @@ def _parse_basic_auth_scheme(client: SecurityClient, scheme: dataclass): client.client.headers['Authorization'] = f'Basic {base64.b64encode(data).decode()}' -def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> str: +def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass, + gbls: dict[str, dict[str, dict[str, Any]]] = None) -> str: path_param_fields: Tuple[Field, ...] = fields(clazz) for field in path_param_fields: request_metadata = field.metadata.get('request') @@ -233,7 +234,8 @@ def template_url(url_with_params: str, params: dict[str, str]) -> str: return url_with_params -def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[str, list[str]]: +def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[ + str, list[str]]: params: dict[str, list[str]] = {} param_fields: Tuple[Field, ...] = fields(clazz) @@ -267,8 +269,11 @@ def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[ params = params | _get_deep_object_query_params( metadata, f_name, value) elif style == 'form': - params = params | _get_form_query_params( - metadata, f_name, value) + params = params | _get_delimited_query_params( + metadata, f_name, value, ",") + elif style == 'pipeDelimited': + params = params | _get_delimited_query_params( + metadata, f_name, value, "|") else: raise Exception('not yet implemented') return params @@ -327,12 +332,15 @@ def _get_deep_object_query_params(metadata: dict, field_name: str, obj: any) -> if val is None: continue - if params.get(f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]') is None: - params[f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'] = [ + if params.get( + f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]') is None: + params[ + f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'] = [ ] params[ - f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'].append(_val_to_string(val)) + f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'].append( + _val_to_string(val)) else: params[ f'{metadata.get("field_name", field_name)}[{obj_param_metadata.get("field_name", obj_field.name)}]'] = [ @@ -368,25 +376,28 @@ def _get_query_param_field_name(obj_field: Field) -> str: return obj_param_metadata.get("field_name", obj_field.name) -def _get_form_query_params(metadata: dict, field_name: str, obj: any) -> dict[str, list[str]]: - return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name) +def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, array_delimiter: str) -> dict[ + str, list[str]]: + return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name, array_delimiter) SERIALIZATION_METHOD_TO_CONTENT_TYPE = { - 'json': 'application/json', - 'form': 'application/x-www-form-urlencoded', + 'json': 'application/json', + 'form': 'application/x-www-form-urlencoded', 'multipart': 'multipart/form-data', - 'raw': 'application/octet-stream', - 'string': 'text/plain', + 'raw': 'application/octet-stream', + 'string': 'text/plain', } -def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[str, any, any]: +def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[ + str, any, any]: if request is None: return None, None, None, None if not is_dataclass(request) or not hasattr(request, request_field_name): - return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method], request) + return serialize_content_type(request_field_name, SERIALIZATION_METHOD_TO_CONTENT_TYPE[serialization_method], + request) request_val = getattr(request, request_field_name) @@ -401,7 +412,8 @@ def serialize_request_body(request: dataclass, request_field_name: str, serializ if request_metadata is None: raise Exception('invalid request type') - return serialize_content_type(request_field_name, request_metadata.get('media_type', 'application/octet-stream'), request_val) + return serialize_content_type(request_field_name, request_metadata.get('media_type', 'application/octet-stream'), + request_val) def serialize_content_type(field_name: str, media_type: str, request: dataclass) -> Tuple[str, any, list[list[any]]]: @@ -474,7 +486,7 @@ def serialize_multipart_form(media_type: str, request: dataclass) -> Tuple[str, def serialize_dict(original: dict, explode: bool, field_name, existing: Optional[dict[str, list[str]]]) -> dict[ - str, list[str]]: + str, list[str]]: if existing is None: existing = [] @@ -514,7 +526,7 @@ def serialize_form_data(field_name: str, data: dataclass) -> dict[str, any]: else: if metadata.get('style', 'form') == 'form': form = form | _populate_form( - field_name, metadata.get('explode', True), val, _get_form_field_name) + field_name, metadata.get('explode', True), val, _get_form_field_name, ",") else: raise Exception( f'Invalid form style for field {field.name}') @@ -536,7 +548,8 @@ def _get_form_field_name(obj_field: Field) -> str: return obj_param_metadata.get("field_name", obj_field.name) -def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_func: Callable) -> dict[str, list[str]]: +def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_func: Callable, array_delimiter: str) -> \ + dict[str, list[str]]: params: dict[str, list[str]] = {} if obj is None: @@ -591,7 +604,7 @@ def _populate_form(field_name: str, explode: boolean, obj: any, get_field_name_f items.append(_val_to_string(value)) if len(items) > 0: - params[field_name] = [','.join([str(item) for item in items])] + params[field_name] = [array_delimiter.join([str(item) for item in items])] else: params[field_name] = [_val_to_string(obj)] @@ -731,7 +744,7 @@ def _val_to_string(val): if isinstance(val, datetime): return val.isoformat().replace('+00:00', 'Z') if isinstance(val, Enum): - return val.value + return str(val.value) return str(val)