diff --git a/platform/README.md b/platform/README.md index 960c73ca1..f34783408 100644 --- a/platform/README.md +++ b/platform/README.md @@ -3,15 +3,99 @@ -replace me +## SDK Installation + +```bash +pip install codat-platform +``` ## Example Usage -replace me + + +```python +import codatplatform +from codatplatform.models import shared + +s = codatplatform.CodatPlatform( + security=shared.Security( + auth_header="", + ), +) + +req = shared.CompanyRequestBody( + description='Requested early access to the new financing scheme.', + name='Bank of Dave', +) + +res = s.companies.create(req) + +if res.company is not None: + # handle response +``` -replace me +## Available Resources and Operations + + +### [companies](docs/sdks/companies/README.md) + +* [create](docs/sdks/companies/README.md#create) - Create company +* [delete](docs/sdks/companies/README.md#delete) - Delete a company +* [get](docs/sdks/companies/README.md#get) - Get company +* [list](docs/sdks/companies/README.md#list) - List companies +* [update](docs/sdks/companies/README.md#update) - Update company + +### [connections](docs/sdks/connections/README.md) + +* [create](docs/sdks/connections/README.md#create) - Create connection +* [delete](docs/sdks/connections/README.md#delete) - Delete connection +* [get](docs/sdks/connections/README.md#get) - Get connection +* [list](docs/sdks/connections/README.md#list) - List connections +* [unlink](docs/sdks/connections/README.md#unlink) - Unlink connection +* [update_authorization](docs/sdks/connections/README.md#update_authorization) - Update authorization + +### [integrations](docs/sdks/integrations/README.md) + +* [get](docs/sdks/integrations/README.md#get) - Get integration +* [get_branding](docs/sdks/integrations/README.md#get_branding) - Get branding +* [list](docs/sdks/integrations/README.md#list) - List integrations + +### [push_data](docs/sdks/pushdata/README.md) + +* [get_model_options](docs/sdks/pushdata/README.md#get_model_options) - Get push options +* [get_operation](docs/sdks/pushdata/README.md#get_operation) - Get push operation +* [list_operations](docs/sdks/pushdata/README.md#list_operations) - List push operations + +### [refresh_data](docs/sdks/refreshdata/README.md) + +* [all](docs/sdks/refreshdata/README.md#all) - Refresh all data +* [by_data_type](docs/sdks/refreshdata/README.md#by_data_type) - Refresh data type +* [get](docs/sdks/refreshdata/README.md#get) - Get data status +* [get_pull_operation](docs/sdks/refreshdata/README.md#get_pull_operation) - Get pull operation +* [list_pull_operations](docs/sdks/refreshdata/README.md#list_pull_operations) - List pull operations + +### [settings](docs/sdks/settings/README.md) + +* [create_api_key](docs/sdks/settings/README.md#create_api_key) - Create API key +* [delete_api_key](docs/sdks/settings/README.md#delete_api_key) - Delete api key +* [~~get_profile~~](docs/sdks/settings/README.md#get_profile) - Get profile :warning: **Deprecated** +* [get_sync_settings](docs/sdks/settings/README.md#get_sync_settings) - Get sync settings +* [list_api_keys](docs/sdks/settings/README.md#list_api_keys) - List API keys +* [update_profile](docs/sdks/settings/README.md#update_profile) - Update profile +* [update_sync_settings](docs/sdks/settings/README.md#update_sync_settings) - Update all sync settings + +### [supplemental_data](docs/sdks/supplementaldata/README.md) + +* [configure](docs/sdks/supplementaldata/README.md#configure) - Configure +* [get_configuration](docs/sdks/supplementaldata/README.md#get_configuration) - Get configuration + +### [webhooks](docs/sdks/webhooks/README.md) + +* [create](docs/sdks/webhooks/README.md#create) - Create webhook +* [get](docs/sdks/webhooks/README.md#get) - Get webhook +* [list](docs/sdks/webhooks/README.md#list) - List webhooks ### Library generated by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks) diff --git a/platform/RELEASES.md b/platform/RELEASES.md index a6f7df1f6..884866d02 100644 --- a/platform/RELEASES.md +++ b/platform/RELEASES.md @@ -8,4 +8,14 @@ Based on: ### Generated - [python v0.1.0] platform ### Releases -- [PyPI v0.1.0] https://pypi.org/project/codat-platform/0.1.0 - platform \ No newline at end of file +- [PyPI v0.1.0] https://pypi.org/project/codat-platform/0.1.0 - platform + +## 2023-09-13 11:13:05 +### Changes +Based on: +- OpenAPI Doc 3.0.0 https://raw.githubusercontent.com/codatio/oas/main/yaml/Codat-Common.yaml +- Speakeasy CLI 1.82.5 (2.108.3) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.2.0] platform +### Releases +- [PyPI v0.2.0] https://pypi.org/project/codat-platform/0.2.0 - platform \ No newline at end of file diff --git a/platform/docs/models/operations/createruleresponse.md b/platform/docs/models/operations/createruleresponse.md index a2faef1a1..28ecd28a1 100755 --- a/platform/docs/models/operations/createruleresponse.md +++ b/platform/docs/models/operations/createruleresponse.md @@ -7,6 +7,6 @@ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `content_type` | *str* | :heavy_check_mark: | N/A | | `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. | -| `rule` | [Optional[shared.Rule]](../../models/shared/rule.md) | :heavy_minus_sign: | OK | | `status_code` | *int* | :heavy_check_mark: | N/A | -| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | +| `webhook` | [Optional[shared.Webhook]](../../models/shared/webhook.md) | :heavy_minus_sign: | OK | \ No newline at end of file diff --git a/platform/docs/models/operations/getcompanydatastatusresponse.md b/platform/docs/models/operations/getcompanydatastatusresponse.md index ea0eda1e3..af0794bdc 100755 --- a/platform/docs/models/operations/getcompanydatastatusresponse.md +++ b/platform/docs/models/operations/getcompanydatastatusresponse.md @@ -6,7 +6,7 @@ | Field | Type | Required | Description | | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `content_type` | *str* | :heavy_check_mark: | N/A | -| `data_status_response` | dict[str, [shared.DataStatus](../../models/shared/datastatus.md)] | :heavy_minus_sign: | OK | +| `data_statuses` | dict[str, [shared.DataStatus](../../models/shared/datastatus.md)] | :heavy_minus_sign: | OK | | `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. | | `status_code` | *int* | :heavy_check_mark: | N/A | | `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/platform/docs/models/operations/getcompanypushhistoryresponse.md b/platform/docs/models/operations/getcompanypushhistoryresponse.md index fb82f0402..7ce47d63a 100755 --- a/platform/docs/models/operations/getcompanypushhistoryresponse.md +++ b/platform/docs/models/operations/getcompanypushhistoryresponse.md @@ -7,6 +7,6 @@ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `content_type` | *str* | :heavy_check_mark: | N/A | | `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed | -| `push_history_response` | [Optional[shared.PushHistoryResponse]](../../models/shared/pushhistoryresponse.md) | :heavy_minus_sign: | OK | +| `push_operations` | [Optional[shared.PushOperations]](../../models/shared/pushoperations.md) | :heavy_minus_sign: | OK | | `status_code` | *int* | :heavy_check_mark: | N/A | | `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/platform/docs/models/operations/getwebhookresponse.md b/platform/docs/models/operations/getwebhookresponse.md index 68698408f..ed6678232 100755 --- a/platform/docs/models/operations/getwebhookresponse.md +++ b/platform/docs/models/operations/getwebhookresponse.md @@ -7,6 +7,6 @@ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `content_type` | *str* | :heavy_check_mark: | N/A | | `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your API request was not properly authorized. | -| `rule` | [Optional[shared.Rule]](../../models/shared/rule.md) | :heavy_minus_sign: | OK | | `status_code` | *int* | :heavy_check_mark: | N/A | -| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | +| `webhook` | [Optional[shared.Webhook]](../../models/shared/webhook.md) | :heavy_minus_sign: | OK | \ No newline at end of file diff --git a/platform/docs/models/operations/listpulloperationsresponse.md b/platform/docs/models/operations/listpulloperationsresponse.md index 74c62e23a..23240bd20 100755 --- a/platform/docs/models/operations/listpulloperationsresponse.md +++ b/platform/docs/models/operations/listpulloperationsresponse.md @@ -3,10 +3,10 @@ ## Fields -| Field | Type | Required | Description | -| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -| `content_type` | *str* | :heavy_check_mark: | N/A | -| `data_connection_history` | [Optional[shared.DataConnectionHistory]](../../models/shared/dataconnectionhistory.md) | :heavy_minus_sign: | OK | -| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed | -| `status_code` | *int* | :heavy_check_mark: | N/A | -| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `content_type` | *str* | :heavy_check_mark: | N/A | +| `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed | +| `pull_operations` | [Optional[shared.PullOperations]](../../models/shared/pulloperations.md) | :heavy_minus_sign: | OK | +| `status_code` | *int* | :heavy_check_mark: | N/A | +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/platform/docs/models/operations/listrulesresponse.md b/platform/docs/models/operations/listrulesresponse.md index ee7f29217..0e58ebd80 100755 --- a/platform/docs/models/operations/listrulesresponse.md +++ b/platform/docs/models/operations/listrulesresponse.md @@ -7,6 +7,6 @@ | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `content_type` | *str* | :heavy_check_mark: | N/A | | `error_message` | [Optional[shared.ErrorMessage]](../../models/shared/errormessage.md) | :heavy_minus_sign: | Your `query` parameter was not correctly formed | -| `rules` | [Optional[shared.Rules]](../../models/shared/rules.md) | :heavy_minus_sign: | OK | | `status_code` | *int* | :heavy_check_mark: | N/A | -| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | \ No newline at end of file +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | N/A | +| `webhooks` | [Optional[shared.Webhooks]](../../models/shared/webhooks.md) | :heavy_minus_sign: | OK | \ No newline at end of file diff --git a/platform/docs/models/operations/unlinkconnectionrequest.md b/platform/docs/models/operations/unlinkconnectionrequest.md index 2ed1d78dc..90abf2798 100755 --- a/platform/docs/models/operations/unlinkconnectionrequest.md +++ b/platform/docs/models/operations/unlinkconnectionrequest.md @@ -3,8 +3,8 @@ ## Fields -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `request_body` | [Optional[UnlinkConnectionRequestBody]](../../models/operations/unlinkconnectionrequestbody.md) | :heavy_minus_sign: | N/A | | -| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 | -| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | +| `update_connection_status` | [Optional[shared.UpdateConnectionStatus]](../../models/shared/updateconnectionstatus.md) | :heavy_minus_sign: | N/A | | +| `company_id` | *str* | :heavy_check_mark: | N/A | 8a210b68-6988-11ed-a1eb-0242ac120002 | +| `connection_id` | *str* | :heavy_check_mark: | N/A | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | \ No newline at end of file diff --git a/platform/docs/models/operations/unlinkconnectionrequestbody.md b/platform/docs/models/operations/unlinkconnectionrequestbody.md deleted file mode 100755 index 276bf1330..000000000 --- a/platform/docs/models/operations/unlinkconnectionrequestbody.md +++ /dev/null @@ -1,8 +0,0 @@ -# UnlinkConnectionRequestBody - - -## Fields - -| Field | Type | Required | Description | -| ------------------ | ------------------ | ------------------ | ------------------ | -| `status` | *Optional[str]* | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/platform/docs/models/shared/apikeys.md b/platform/docs/models/shared/apikeys.md index f627777ee..1e4bf1007 100755 --- a/platform/docs/models/shared/apikeys.md +++ b/platform/docs/models/shared/apikeys.md @@ -1,7 +1,5 @@ # APIKeys -Success - ## Fields diff --git a/platform/docs/models/shared/branding.md b/platform/docs/models/shared/branding.md index bc9ed4c5c..095582187 100755 --- a/platform/docs/models/shared/branding.md +++ b/platform/docs/models/shared/branding.md @@ -1,7 +1,5 @@ # Branding -OK - ## Fields diff --git a/platform/docs/models/shared/companies.md b/platform/docs/models/shared/companies.md index 621899fbb..c4c6e0399 100755 --- a/platform/docs/models/shared/companies.md +++ b/platform/docs/models/shared/companies.md @@ -1,7 +1,5 @@ # Companies -OK - ## Fields diff --git a/platform/docs/models/shared/companydataconnectionstatuschangedwebhookdata.md b/platform/docs/models/shared/companydataconnectionstatuschangedwebhookdata.md index be01819ec..5b5dc5b64 100755 --- a/platform/docs/models/shared/companydataconnectionstatuschangedwebhookdata.md +++ b/platform/docs/models/shared/companydataconnectionstatuschangedwebhookdata.md @@ -6,6 +6,6 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `data_connection_id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | -| `new_status` | [Optional[ConnectionStatus]](../../models/shared/connectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | | -| `old_status` | [Optional[ConnectionStatus]](../../models/shared/connectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | | +| `new_status` | [Optional[DataConnectionStatus]](../../models/shared/dataconnectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | | +| `old_status` | [Optional[DataConnectionStatus]](../../models/shared/dataconnectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | | | `platform_key` | *Optional[str]* | :heavy_minus_sign: | 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. | gbol | \ No newline at end of file diff --git a/platform/docs/models/shared/connections.md b/platform/docs/models/shared/connections.md index ba1135508..d9a1a748e 100755 --- a/platform/docs/models/shared/connections.md +++ b/platform/docs/models/shared/connections.md @@ -1,7 +1,5 @@ # Connections -OK - ## Fields diff --git a/platform/docs/models/shared/connectionstatus.md b/platform/docs/models/shared/connectionstatus.md deleted file mode 100755 index ca50f9bf9..000000000 --- a/platform/docs/models/shared/connectionstatus.md +++ /dev/null @@ -1,13 +0,0 @@ -# ConnectionStatus - -The current authorization status of the data connection. - - -## Values - -| Name | Value | -| -------------- | -------------- | -| `PENDING_AUTH` | PendingAuth | -| `LINKED` | Linked | -| `UNLINKED` | Unlinked | -| `DEAUTHORIZED` | Deauthorized | \ No newline at end of file diff --git a/platform/docs/models/shared/errormessage.md b/platform/docs/models/shared/errormessage.md index 9d49473cf..4f34c9a64 100755 --- a/platform/docs/models/shared/errormessage.md +++ b/platform/docs/models/shared/errormessage.md @@ -1,7 +1,5 @@ # ErrorMessage -Your API request was not properly authorized. - ## Fields diff --git a/platform/docs/models/shared/integrations.md b/platform/docs/models/shared/integrations.md index b8b283f74..31ab0315a 100755 --- a/platform/docs/models/shared/integrations.md +++ b/platform/docs/models/shared/integrations.md @@ -1,7 +1,5 @@ # Integrations -OK - ## Fields diff --git a/platform/docs/models/shared/dataconnectionhistory.md b/platform/docs/models/shared/pulloperations.md similarity index 98% rename from platform/docs/models/shared/dataconnectionhistory.md rename to platform/docs/models/shared/pulloperations.md index 5e9372578..afe4f6f90 100755 --- a/platform/docs/models/shared/dataconnectionhistory.md +++ b/platform/docs/models/shared/pulloperations.md @@ -1,6 +1,4 @@ -# DataConnectionHistory - -OK +# PullOperations ## Fields diff --git a/platform/docs/models/shared/pushhistoryresponse.md b/platform/docs/models/shared/pushhistoryresponse.md deleted file mode 100755 index abc66948d..000000000 --- a/platform/docs/models/shared/pushhistoryresponse.md +++ /dev/null @@ -1,14 +0,0 @@ -# PushHistoryResponse - -OK - - -## Fields - -| Field | Type | Required | Description | -| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | -| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A | -| `page_number` | *int* | :heavy_check_mark: | N/A | -| `page_size` | *int* | :heavy_check_mark: | N/A | -| `results` | list[[PushOperationSummary](../../models/shared/pushoperationsummary.md)] | :heavy_minus_sign: | N/A | -| `total_results` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/platform/docs/models/shared/pushoperation.md b/platform/docs/models/shared/pushoperation.md index fb7684108..8537a2c10 100755 --- a/platform/docs/models/shared/pushoperation.md +++ b/platform/docs/models/shared/pushoperation.md @@ -1,7 +1,5 @@ # PushOperation -OK - ## Fields @@ -10,7 +8,6 @@ OK | `changes` | list[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | | | `company_id` | *str* | :heavy_check_mark: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 | | `completed_on_utc` | *Optional[str]* | :heavy_minus_sign: | 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:

```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```



When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:

- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`

> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z | -| `data` | dict[str, *Any*] | :heavy_minus_sign: | Object submitted in push operation. | | | `data_connection_key` | *str* | :heavy_check_mark: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | | `data_type` | [Optional[DataType]](../../models/shared/datatype.md) | :heavy_minus_sign: | Available Data types | invoices | | `error_message` | *Optional[str]* | :heavy_minus_sign: | N/A | | diff --git a/platform/docs/models/shared/pushoperations.md b/platform/docs/models/shared/pushoperations.md new file mode 100755 index 000000000..83fd674fe --- /dev/null +++ b/platform/docs/models/shared/pushoperations.md @@ -0,0 +1,12 @@ +# PushOperations + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A | +| `page_number` | *int* | :heavy_check_mark: | N/A | +| `page_size` | *int* | :heavy_check_mark: | N/A | +| `results` | list[[PushOperation](../../models/shared/pushoperation.md)] | :heavy_minus_sign: | N/A | +| `total_results` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/platform/docs/models/shared/pushoperationsummary.md b/platform/docs/models/shared/pushoperationsummary.md deleted file mode 100755 index d84387756..000000000 --- a/platform/docs/models/shared/pushoperationsummary.md +++ /dev/null @@ -1,20 +0,0 @@ -# PushOperationSummary - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `changes` | list[[PushOperationChange](../../models/shared/pushoperationchange.md)] | :heavy_minus_sign: | Contains a single entry that communicates which record has changed and the manner in which it changed. | | -| `company_id` | *str* | :heavy_check_mark: | Unique identifier for your SMB in Codat. | 8a210b68-6988-11ed-a1eb-0242ac120002 | -| `completed_on_utc` | *Optional[str]* | :heavy_minus_sign: | 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:

```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```



When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:

- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`

> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z | -| `data_connection_key` | *str* | :heavy_check_mark: | Unique identifier for a company's data connection. | 2e9d2c44-f675-40ba-8049-353bfcb5e171 | -| `data_type` | [Optional[DataType]](../../models/shared/datatype.md) | :heavy_minus_sign: | Available Data types | invoices | -| `error_message` | *Optional[str]* | :heavy_minus_sign: | N/A | | -| `push_operation_key` | *str* | :heavy_check_mark: | A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted. | | -| `requested_on_utc` | *str* | :heavy_check_mark: | 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:

```
2020-10-08T22:40:50Z
2021-01-01T00:00:00
```



When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information:

- Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z`
- Unqualified local time: `2021-11-15T01:00:00`
- UTC time offsets: `2021-11-15T01:00:00-05:00`

> Time zones
>
> Not all dates from Codat will contain information about time zones.
> Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. | 2022-10-23T00:00:00.000Z | -| `status` | [PushOperationStatus](../../models/shared/pushoperationstatus.md) | :heavy_check_mark: | The status of the push operation. | | -| `status_code` | *int* | :heavy_check_mark: | N/A | | -| `timeout_in_minutes` | *Optional[int]* | :heavy_minus_sign: | N/A | | -| ~~`timeout_in_seconds`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. | | -| `validation` | [Optional[Validation]](../../models/shared/validation.md) | :heavy_minus_sign: | A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here. | | \ No newline at end of file diff --git a/platform/docs/models/shared/pushoption.md b/platform/docs/models/shared/pushoption.md index 5a6b4939e..a9a0e479a 100755 --- a/platform/docs/models/shared/pushoption.md +++ b/platform/docs/models/shared/pushoption.md @@ -1,7 +1,5 @@ # PushOption -OK - ## Fields diff --git a/platform/docs/models/shared/rule.md b/platform/docs/models/shared/rule.md deleted file mode 100755 index 390b18d27..000000000 --- a/platform/docs/models/shared/rule.md +++ /dev/null @@ -1,13 +0,0 @@ -# Rule - -Create an event notification to a URL or list of email addresses based on the given type or condition. - - -## Fields - -| Field | Type | Required | Description | Example | -| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | -| `company_id` | *Optional[str]* | :heavy_minus_sign: | N/A | 39b73b17-cc2e-429e-915d-71654e9dcd1e | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | ff89c50e-a719-4ef5-a182-9917e53927b6 | -| `notifiers` | [RuleNotifiers](../../models/shared/rulenotifiers.md) | :heavy_check_mark: | N/A | | -| `type` | *str* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/platform/docs/models/shared/rules.md b/platform/docs/models/shared/rules.md deleted file mode 100755 index 42ed95d32..000000000 --- a/platform/docs/models/shared/rules.md +++ /dev/null @@ -1,14 +0,0 @@ -# Rules - -OK - - -## Fields - -| Field | Type | Required | Description | -| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | -| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A | -| `page_number` | *int* | :heavy_check_mark: | N/A | -| `page_size` | *int* | :heavy_check_mark: | N/A | -| `results` | list[[Rule](../../models/shared/rule.md)] | :heavy_minus_sign: | N/A | -| `total_results` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/platform/docs/models/shared/supplementaldataconfiguration.md b/platform/docs/models/shared/supplementaldataconfiguration.md index 65aa7dd0c..24561c121 100755 --- a/platform/docs/models/shared/supplementaldataconfiguration.md +++ b/platform/docs/models/shared/supplementaldataconfiguration.md @@ -1,7 +1,5 @@ # SupplementalDataConfiguration -OK - ## Fields diff --git a/platform/docs/models/shared/syncsetting.md b/platform/docs/models/shared/syncsetting.md index 34064e70e..f3a689cdb 100755 --- a/platform/docs/models/shared/syncsetting.md +++ b/platform/docs/models/shared/syncsetting.md @@ -7,7 +7,7 @@ Describes how often, and how much history, should be fetched for the given data | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `data_type` | [SyncSettingDataType](../../models/shared/syncsettingdatatype.md) | :heavy_check_mark: | Available Data types | invoices | +| `data_type` | [SyncSettingDataTypes](../../models/shared/syncsettingdatatypes.md) | :heavy_check_mark: | Available Data types | invoices | | `fetch_on_first_link` | *bool* | :heavy_check_mark: | Whether this data type should be queued after a company has authorized a connection. | | | `is_locked` | *Optional[bool]* | :heavy_minus_sign: | N/A | | | `months_to_sync` | *Optional[int]* | :heavy_minus_sign: | Months of data to fetch, for report data types (`balanceSheet` & `profitAndLoss`) only. | 24 | diff --git a/platform/docs/models/shared/syncsettingdatatype.md b/platform/docs/models/shared/syncsettingdatatypes.md similarity index 99% rename from platform/docs/models/shared/syncsettingdatatype.md rename to platform/docs/models/shared/syncsettingdatatypes.md index 200981a38..3bfb56266 100755 --- a/platform/docs/models/shared/syncsettingdatatype.md +++ b/platform/docs/models/shared/syncsettingdatatypes.md @@ -1,4 +1,4 @@ -# SyncSettingDataType +# SyncSettingDataTypes Available Data types diff --git a/platform/docs/models/shared/syncsettings.md b/platform/docs/models/shared/syncsettings.md index 5bfbc71f8..951f8a229 100755 --- a/platform/docs/models/shared/syncsettings.md +++ b/platform/docs/models/shared/syncsettings.md @@ -1,7 +1,5 @@ # SyncSettings -OK - ## Fields diff --git a/platform/docs/models/shared/updateconnectionstatus.md b/platform/docs/models/shared/updateconnectionstatus.md new file mode 100755 index 000000000..e9cd7ffe8 --- /dev/null +++ b/platform/docs/models/shared/updateconnectionstatus.md @@ -0,0 +1,8 @@ +# UpdateConnectionStatus + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | +| `status` | [Optional[DataConnectionStatus]](../../models/shared/dataconnectionstatus.md) | :heavy_minus_sign: | The current authorization status of the data connection. | \ No newline at end of file diff --git a/platform/docs/models/shared/webhook.md b/platform/docs/models/shared/webhook.md new file mode 100755 index 000000000..f2d8512d8 --- /dev/null +++ b/platform/docs/models/shared/webhook.md @@ -0,0 +1,13 @@ +# Webhook + +Create an event notification to a URL or list of email addresses based on the given type or condition. + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | +| `company_id` | *Optional[str]* | :heavy_minus_sign: | N/A | 39b73b17-cc2e-429e-915d-71654e9dcd1e | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | ff89c50e-a719-4ef5-a182-9917e53927b6 | +| `notifiers` | [WebhookNotifiers](../../models/shared/webhooknotifiers.md) | :heavy_check_mark: | N/A | | +| `type` | *str* | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/platform/docs/models/shared/rulenotifiers.md b/platform/docs/models/shared/webhooknotifiers.md similarity index 96% rename from platform/docs/models/shared/rulenotifiers.md rename to platform/docs/models/shared/webhooknotifiers.md index d10e20302..3c2f4e9cb 100755 --- a/platform/docs/models/shared/rulenotifiers.md +++ b/platform/docs/models/shared/webhooknotifiers.md @@ -1,4 +1,4 @@ -# RuleNotifiers +# WebhookNotifiers ## Fields diff --git a/platform/docs/models/shared/webhooks.md b/platform/docs/models/shared/webhooks.md new file mode 100755 index 000000000..3ff1dce15 --- /dev/null +++ b/platform/docs/models/shared/webhooks.md @@ -0,0 +1,12 @@ +# Webhooks + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | +| `links` | [Links](../../models/shared/links.md) | :heavy_check_mark: | N/A | +| `page_number` | *int* | :heavy_check_mark: | N/A | +| `page_size` | *int* | :heavy_check_mark: | N/A | +| `results` | list[[Webhook](../../models/shared/webhook.md)] | :heavy_minus_sign: | N/A | +| `total_results` | *int* | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/platform/docs/sdks/connections/README.md b/platform/docs/sdks/connections/README.md index 02597cbdf..e266441e9 100755 --- a/platform/docs/sdks/connections/README.md +++ b/platform/docs/sdks/connections/README.md @@ -198,8 +198,8 @@ s = codatplatform.CodatPlatform( ) req = operations.UnlinkConnectionRequest( - request_body=operations.UnlinkConnectionRequestBody( - status='quibusdam', + update_connection_status=shared.UpdateConnectionStatus( + status=shared.DataConnectionStatus.DEAUTHORIZED, ), company_id='8a210b68-6988-11ed-a1eb-0242ac120002', connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171', @@ -242,9 +242,7 @@ s = codatplatform.CodatPlatform( req = operations.UpdateConnectionAuthorizationRequest( request_body={ - "nulla": 'corrupti', - "illum": 'vel', - "error": 'deserunt', + "unde": 'nulla', }, company_id='8a210b68-6988-11ed-a1eb-0242ac120002', connection_id='2e9d2c44-f675-40ba-8049-353bfcb5e171', diff --git a/platform/docs/sdks/integrations/README.md b/platform/docs/sdks/integrations/README.md index 22f75fe81..d365671c7 100755 --- a/platform/docs/sdks/integrations/README.md +++ b/platform/docs/sdks/integrations/README.md @@ -108,7 +108,7 @@ req = operations.ListIntegrationsRequest( order_by='-modifiedDate', page=1, page_size=100, - query='suscipit', + query='corrupti', ) res = s.integrations.list(req) diff --git a/platform/docs/sdks/pushdata/README.md b/platform/docs/sdks/pushdata/README.md index 39dd67f51..e9e74e480 100755 --- a/platform/docs/sdks/pushdata/README.md +++ b/platform/docs/sdks/pushdata/README.md @@ -78,7 +78,7 @@ s = codatplatform.CodatPlatform( req = operations.GetPushOperationRequest( company_id='8a210b68-6988-11ed-a1eb-0242ac120002', - push_operation_key='74e0f467-cc87-496e-9151-a05dfc2ddf7c', + push_operation_key='d69a674e-0f46-47cc-8796-ed151a05dfc2', ) res = s.push_data.get_operation(req) @@ -121,12 +121,12 @@ req = operations.GetCompanyPushHistoryRequest( order_by='-modifiedDate', page=1, page_size=100, - query='quod', + query='at', ) res = s.push_data.list_operations(req) -if res.push_history_response is not None: +if res.push_operations is not None: # handle response ``` diff --git a/platform/docs/sdks/refreshdata/README.md b/platform/docs/sdks/refreshdata/README.md index 469cbcf8b..7ed92626f 100755 --- a/platform/docs/sdks/refreshdata/README.md +++ b/platform/docs/sdks/refreshdata/README.md @@ -75,7 +75,7 @@ s = codatplatform.CodatPlatform( req = operations.RefreshDataTypeRequest( company_id='8a210b68-6988-11ed-a1eb-0242ac120002', - connection_id='78ca1ba9-28fc-4816-b42c-b73920592939', + connection_id='df7cc78c-a1ba-4928-bc81-6742cb739205', data_type=shared.DataType.INVOICES, ) @@ -120,7 +120,7 @@ req = operations.GetCompanyDataStatusRequest( res = s.refresh_data.get(req) -if res.data_status_response is not None: +if res.data_statuses is not None: # handle response ``` @@ -198,12 +198,12 @@ req = operations.ListPullOperationsRequest( order_by='-modifiedDate', page=1, page_size=100, - query='laboriosam', + query='natus', ) res = s.refresh_data.list_pull_operations(req) -if res.data_connection_history is not None: +if res.pull_operations is not None: # handle response ``` diff --git a/platform/docs/sdks/settings/README.md b/platform/docs/sdks/settings/README.md index 6125cf567..c876387c0 100755 --- a/platform/docs/sdks/settings/README.md +++ b/platform/docs/sdks/settings/README.md @@ -248,9 +248,6 @@ req = shared.Profile( redirect_url='https://bobs-burgers.{countrySuffix}/{companyId}', white_list_urls=[ 'https://bobs-burgers.com', - 'https://bobs-burgers.com', - 'https://bobs-burgers.com', - 'https://bobs-burgers.com', ], ) @@ -294,43 +291,13 @@ req = operations.UpdateProfileSyncSettingsRequestBody( overrides_defaults=False, settings=[ shared.SyncSetting( - data_type=shared.SyncSettingDataType.INVOICES, - fetch_on_first_link=False, - is_locked=False, - months_to_sync=24, - sync_from_utc='2022-10-23T00:00:00.000Z', - sync_from_window=24, - sync_order=449950, - sync_schedule=24, - ), - shared.SyncSetting( - data_type=shared.SyncSettingDataType.INVOICES, - fetch_on_first_link=False, - is_locked=False, - months_to_sync=24, - sync_from_utc='2022-10-23T00:00:00.000Z', - sync_from_window=24, - sync_order=613064, - sync_schedule=24, - ), - shared.SyncSetting( - data_type=shared.SyncSettingDataType.INVOICES, - fetch_on_first_link=False, - is_locked=False, - months_to_sync=24, - sync_from_utc='2022-10-23T00:00:00.000Z', - sync_from_window=24, - sync_order=902349, - sync_schedule=24, - ), - shared.SyncSetting( - data_type=shared.SyncSettingDataType.INVOICES, + data_type=shared.SyncSettingDataTypes.INVOICES, fetch_on_first_link=False, is_locked=False, months_to_sync=24, sync_from_utc='2022-10-23T00:00:00.000Z', sync_from_window=24, - sync_order=99280, + sync_order=612096, sync_schedule=24, ), ], diff --git a/platform/docs/sdks/supplementaldata/README.md b/platform/docs/sdks/supplementaldata/README.md index 7712306a1..b759ee0bd 100755 --- a/platform/docs/sdks/supplementaldata/README.md +++ b/platform/docs/sdks/supplementaldata/README.md @@ -33,22 +33,19 @@ s = codatplatform.CodatPlatform( req = operations.ConfigureSupplementalDataRequest( supplemental_data_configuration=shared.SupplementalDataConfiguration( supplemental_data_config={ - "reiciendis": shared.SupplementalDataConfigurationSupplementalDataSourceConfiguration( - data_source='est', + "dolor": shared.SupplementalDataConfigurationSupplementalDataSourceConfiguration( + data_source='natus', pull_data={ - "laborum": 'dolores', - "dolorem": 'corporis', - "explicabo": 'nobis', + "laboriosam": 'hic', }, push_data={ - "omnis": 'nemo', - "minima": 'excepturi', + "saepe": 'fuga', }, ), }, ), data_type=operations.ConfigureSupplementalDataDataType.INVOICES, - platform_key='accusantium', + platform_key='in', ) res = s.supplemental_data.configure(req) @@ -90,7 +87,7 @@ s = codatplatform.CodatPlatform( req = operations.GetSupplementalDataConfigurationRequest( data_type=operations.GetSupplementalDataConfigurationDataType.INVOICES, - platform_key='iure', + platform_key='corporis', ) res = s.supplemental_data.get_configuration(req) diff --git a/platform/docs/sdks/webhooks/README.md b/platform/docs/sdks/webhooks/README.md index 2174b8a6d..6c87d59c5 100755 --- a/platform/docs/sdks/webhooks/README.md +++ b/platform/docs/sdks/webhooks/README.md @@ -31,17 +31,15 @@ req = shared.CreateRule( notifiers=shared.CreateRuleNotifiers( emails=[ 'info@client.com', - 'info@client.com', - 'info@client.com', ], webhook='https://webhook.client.com', ), - type='doloribus', + type='iste', ) res = s.webhooks.create(req) -if res.rule is not None: +if res.webhook is not None: # handle response ``` @@ -80,7 +78,7 @@ req = operations.GetWebhookRequest( res = s.webhooks.get(req) -if res.rule is not None: +if res.webhook is not None: # handle response ``` @@ -117,12 +115,12 @@ req = operations.ListRulesRequest( order_by='-modifiedDate', page=1, page_size=100, - query='sapiente', + query='iure', ) res = s.webhooks.list(req) -if res.rules is not None: +if res.webhooks is not None: # handle response ``` diff --git a/platform/files.gen b/platform/files.gen index 380eeb826..928a567e8 100755 --- a/platform/files.gen +++ b/platform/files.gen @@ -62,6 +62,7 @@ src/codatplatform/models/shared/companies.py src/codatplatform/models/shared/links.py src/codatplatform/models/shared/halref.py src/codatplatform/models/shared/connections.py +src/codatplatform/models/shared/updateconnectionstatus.py src/codatplatform/models/shared/integration.py src/codatplatform/models/shared/datatypefeature.py src/codatplatform/models/shared/supportedfeature.py @@ -87,11 +88,10 @@ src/codatplatform/models/shared/pushoperationstatus.py src/codatplatform/models/shared/pushoperationchange.py src/codatplatform/models/shared/pushchangetype.py src/codatplatform/models/shared/pushoperationref.py -src/codatplatform/models/shared/pushhistoryresponse.py -src/codatplatform/models/shared/pushoperationsummary.py +src/codatplatform/models/shared/pushoperations.py src/codatplatform/models/shared/pulloperation.py src/codatplatform/models/shared/datastatus.py -src/codatplatform/models/shared/dataconnectionhistory.py +src/codatplatform/models/shared/pulloperations.py src/codatplatform/models/shared/apikeydetails.py src/codatplatform/models/shared/createapikey.py src/codatplatform/models/shared/profile.py @@ -99,12 +99,11 @@ src/codatplatform/models/shared/syncsettings.py src/codatplatform/models/shared/syncsetting.py src/codatplatform/models/shared/apikeys.py src/codatplatform/models/shared/supplementaldataconfiguration.py -src/codatplatform/models/shared/rule.py +src/codatplatform/models/shared/webhook.py src/codatplatform/models/shared/createrule.py -src/codatplatform/models/shared/rules.py +src/codatplatform/models/shared/webhooks.py src/codatplatform/models/shared/security.py src/codatplatform/models/shared/companydataconnectionstatuschangedwebhook.py -src/codatplatform/models/shared/connectionstatus.py src/codatplatform/models/shared/datasynccompletedwebhook.py src/codatplatform/models/shared/datasetdatachangedwebhook.py src/codatplatform/models/shared/datasetstatuschangederrorwebhook.py @@ -150,7 +149,6 @@ docs/models/operations/getconnectionrequest.md docs/models/operations/getconnectionresponse.md docs/models/operations/listconnectionsrequest.md docs/models/operations/listconnectionsresponse.md -docs/models/operations/unlinkconnectionrequestbody.md docs/models/operations/unlinkconnectionrequest.md docs/models/operations/unlinkconnectionresponse.md docs/models/operations/updateconnectionauthorizationrequest.md @@ -208,6 +206,7 @@ docs/models/shared/companies.md docs/models/shared/links.md docs/models/shared/halref.md docs/models/shared/connections.md +docs/models/shared/updateconnectionstatus.md docs/models/shared/integration.md docs/models/shared/datatypefeature.md docs/models/shared/supportedfeature.md @@ -233,30 +232,28 @@ docs/models/shared/pushoperationstatus.md docs/models/shared/pushoperationchange.md docs/models/shared/pushchangetype.md docs/models/shared/pushoperationref.md -docs/models/shared/pushhistoryresponse.md -docs/models/shared/pushoperationsummary.md +docs/models/shared/pushoperations.md docs/models/shared/pulloperationstatus.md docs/models/shared/pulloperation.md docs/models/shared/datastatus.md -docs/models/shared/dataconnectionhistory.md +docs/models/shared/pulloperations.md docs/models/shared/apikeydetails.md docs/models/shared/createapikey.md docs/models/shared/profile.md docs/models/shared/syncsettings.md -docs/models/shared/syncsettingdatatype.md +docs/models/shared/syncsettingdatatypes.md docs/models/shared/syncsetting.md docs/models/shared/apikeys.md docs/models/shared/supplementaldataconfigurationsupplementaldatasourceconfiguration.md docs/models/shared/supplementaldataconfiguration.md -docs/models/shared/rulenotifiers.md -docs/models/shared/rule.md +docs/models/shared/webhooknotifiers.md +docs/models/shared/webhook.md docs/models/shared/createrulenotifiers.md docs/models/shared/createrule.md -docs/models/shared/rules.md +docs/models/shared/webhooks.md docs/models/shared/security.md docs/models/shared/companydataconnectionstatuschangedwebhookdata.md docs/models/shared/companydataconnectionstatuschangedwebhook.md -docs/models/shared/connectionstatus.md docs/models/shared/datasynccompletedwebhookdata.md docs/models/shared/datasynccompletedwebhook.md docs/models/shared/datasetdatachangedwebhookdata.md diff --git a/platform/gen.yaml b/platform/gen.yaml index c27a92047..39a3fc0cc 100644 --- a/platform/gen.yaml +++ b/platform/gen.yaml @@ -1,17 +1,25 @@ configVersion: 1.0.0 management: - docChecksum: 853aebc76021ec17db9b1abb7a33f340 - docVersion: 2.1.0 - speakeasyVersion: 1.53.0 - generationVersion: 2.58.0 + docChecksum: 6f41b61f64ea1dcaee9df6bc1e3cb37c + docVersion: 3.0.0 + speakeasyVersion: 1.82.5 + generationVersion: 2.108.3 generation: sdkClassName: CodatPlatform singleTagPerOp: false telemetryEnabled: true +features: + python: + core: 2.85.4 + deprecations: 2.81.1 + examples: 2.81.2 + globalSecurity: 2.81.1 + globalServerURLs: 2.82.0 + nameOverrides: 2.81.1 + retries: 2.82.0 python: - version: 0.1.0 + version: 0.2.0 author: Codat - description: Manage the building blocks of Codat, including companies, connections, - and more. + description: Manage the building blocks of Codat, including companies, connections, and more. maxMethodParams: 0 packageName: codat-platform diff --git a/platform/setup.py b/platform/setup.py index bf75293fb..e3eb9996c 100755 --- a/platform/setup.py +++ b/platform/setup.py @@ -10,7 +10,7 @@ setuptools.setup( name="codat-platform", - version="0.1.0", + version="0.2.0", author="Codat", description="Manage the building blocks of Codat, including companies, connections, and more.", long_description=long_description, diff --git a/platform/src/codatplatform/companies.py b/platform/src/codatplatform/companies.py index fed9df6f6..63faffd87 100755 --- a/platform/src/codatplatform/companies.py +++ b/platform/src/codatplatform/companies.py @@ -31,9 +31,13 @@ def create(self, request: shared.CompanyRequestBody, retries: Optional[utils.Ret client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -76,9 +80,13 @@ def delete(self, request: operations.DeleteCompanyRequest, retries: Optional[uti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('DELETE', url, headers=headers) @@ -117,9 +125,13 @@ def get(self, request: operations.GetCompanyRequest, retries: Optional[utils.Ret client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -163,9 +175,13 @@ def list(self, request: operations.ListCompaniesRequest, retries: Optional[utils client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -211,9 +227,13 @@ def update(self, request: operations.UpdateCompanyRequest, retries: Optional[uti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) diff --git a/platform/src/codatplatform/connections.py b/platform/src/codatplatform/connections.py index 43528c8b0..81c339f8c 100755 --- a/platform/src/codatplatform/connections.py +++ b/platform/src/codatplatform/connections.py @@ -31,9 +31,13 @@ def create(self, request: operations.CreateConnectionRequest, retries: Optional[ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -77,9 +81,13 @@ def delete(self, request: operations.DeleteConnectionRequest, retries: Optional[ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('DELETE', url, headers=headers) @@ -118,9 +126,13 @@ def get(self, request: operations.GetConnectionRequest, retries: Optional[utils. client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -164,9 +176,13 @@ def list(self, request: operations.ListConnectionsRequest, retries: Optional[uti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -204,7 +220,7 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[ url = utils.generate_url(operations.UnlinkConnectionRequest, base_url, '/companies/{companyId}/connections/{connectionId}', request) headers = {} - req_content_type, data, form = utils.serialize_request_body(request, "request_body", 'json') + req_content_type, data, form = utils.serialize_request_body(request, "update_connection_status", 'json') if req_content_type not in ('multipart/form-data', 'multipart/mixed'): headers['content-type'] = req_content_type headers['Accept'] = 'application/json' @@ -212,9 +228,13 @@ def unlink(self, request: operations.UnlinkConnectionRequest, retries: Optional[ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PATCH', url, data=data, files=form, headers=headers) @@ -260,9 +280,13 @@ def update_authorization(self, request: operations.UpdateConnectionAuthorization client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) diff --git a/platform/src/codatplatform/integrations.py b/platform/src/codatplatform/integrations.py index fceed8ea8..e09a59883 100755 --- a/platform/src/codatplatform/integrations.py +++ b/platform/src/codatplatform/integrations.py @@ -26,9 +26,13 @@ def get(self, request: operations.GetIntegrationRequest, retries: Optional[utils client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -71,9 +75,13 @@ def get_branding(self, request: operations.GetIntegrationsBrandingRequest, retri client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -117,9 +125,13 @@ def list(self, request: operations.ListIntegrationsRequest, retries: Optional[ut client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) diff --git a/platform/src/codatplatform/models/operations/__init__.py b/platform/src/codatplatform/models/operations/__init__.py index 5b4947747..73ab6f07e 100755 --- a/platform/src/codatplatform/models/operations/__init__.py +++ b/platform/src/codatplatform/models/operations/__init__.py @@ -35,4 +35,4 @@ from .update_profile import * from .update_profile_syncsettings import * -__all__ = ["ConfigureSupplementalDataDataType","ConfigureSupplementalDataRequest","ConfigureSupplementalDataResponse","CreateAPIKeyResponse","CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateRuleResponse","DeleteAPIKeyRequest","DeleteAPIKeyResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyDataStatusRequest","GetCompanyDataStatusResponse","GetCompanyPushHistoryRequest","GetCompanyPushHistoryResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetCreateUpdateModelOptionsByDataTypeRequest","GetCreateUpdateModelOptionsByDataTypeResponse","GetIntegrationRequest","GetIntegrationResponse","GetIntegrationsBrandingRequest","GetIntegrationsBrandingResponse","GetProfileResponse","GetProfileSyncSettingsResponse","GetPullOperationRequest","GetPullOperationResponse","GetPushOperationRequest","GetPushOperationResponse","GetSupplementalDataConfigurationDataType","GetSupplementalDataConfigurationRequest","GetSupplementalDataConfigurationResponse","GetWebhookRequest","GetWebhookResponse","ListAPIKeysResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListIntegrationsRequest","ListIntegrationsResponse","ListPullOperationsRequest","ListPullOperationsResponse","ListRulesRequest","ListRulesResponse","RefreshCompanyDataRequest","RefreshCompanyDataResponse","RefreshDataTypeRequest","RefreshDataTypeResponse","UnlinkConnectionRequest","UnlinkConnectionRequestBody","UnlinkConnectionResponse","UpdateCompanyRequest","UpdateCompanyResponse","UpdateConnectionAuthorizationRequest","UpdateConnectionAuthorizationResponse","UpdateProfileResponse","UpdateProfileSyncSettingsRequestBody","UpdateProfileSyncSettingsResponse"] +__all__ = ["ConfigureSupplementalDataDataType","ConfigureSupplementalDataRequest","ConfigureSupplementalDataResponse","CreateAPIKeyResponse","CreateCompanyResponse","CreateConnectionRequest","CreateConnectionRequestBody","CreateConnectionResponse","CreateRuleResponse","DeleteAPIKeyRequest","DeleteAPIKeyResponse","DeleteCompanyRequest","DeleteCompanyResponse","DeleteConnectionRequest","DeleteConnectionResponse","GetCompanyDataStatusRequest","GetCompanyDataStatusResponse","GetCompanyPushHistoryRequest","GetCompanyPushHistoryResponse","GetCompanyRequest","GetCompanyResponse","GetConnectionRequest","GetConnectionResponse","GetCreateUpdateModelOptionsByDataTypeRequest","GetCreateUpdateModelOptionsByDataTypeResponse","GetIntegrationRequest","GetIntegrationResponse","GetIntegrationsBrandingRequest","GetIntegrationsBrandingResponse","GetProfileResponse","GetProfileSyncSettingsResponse","GetPullOperationRequest","GetPullOperationResponse","GetPushOperationRequest","GetPushOperationResponse","GetSupplementalDataConfigurationDataType","GetSupplementalDataConfigurationRequest","GetSupplementalDataConfigurationResponse","GetWebhookRequest","GetWebhookResponse","ListAPIKeysResponse","ListCompaniesRequest","ListCompaniesResponse","ListConnectionsRequest","ListConnectionsResponse","ListIntegrationsRequest","ListIntegrationsResponse","ListPullOperationsRequest","ListPullOperationsResponse","ListRulesRequest","ListRulesResponse","RefreshCompanyDataRequest","RefreshCompanyDataResponse","RefreshDataTypeRequest","RefreshDataTypeResponse","UnlinkConnectionRequest","UnlinkConnectionResponse","UpdateCompanyRequest","UpdateCompanyResponse","UpdateConnectionAuthorizationRequest","UpdateConnectionAuthorizationResponse","UpdateProfileResponse","UpdateProfileSyncSettingsRequestBody","UpdateProfileSyncSettingsResponse"] diff --git a/platform/src/codatplatform/models/operations/create_rule.py b/platform/src/codatplatform/models/operations/create_rule.py index 5ca170841..3773b942d 100755 --- a/platform/src/codatplatform/models/operations/create_rule.py +++ b/platform/src/codatplatform/models/operations/create_rule.py @@ -4,7 +4,7 @@ import dataclasses import requests as requests_http from ..shared import errormessage as shared_errormessage -from ..shared import rule as shared_rule +from ..shared import webhook as shared_webhook from typing import Optional @@ -16,7 +16,7 @@ class CreateRuleResponse: error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your API request was not properly authorized.""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - rule: Optional[shared_rule.Rule] = dataclasses.field(default=None) + webhook: Optional[shared_webhook.Webhook] = dataclasses.field(default=None) r"""OK""" diff --git a/platform/src/codatplatform/models/operations/get_company_data_status.py b/platform/src/codatplatform/models/operations/get_company_data_status.py index 1e8906d6d..9fb528d52 100755 --- a/platform/src/codatplatform/models/operations/get_company_data_status.py +++ b/platform/src/codatplatform/models/operations/get_company_data_status.py @@ -21,7 +21,7 @@ class GetCompanyDataStatusRequest: class GetCompanyDataStatusResponse: content_type: str = dataclasses.field() status_code: int = dataclasses.field() - data_status_response: Optional[dict[str, shared_datastatus.DataStatus]] = dataclasses.field(default=None) + data_statuses: Optional[dict[str, shared_datastatus.DataStatus]] = dataclasses.field(default=None) r"""OK""" error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your API request was not properly authorized.""" diff --git a/platform/src/codatplatform/models/operations/get_company_push_history.py b/platform/src/codatplatform/models/operations/get_company_push_history.py index 5ad4cc3c7..1e95cad79 100755 --- a/platform/src/codatplatform/models/operations/get_company_push_history.py +++ b/platform/src/codatplatform/models/operations/get_company_push_history.py @@ -4,7 +4,7 @@ import dataclasses import requests as requests_http from ..shared import errormessage as shared_errormessage -from ..shared import pushhistoryresponse as shared_pushhistoryresponse +from ..shared import pushoperations as shared_pushoperations from typing import Optional @@ -31,7 +31,7 @@ class GetCompanyPushHistoryResponse: status_code: int = dataclasses.field() error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your `query` parameter was not correctly formed""" - push_history_response: Optional[shared_pushhistoryresponse.PushHistoryResponse] = dataclasses.field(default=None) + push_operations: Optional[shared_pushoperations.PushOperations] = dataclasses.field(default=None) r"""OK""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) diff --git a/platform/src/codatplatform/models/operations/get_webhook.py b/platform/src/codatplatform/models/operations/get_webhook.py index 06f2abfd9..abb4bb7fb 100755 --- a/platform/src/codatplatform/models/operations/get_webhook.py +++ b/platform/src/codatplatform/models/operations/get_webhook.py @@ -4,7 +4,7 @@ import dataclasses import requests as requests_http from ..shared import errormessage as shared_errormessage -from ..shared import rule as shared_rule +from ..shared import webhook as shared_webhook from typing import Optional @@ -25,7 +25,7 @@ class GetWebhookResponse: error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your API request was not properly authorized.""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - rule: Optional[shared_rule.Rule] = dataclasses.field(default=None) + webhook: Optional[shared_webhook.Webhook] = dataclasses.field(default=None) r"""OK""" diff --git a/platform/src/codatplatform/models/operations/list_pull_operations.py b/platform/src/codatplatform/models/operations/list_pull_operations.py index bd5246c9c..25f30893d 100755 --- a/platform/src/codatplatform/models/operations/list_pull_operations.py +++ b/platform/src/codatplatform/models/operations/list_pull_operations.py @@ -3,8 +3,8 @@ from __future__ import annotations import dataclasses import requests as requests_http -from ..shared import dataconnectionhistory as shared_dataconnectionhistory from ..shared import errormessage as shared_errormessage +from ..shared import pulloperations as shared_pulloperations from typing import Optional @@ -29,10 +29,10 @@ class ListPullOperationsRequest: class ListPullOperationsResponse: content_type: str = dataclasses.field() status_code: int = dataclasses.field() - data_connection_history: Optional[shared_dataconnectionhistory.DataConnectionHistory] = dataclasses.field(default=None) - r"""OK""" error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your `query` parameter was not correctly formed""" + pull_operations: Optional[shared_pulloperations.PullOperations] = dataclasses.field(default=None) + r"""OK""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) diff --git a/platform/src/codatplatform/models/operations/list_rules.py b/platform/src/codatplatform/models/operations/list_rules.py index 585f890ed..0e445768d 100755 --- a/platform/src/codatplatform/models/operations/list_rules.py +++ b/platform/src/codatplatform/models/operations/list_rules.py @@ -4,7 +4,7 @@ import dataclasses import requests as requests_http from ..shared import errormessage as shared_errormessage -from ..shared import rules as shared_rules +from ..shared import webhooks as shared_webhooks from typing import Optional @@ -31,7 +31,7 @@ class ListRulesResponse: error_message: Optional[shared_errormessage.ErrorMessage] = dataclasses.field(default=None) r"""Your `query` parameter was not correctly formed""" raw_response: Optional[requests_http.Response] = dataclasses.field(default=None) - rules: Optional[shared_rules.Rules] = dataclasses.field(default=None) + webhooks: Optional[shared_webhooks.Webhooks] = dataclasses.field(default=None) r"""OK""" diff --git a/platform/src/codatplatform/models/operations/unlink_connection.py b/platform/src/codatplatform/models/operations/unlink_connection.py index fd942b9f7..1d0da1375 100755 --- a/platform/src/codatplatform/models/operations/unlink_connection.py +++ b/platform/src/codatplatform/models/operations/unlink_connection.py @@ -5,26 +5,16 @@ import requests as requests_http from ..shared import connection as shared_connection from ..shared import errormessage as shared_errormessage -from codatplatform import utils -from dataclasses_json import Undefined, dataclass_json +from ..shared import updateconnectionstatus as shared_updateconnectionstatus from typing import Optional -@dataclass_json(undefined=Undefined.EXCLUDE) - -@dataclasses.dataclass -class UnlinkConnectionRequestBody: - status: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) - - - - @dataclasses.dataclass class UnlinkConnectionRequest: 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 }}) - request_body: Optional[UnlinkConnectionRequestBody] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) + update_connection_status: Optional[shared_updateconnectionstatus.UpdateConnectionStatus] = dataclasses.field(default=None, metadata={'request': { 'media_type': 'application/json' }}) diff --git a/platform/src/codatplatform/models/shared/__init__.py b/platform/src/codatplatform/models/shared/__init__.py index 3932b727a..bbd79f3e8 100755 --- a/platform/src/codatplatform/models/shared/__init__.py +++ b/platform/src/codatplatform/models/shared/__init__.py @@ -12,11 +12,9 @@ from .companyrequestbody import * from .connection import * from .connections import * -from .connectionstatus import * from .createapikey import * from .createrule import * from .dataconnectionerror import * -from .dataconnectionhistory import * from .dataconnectionstatus import * from .datasetdatachangedwebhook import * from .datasetstatuschangederrorwebhook import * @@ -35,30 +33,31 @@ from .newcompanysynchronizedwebhook import * from .profile import * from .pulloperation import * +from .pulloperations import * from .pushchangetype import * from .pushfieldvalidation import * -from .pushhistoryresponse import * from .pushoperation import * from .pushoperationchange import * from .pushoperationref import * +from .pushoperations import * from .pushoperationstatus import * from .pushoperationstatuschangedwebhook import * -from .pushoperationsummary import * from .pushoperationtimedoutwebhook import * from .pushoption import * from .pushoptionchoice import * from .pushoptionproperty import * from .pushoptiontype import * from .pushvalidationinfo import * -from .rule import * -from .rules import * from .security import * from .sourcetype import * from .supplementaldataconfiguration import * from .supportedfeature import * from .syncsetting import * from .syncsettings import * +from .updateconnectionstatus import * from .validation import * from .validationitem import * +from .webhook import * +from .webhooks import * -__all__ = ["APIKeyDetails","APIKeys","Branding","BrandingButton","BrandingImage","BrandingLogo","Companies","Company","CompanyDataConnectionStatusChangedWebhook","CompanyDataConnectionStatusChangedWebhookData","CompanyRequestBody","Connection","ConnectionStatus","Connections","CreateAPIKey","CreateRule","CreateRuleNotifiers","DataConnectionError","DataConnectionHistory","DataConnectionStatus","DataStatus","DataSyncCompletedWebhook","DataSyncCompletedWebhookData","DataType","DataTypeFeature","DatasetDataChangedWebhook","DatasetDataChangedWebhookData","DatasetStatusChangedErrorWebhook","DatasetStatusChangedErrorWebhookData","ErrorMessage","FeatureState","FeatureType","HalRef","ImageReference","Integration","Integrations","Links","NewCompanySynchronizedWebhook","Profile","PullOperation","PullOperationStatus","PushChangeType","PushFieldValidation","PushHistoryResponse","PushOperation","PushOperationChange","PushOperationRef","PushOperationStatus","PushOperationStatusChangedWebhook","PushOperationStatusChangedWebhookData","PushOperationSummary","PushOperationTimedOutWebhook","PushOperationTimedOutWebhookData","PushOption","PushOptionChoice","PushOptionProperty","PushOptionType","PushValidationInfo","Rule","RuleNotifiers","Rules","Security","SourceType","SupplementalDataConfiguration","SupplementalDataConfigurationSupplementalDataSourceConfiguration","SupportedFeature","SyncSetting","SyncSettingDataType","SyncSettings","Validation","ValidationItem"] +__all__ = ["APIKeyDetails","APIKeys","Branding","BrandingButton","BrandingImage","BrandingLogo","Companies","Company","CompanyDataConnectionStatusChangedWebhook","CompanyDataConnectionStatusChangedWebhookData","CompanyRequestBody","Connection","Connections","CreateAPIKey","CreateRule","CreateRuleNotifiers","DataConnectionError","DataConnectionStatus","DataStatus","DataSyncCompletedWebhook","DataSyncCompletedWebhookData","DataType","DataTypeFeature","DatasetDataChangedWebhook","DatasetDataChangedWebhookData","DatasetStatusChangedErrorWebhook","DatasetStatusChangedErrorWebhookData","ErrorMessage","FeatureState","FeatureType","HalRef","ImageReference","Integration","Integrations","Links","NewCompanySynchronizedWebhook","Profile","PullOperation","PullOperationStatus","PullOperations","PushChangeType","PushFieldValidation","PushOperation","PushOperationChange","PushOperationRef","PushOperationStatus","PushOperationStatusChangedWebhook","PushOperationStatusChangedWebhookData","PushOperationTimedOutWebhook","PushOperationTimedOutWebhookData","PushOperations","PushOption","PushOptionChoice","PushOptionProperty","PushOptionType","PushValidationInfo","Security","SourceType","SupplementalDataConfiguration","SupplementalDataConfigurationSupplementalDataSourceConfiguration","SupportedFeature","SyncSetting","SyncSettingDataTypes","SyncSettings","UpdateConnectionStatus","Validation","ValidationItem","Webhook","WebhookNotifiers","Webhooks"] diff --git a/platform/src/codatplatform/models/shared/apikeys.py b/platform/src/codatplatform/models/shared/apikeys.py index 1748310ac..7af4844f5 100755 --- a/platform/src/codatplatform/models/shared/apikeys.py +++ b/platform/src/codatplatform/models/shared/apikeys.py @@ -12,7 +12,6 @@ @dataclasses.dataclass class APIKeys: - r"""Success""" results: Optional[list[shared_apikeydetails.APIKeyDetails]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/branding.py b/platform/src/codatplatform/models/shared/branding.py index b0f6c4208..f55f94190 100755 --- a/platform/src/codatplatform/models/shared/branding.py +++ b/platform/src/codatplatform/models/shared/branding.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Branding: - r"""OK""" 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 }}) diff --git a/platform/src/codatplatform/models/shared/companies.py b/platform/src/codatplatform/models/shared/companies.py index 4f2666a3b..0bd679aea 100755 --- a/platform/src/codatplatform/models/shared/companies.py +++ b/platform/src/codatplatform/models/shared/companies.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Companies: - r"""OK""" 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') }}) diff --git a/platform/src/codatplatform/models/shared/companydataconnectionstatuschangedwebhook.py b/platform/src/codatplatform/models/shared/companydataconnectionstatuschangedwebhook.py index f295d2dbc..aa79d1ceb 100755 --- a/platform/src/codatplatform/models/shared/companydataconnectionstatuschangedwebhook.py +++ b/platform/src/codatplatform/models/shared/companydataconnectionstatuschangedwebhook.py @@ -2,7 +2,7 @@ from __future__ import annotations import dataclasses -from ..shared import connectionstatus as shared_connectionstatus +from ..shared import dataconnectionstatus as shared_dataconnectionstatus from codatplatform import utils from dataclasses_json import Undefined, dataclass_json from typing import Optional @@ -14,9 +14,9 @@ class CompanyDataConnectionStatusChangedWebhookData: data_connection_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionId'), 'exclude': lambda f: f is None }}) r"""Unique identifier for a company's data connection.""" - new_status: Optional[shared_connectionstatus.ConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newStatus'), 'exclude': lambda f: f is None }}) + new_status: Optional[shared_dataconnectionstatus.DataConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newStatus'), 'exclude': lambda f: f is None }}) r"""The current authorization status of the data connection.""" - old_status: Optional[shared_connectionstatus.ConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('oldStatus'), 'exclude': lambda f: f is None }}) + old_status: Optional[shared_dataconnectionstatus.DataConnectionStatus] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('oldStatus'), 'exclude': lambda f: f is None }}) r"""The current authorization status of the data connection.""" platform_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformKey'), 'exclude': lambda f: f is None }}) 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.""" diff --git a/platform/src/codatplatform/models/shared/connections.py b/platform/src/codatplatform/models/shared/connections.py index 57da02165..9095b4b0a 100755 --- a/platform/src/codatplatform/models/shared/connections.py +++ b/platform/src/codatplatform/models/shared/connections.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Connections: - r"""OK""" 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') }}) diff --git a/platform/src/codatplatform/models/shared/connectionstatus.py b/platform/src/codatplatform/models/shared/connectionstatus.py deleted file mode 100755 index 48515ca04..000000000 --- a/platform/src/codatplatform/models/shared/connectionstatus.py +++ /dev/null @@ -1,11 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" - -from __future__ import annotations -from enum import Enum - -class ConnectionStatus(str, Enum): - r"""The current authorization status of the data connection.""" - PENDING_AUTH = 'PendingAuth' - LINKED = 'Linked' - UNLINKED = 'Unlinked' - DEAUTHORIZED = 'Deauthorized' diff --git a/platform/src/codatplatform/models/shared/errormessage.py b/platform/src/codatplatform/models/shared/errormessage.py index 3545ea6c9..33d36dc34 100755 --- a/platform/src/codatplatform/models/shared/errormessage.py +++ b/platform/src/codatplatform/models/shared/errormessage.py @@ -11,7 +11,6 @@ @dataclasses.dataclass class ErrorMessage: - r"""Your API request was not properly authorized.""" can_be_retried: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('canBeRetried'), 'exclude': lambda f: f is None }}) correlation_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('correlationId'), 'exclude': lambda f: f is None }}) detailed_error_code: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('detailedErrorCode'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/integrations.py b/platform/src/codatplatform/models/shared/integrations.py index f92a69882..67d7c2020 100755 --- a/platform/src/codatplatform/models/shared/integrations.py +++ b/platform/src/codatplatform/models/shared/integrations.py @@ -13,7 +13,6 @@ @dataclasses.dataclass class Integrations: - r"""OK""" 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') }}) diff --git a/platform/src/codatplatform/models/shared/dataconnectionhistory.py b/platform/src/codatplatform/models/shared/pulloperations.py similarity index 96% rename from platform/src/codatplatform/models/shared/dataconnectionhistory.py rename to platform/src/codatplatform/models/shared/pulloperations.py index 061430ea6..066734711 100755 --- a/platform/src/codatplatform/models/shared/dataconnectionhistory.py +++ b/platform/src/codatplatform/models/shared/pulloperations.py @@ -12,8 +12,7 @@ @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class DataConnectionHistory: - r"""OK""" +class PullOperations: 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') }}) diff --git a/platform/src/codatplatform/models/shared/pushoperation.py b/platform/src/codatplatform/models/shared/pushoperation.py index 62e21b2e8..67a2bb9b4 100755 --- a/platform/src/codatplatform/models/shared/pushoperation.py +++ b/platform/src/codatplatform/models/shared/pushoperation.py @@ -8,14 +8,13 @@ from ..shared import validation as shared_validation from codatplatform import utils from dataclasses_json import Undefined, dataclass_json -from typing import Any, Optional +from typing import Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class PushOperation: - r"""OK""" company_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId') }}) r"""Unique identifier for your SMB in Codat.""" data_connection_key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionKey') }}) @@ -69,8 +68,6 @@ class PushOperation: > Not all dates from Codat will contain information about time zones. > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. """ - data: Optional[dict[str, Any]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('data'), 'exclude': lambda f: f is None }}) - r"""Object submitted in push operation.""" data_type: Optional[shared_datatype.DataType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }}) r"""Available Data types""" error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/pushhistoryresponse.py b/platform/src/codatplatform/models/shared/pushoperations.py similarity index 72% rename from platform/src/codatplatform/models/shared/pushhistoryresponse.py rename to platform/src/codatplatform/models/shared/pushoperations.py index 61471f34e..fee0a6146 100755 --- a/platform/src/codatplatform/models/shared/pushhistoryresponse.py +++ b/platform/src/codatplatform/models/shared/pushoperations.py @@ -3,7 +3,7 @@ from __future__ import annotations import dataclasses from ..shared import links as shared_links -from ..shared import pushoperationsummary as shared_pushoperationsummary +from ..shared import pushoperation as shared_pushoperation from codatplatform import utils from dataclasses_json import Undefined, dataclass_json from typing import Optional @@ -12,12 +12,11 @@ @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class PushHistoryResponse: - r"""OK""" +class PushOperations: 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_pushoperationsummary.PushOperationSummary]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) + results: Optional[list[shared_pushoperation.PushOperation]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/pushoperationsummary.py b/platform/src/codatplatform/models/shared/pushoperationsummary.py deleted file mode 100755 index 9650f5e73..000000000 --- a/platform/src/codatplatform/models/shared/pushoperationsummary.py +++ /dev/null @@ -1,80 +0,0 @@ -"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" - -from __future__ import annotations -import dataclasses -from ..shared import datatype as shared_datatype -from ..shared import pushoperationchange as shared_pushoperationchange -from ..shared import pushoperationstatus as shared_pushoperationstatus -from ..shared import validation as shared_validation -from codatplatform import utils -from dataclasses_json import Undefined, dataclass_json -from typing import Optional - - -@dataclass_json(undefined=Undefined.EXCLUDE) - -@dataclasses.dataclass -class PushOperationSummary: - company_id: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId') }}) - r"""Unique identifier for your SMB in Codat.""" - data_connection_key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataConnectionKey') }}) - r"""Unique identifier for a company's data connection.""" - push_operation_key: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pushOperationKey') }}) - r"""A unique identifier generated by Codat to represent this single push operation. This identifier can be used to track the status of the push, and should be persisted.""" - requested_on_utc: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('requestedOnUtc') }}) - 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: - - ``` - 2020-10-08T22:40:50Z - 2021-01-01T00:00:00 - ``` - - - - When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - - - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - - Unqualified local time: `2021-11-15T01:00:00` - - UTC time offsets: `2021-11-15T01:00:00-05:00` - - > Time zones - > - > Not all dates from Codat will contain information about time zones. - > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. - """ - status: shared_pushoperationstatus.PushOperationStatus = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status') }}) - r"""The status of the push operation.""" - status_code: int = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('statusCode') }}) - changes: Optional[list[shared_pushoperationchange.PushOperationChange]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('changes'), 'exclude': lambda f: f is None }}) - r"""Contains a single entry that communicates which record has changed and the manner in which it changed.""" - completed_on_utc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('completedOnUtc'), '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: - - ``` - 2020-10-08T22:40:50Z - 2021-01-01T00:00:00 - ``` - - - - When syncing data that contains `DateTime` fields from Codat, make sure you support the following cases when reading time information: - - - Coordinated Universal Time (UTC): `2021-11-15T06:00:00Z` - - Unqualified local time: `2021-11-15T01:00:00` - - UTC time offsets: `2021-11-15T01:00:00-05:00` - - > Time zones - > - > Not all dates from Codat will contain information about time zones. - > Where it is not available from the underlying platform, Codat will return these as times local to the business whose data has been synced. - """ - data_type: Optional[shared_datatype.DataType] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType'), 'exclude': lambda f: f is None }}) - r"""Available Data types""" - error_message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errorMessage'), 'exclude': lambda f: f is None }}) - timeout_in_minutes: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInMinutes'), 'exclude': lambda f: f is None }}) - timeout_in_seconds: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeoutInSeconds'), 'exclude': lambda f: f is None }}) - r"""Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.""" - validation: Optional[shared_validation.Validation] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('validation'), 'exclude': lambda f: f is None }}) - r"""A human-readable object describing validation decisions Codat has made when pushing data into the platform. If a push has failed because of validation errors, they will be detailed here.""" - - diff --git a/platform/src/codatplatform/models/shared/pushoption.py b/platform/src/codatplatform/models/shared/pushoption.py index 1716eae68..590463800 100755 --- a/platform/src/codatplatform/models/shared/pushoption.py +++ b/platform/src/codatplatform/models/shared/pushoption.py @@ -15,7 +15,6 @@ @dataclasses.dataclass class PushOption: - r"""OK""" display_name: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayName') }}) required: bool = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('required') }}) type: shared_pushoptiontype.PushOptionType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }}) diff --git a/platform/src/codatplatform/models/shared/supplementaldataconfiguration.py b/platform/src/codatplatform/models/shared/supplementaldataconfiguration.py index 83f217885..0183d5aa7 100755 --- a/platform/src/codatplatform/models/shared/supplementaldataconfiguration.py +++ b/platform/src/codatplatform/models/shared/supplementaldataconfiguration.py @@ -26,7 +26,6 @@ class SupplementalDataConfigurationSupplementalDataSourceConfiguration: @dataclasses.dataclass class SupplementalDataConfiguration: - r"""OK""" supplemental_data_config: Optional[dict[str, SupplementalDataConfigurationSupplementalDataSourceConfiguration]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('supplementalDataConfig'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/syncsetting.py b/platform/src/codatplatform/models/shared/syncsetting.py index 54d8b75cc..71fa7059c 100755 --- a/platform/src/codatplatform/models/shared/syncsetting.py +++ b/platform/src/codatplatform/models/shared/syncsetting.py @@ -7,7 +7,7 @@ from enum import Enum from typing import Optional -class SyncSettingDataType(str, Enum): +class SyncSettingDataTypes(str, Enum): r"""Available Data types""" ACCOUNT_TRANSACTIONS = 'accountTransactions' BALANCE_SHEET = 'balanceSheet' @@ -58,7 +58,7 @@ class SyncSettingDataType(str, Enum): @dataclasses.dataclass class SyncSetting: r"""Describes how often, and how much history, should be fetched for the given data type when a pull operation is queued.""" - data_type: SyncSettingDataType = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType') }}) + data_type: SyncSettingDataTypes = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('dataType') }}) r"""Available Data types""" fetch_on_first_link: bool = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fetchOnFirstLink') }}) r"""Whether this data type should be queued after a company has authorized a connection.""" diff --git a/platform/src/codatplatform/models/shared/syncsettings.py b/platform/src/codatplatform/models/shared/syncsettings.py index 1cb7bb1f6..a5620141e 100755 --- a/platform/src/codatplatform/models/shared/syncsettings.py +++ b/platform/src/codatplatform/models/shared/syncsettings.py @@ -12,7 +12,6 @@ @dataclasses.dataclass class SyncSettings: - r"""OK""" client_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientId'), 'exclude': lambda f: f is None }}) overrides_defaults: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('overridesDefaults'), 'exclude': lambda f: f is None }}) settings: Optional[list[shared_syncsetting.SyncSetting]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('settings'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/updateconnectionstatus.py b/platform/src/codatplatform/models/shared/updateconnectionstatus.py new file mode 100755 index 000000000..3dbda76f3 --- /dev/null +++ b/platform/src/codatplatform/models/shared/updateconnectionstatus.py @@ -0,0 +1,18 @@ +"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" + +from __future__ import annotations +import dataclasses +from ..shared import dataconnectionstatus as shared_dataconnectionstatus +from codatplatform import utils +from dataclasses_json import Undefined, dataclass_json +from typing import Optional + + +@dataclass_json(undefined=Undefined.EXCLUDE) + +@dataclasses.dataclass +class UpdateConnectionStatus: + status: Optional[shared_dataconnectionstatus.DataConnectionStatus] = 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.""" + + diff --git a/platform/src/codatplatform/models/shared/rule.py b/platform/src/codatplatform/models/shared/webhook.py similarity index 88% rename from platform/src/codatplatform/models/shared/rule.py rename to platform/src/codatplatform/models/shared/webhook.py index 4d3b05c95..239cd2432 100755 --- a/platform/src/codatplatform/models/shared/rule.py +++ b/platform/src/codatplatform/models/shared/webhook.py @@ -10,7 +10,7 @@ @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class RuleNotifiers: +class WebhookNotifiers: emails: Optional[list[str]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('emails'), 'exclude': lambda f: f is None }}) webhook: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('webhook'), 'exclude': lambda f: f is None }}) @@ -20,9 +20,9 @@ class RuleNotifiers: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class Rule: +class Webhook: r"""Create an event notification to a URL or list of email addresses based on the given type or condition.""" - notifiers: RuleNotifiers = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('notifiers') }}) + notifiers: WebhookNotifiers = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('notifiers') }}) type: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type') }}) company_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companyId'), 'exclude': lambda f: f is None }}) id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/models/shared/rules.py b/platform/src/codatplatform/models/shared/webhooks.py similarity index 76% rename from platform/src/codatplatform/models/shared/rules.py rename to platform/src/codatplatform/models/shared/webhooks.py index 809aceeb8..1ab6a2d01 100755 --- a/platform/src/codatplatform/models/shared/rules.py +++ b/platform/src/codatplatform/models/shared/webhooks.py @@ -3,7 +3,7 @@ from __future__ import annotations import dataclasses from ..shared import links as shared_links -from ..shared import rule as shared_rule +from ..shared import webhook as shared_webhook from codatplatform import utils from dataclasses_json import Undefined, dataclass_json from typing import Optional @@ -12,12 +12,11 @@ @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class Rules: - r"""OK""" +class Webhooks: 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_rule.Rule]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) + results: Optional[list[shared_webhook.Webhook]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('results'), 'exclude': lambda f: f is None }}) diff --git a/platform/src/codatplatform/push_data.py b/platform/src/codatplatform/push_data.py index 439f27901..10ea41b01 100755 --- a/platform/src/codatplatform/push_data.py +++ b/platform/src/codatplatform/push_data.py @@ -35,9 +35,13 @@ def get_model_options(self, request: operations.GetCreateUpdateModelOptionsByDat client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -80,9 +84,13 @@ def get_operation(self, request: operations.GetPushOperationRequest, retries: Op client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -126,9 +134,13 @@ def list_operations(self, request: operations.GetCompanyPushHistoryRequest, retr client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -144,8 +156,8 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, Optional[shared.PushHistoryResponse]) - res.push_history_response = out + out = utils.unmarshal_json(http_res.text, Optional[shared.PushOperations]) + res.push_operations = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [400, 401, 404, 429]: diff --git a/platform/src/codatplatform/refresh_data.py b/platform/src/codatplatform/refresh_data.py index 6fb1df22f..01a22b998 100755 --- a/platform/src/codatplatform/refresh_data.py +++ b/platform/src/codatplatform/refresh_data.py @@ -30,9 +30,13 @@ def all(self, request: operations.RefreshCompanyDataRequest, retries: Optional[u client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, headers=headers) @@ -74,9 +78,13 @@ def by_data_type(self, request: operations.RefreshDataTypeRequest, retries: Opti client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, params=query_params, headers=headers) @@ -119,9 +127,13 @@ def get(self, request: operations.GetCompanyDataStatusRequest, retries: Optional client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -138,7 +150,7 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): out = utils.unmarshal_json(http_res.text, Optional[dict[str, shared.DataStatus]]) - res.data_status_response = out + res.data_statuses = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [401, 404, 429]: @@ -164,9 +176,13 @@ def get_pull_operation(self, request: operations.GetPullOperationRequest, retrie client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -210,9 +226,13 @@ def list_pull_operations(self, request: operations.ListPullOperationsRequest, re client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -228,8 +248,8 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, Optional[shared.DataConnectionHistory]) - res.data_connection_history = out + out = utils.unmarshal_json(http_res.text, Optional[shared.PullOperations]) + res.pull_operations = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [400, 401, 404, 429]: diff --git a/platform/src/codatplatform/sdk.py b/platform/src/codatplatform/sdk.py index 2ff8cd5b6..9aee3d207 100755 --- a/platform/src/codatplatform/sdk.py +++ b/platform/src/codatplatform/sdk.py @@ -47,7 +47,8 @@ def __init__(self, server_idx: int = None, server_url: str = None, url_params: dict[str, str] = None, - client: requests_http.Session = None + client: requests_http.Session = None, + retry_config: utils.RetryConfig = None ) -> None: """Instantiates the SDK configuring it with the provided parameters. @@ -60,7 +61,9 @@ def __init__(self, :param url_params: Parameters to optionally template the server URL with :type url_params: dict[str, str] :param client: The requests.Session HTTP client to use for all operations - :type client: requests_http.Session + :type client: requests_http.Session + :param retry_config: The utils.RetryConfig to use globally + :type retry_config: utils.RetryConfig """ if client is None: client = requests_http.Session() @@ -71,7 +74,7 @@ def __init__(self, if url_params is not None: server_url = utils.template_url(server_url, url_params) - self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx) + self.sdk_configuration = SDKConfiguration(client, security_client, server_url, server_idx, retry_config=retry_config) self._init_sdks() diff --git a/platform/src/codatplatform/sdkconfiguration.py b/platform/src/codatplatform/sdkconfiguration.py index b76f7c247..270f22517 100755 --- a/platform/src/codatplatform/sdkconfiguration.py +++ b/platform/src/codatplatform/sdkconfiguration.py @@ -3,6 +3,8 @@ import requests from dataclasses import dataclass +from .utils.retries import RetryConfig + SERVERS = [ 'https://api.codat.io', @@ -18,8 +20,9 @@ class SDKConfiguration: server_idx: int = 0 language: str = 'python' openapi_doc_version: str = '3.0.0' - sdk_version: str = '0.1.0' - gen_version: str = '2.91.4' + sdk_version: str = '0.2.0' + gen_version: str = '2.108.3' + retry_config: RetryConfig = None def get_server_details(self) -> tuple[str, dict[str, str]]: if self.server_url: diff --git a/platform/src/codatplatform/settings.py b/platform/src/codatplatform/settings.py index 20301d3fa..4b10363ae 100755 --- a/platform/src/codatplatform/settings.py +++ b/platform/src/codatplatform/settings.py @@ -39,9 +39,13 @@ def create_api_key(self, request: shared.CreateAPIKey, retries: Optional[utils.R client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -93,9 +97,13 @@ def delete_api_key(self, request: operations.DeleteAPIKeyRequest, retries: Optio client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('DELETE', url, headers=headers) @@ -136,9 +144,13 @@ def get_profile(self, retries: Optional[utils.RetryConfig] = None) -> operations client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -181,9 +193,13 @@ def get_sync_settings(self, retries: Optional[utils.RetryConfig] = None) -> oper client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -230,9 +246,13 @@ def list_api_keys(self, retries: Optional[utils.RetryConfig] = None) -> operatio client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -278,9 +298,13 @@ def update_profile(self, request: shared.Profile, retries: Optional[utils.RetryC client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) @@ -326,9 +350,13 @@ def update_sync_settings(self, request: operations.UpdateProfileSyncSettingsRequ client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) diff --git a/platform/src/codatplatform/supplemental_data.py b/platform/src/codatplatform/supplemental_data.py index 588fdbc2a..236f9efa4 100755 --- a/platform/src/codatplatform/supplemental_data.py +++ b/platform/src/codatplatform/supplemental_data.py @@ -34,9 +34,13 @@ def configure(self, request: operations.ConfigureSupplementalDataRequest, retrie client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('PUT', url, data=data, files=form, headers=headers) @@ -77,9 +81,13 @@ def get_configuration(self, request: operations.GetSupplementalDataConfiguration client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) diff --git a/platform/src/codatplatform/utils/utils.py b/platform/src/codatplatform/utils/utils.py index ea9792d0d..05eafba6c 100755 --- a/platform/src/codatplatform/utils/utils.py +++ b/platform/src/codatplatform/utils/utils.py @@ -5,6 +5,7 @@ import re from dataclasses import Field, dataclass, fields, is_dataclass, make_dataclass from datetime import date, datetime +from decimal import Decimal from email.message import Message from enum import Enum from typing import Any, Callable, Optional, Tuple, Union, get_args, get_origin @@ -112,7 +113,8 @@ def _parse_security_scheme_value(client: SecurityClient, scheme_metadata: dict, client.client.headers[header_name] = value elif scheme_type == 'http': if sub_type == 'bearer': - client.client.headers[header_name] = value.lower().startswith('bearer ') and value or f'Bearer {value}' + client.client.headers[header_name] = value.lower().startswith( + 'bearer ') and value or f'Bearer {value}' else: raise Exception('not supported') else: @@ -192,7 +194,7 @@ def generate_url(clazz: type, server_url: str, path: str, path_params: dataclass f"{pp_key},{_val_to_string(param[pp_key])}") path = path.replace( '{' + param_metadata.get('field_name', field.name) + '}', ",".join(pp_vals), 1) - elif not isinstance(param, (str, int, float, complex, bool)): + elif not isinstance(param, (str, int, float, complex, bool, Decimal)): pp_vals: list[str] = [] param_fields: Tuple[Field, ...] = fields(param) for param_field in param_fields: @@ -235,7 +237,7 @@ def template_url(url_with_params: str, params: dict[str, str]) -> str: def get_query_params(clazz: type, query_params: dataclass, gbls: dict[str, dict[str, dict[str, Any]]] = None) -> dict[ - str, list[str]]: + str, list[str]]: params: dict[str, list[str]] = {} param_fields: Tuple[Field, ...] = fields(clazz) @@ -377,7 +379,7 @@ def _get_query_param_field_name(obj_field: Field) -> str: def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delimiter: str) -> dict[ - str, list[str]]: + str, list[str]]: return _populate_form(field_name, metadata.get("explode", True), obj, _get_query_param_field_name, delimiter) @@ -391,9 +393,9 @@ def _get_delimited_query_params(metadata: dict, field_name: str, obj: any, delim def serialize_request_body(request: dataclass, request_field_name: str, serialization_method: str) -> Tuple[ - str, any, any]: + str, any, any]: if request is None: - return None, None, None, None + return 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], @@ -486,7 +488,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 = [] @@ -604,7 +606,8 @@ 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] = [delimiter.join([str(item) for item in items])] + params[field_name] = [delimiter.join( + [str(item) for item in items])] else: params[field_name] = [_val_to_string(obj)] @@ -681,7 +684,8 @@ def unmarshal_json(data, typ): try: out = unmarshal.from_dict({"res": json_dict}) except AttributeError as attr_err: - raise AttributeError(f'unable to unmarshal {data} as {typ}') from attr_err + raise AttributeError( + f'unable to unmarshal {data} as {typ}') from attr_err return out.res @@ -734,6 +738,36 @@ def datefromisoformat(date_str: str): return dateutil.parser.parse(date_str).date() +def bigintencoder(optional: bool): + def bigintencode(val: int): + if optional and val is None: + return None + return str(val) + + return bigintencode + + +def bigintdecoder(val): + return int(val) + + +def decimalencoder(optional: bool, as_str: bool): + def decimalencode(val: Decimal): + if optional and val is None: + return None + + if as_str: + return str(val) + + return float(val) + + return decimalencode + + +def decimaldecoder(val): + return Decimal(str(val)) + + def get_field_name(name): def override(_, _field_name=name): return _field_name diff --git a/platform/src/codatplatform/webhooks.py b/platform/src/codatplatform/webhooks.py index fb0c4ba52..fa40d6666 100755 --- a/platform/src/codatplatform/webhooks.py +++ b/platform/src/codatplatform/webhooks.py @@ -29,9 +29,13 @@ def create(self, request: shared.CreateRule, retries: Optional[utils.RetryConfig client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('POST', url, data=data, files=form, headers=headers) @@ -47,8 +51,8 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, Optional[shared.Rule]) - res.rule = out + out = utils.unmarshal_json(http_res.text, Optional[shared.Webhook]) + res.webhook = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [401, 429]: @@ -74,9 +78,13 @@ def get(self, request: operations.GetWebhookRequest, retries: Optional[utils.Ret client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, headers=headers) @@ -92,8 +100,8 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, Optional[shared.Rule]) - res.rule = out + out = utils.unmarshal_json(http_res.text, Optional[shared.Webhook]) + res.webhook = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [401, 404, 429]: @@ -120,9 +128,13 @@ def list(self, request: operations.ListRulesRequest, retries: Optional[utils.Ret client = self.sdk_configuration.security_client + global_retry_config = self.sdk_configuration.retry_config retry_config = retries if retry_config is None: - retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) + if global_retry_config: + retry_config = global_retry_config + else: + retry_config = utils.RetryConfig('backoff', utils.BackoffStrategy(500, 60000, 1.5, 3600000), True) def do_request(): return client.request('GET', url, params=query_params, headers=headers) @@ -138,8 +150,8 @@ def do_request(): if http_res.status_code == 200: if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, Optional[shared.Rules]) - res.rules = out + out = utils.unmarshal_json(http_res.text, Optional[shared.Webhooks]) + res.webhooks = out else: raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) elif http_res.status_code in [400, 401, 404, 429]: