From 621889be566dad853103620d20196fa4ca7d5f8c Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 23 Jul 2024 13:50:22 +0300 Subject: [PATCH] Added new call to openApi --- openapi/access.yaml | 43 ++++++ openapi/go-client-generated/README.md | 2 + openapi/go-client-generated/api/swagger.yaml | 87 +++++++++++ openapi/go-client-generated/api_accounts.go | 135 ++++++++++++++++++ .../docs/AccountBalance.md | 9 ++ .../go-client-generated/docs/AccountsApi.md | 39 +++++ .../model_account_balance.go | 14 ++ 7 files changed, 329 insertions(+) create mode 100644 openapi/go-client-generated/docs/AccountBalance.md create mode 100644 openapi/go-client-generated/model_account_balance.go diff --git a/openapi/access.yaml b/openapi/access.yaml index 04a1463e4..ee90fd062 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -381,6 +381,40 @@ paths: $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerError' + /accounts/{address}/balance: + get: + summary: Get an Account Balance By Address + description: Get an account balance by provided address in latest "sealed" block or by provided block height. + tags: + - Accounts + parameters: + - name: address + in: path + schema: + $ref: '#/components/schemas/Address' + required: true + description: The address of the account. + - name: block_height + in: query + schema: + $ref: '#/components/schemas/BlockHeight' + required: false + description: The block height to query for the account details at the "sealed" is used by default. + - $ref: '#/components/parameters/expandParam' + - $ref: '#/components/parameters/selectParam' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AccountBalance' + '400': + $ref: '#/components/responses/400BadRequest' + '404': + $ref: '#/components/responses/404NotFound' + '500': + $ref: '#/components/responses/500InternalServerError' /accounts/{address}/keys/{index}: get: summary: Get an individual Account Key By Address and Index @@ -725,6 +759,15 @@ components: type: string _links: $ref: '#/components/schemas/Links' + AccountBalance: + type: object + required: + - balance + properties: + balance: + type: string + format: uint64 + description: Flow balance of the account. AccountPublicKey: type: object required: diff --git a/openapi/go-client-generated/README.md b/openapi/go-client-generated/README.md index 101ebd46a..02aa86a89 100644 --- a/openapi/go-client-generated/README.md +++ b/openapi/go-client-generated/README.md @@ -21,6 +21,7 @@ All URIs are relative to *https://rest-canary.onflow.org/v1/* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*AccountsApi* | [**AccountsAddressBalanceGet**](docs/AccountsApi.md#accountsaddressbalanceget) | **Get** /accounts/{address}/balance | Get an Account Balance By Address *AccountsApi* | [**AccountsAddressGet**](docs/AccountsApi.md#accountsaddressget) | **Get** /accounts/{address} | Get an Account By Address *AccountsApi* | [**AccountsAddressKeysIndexGet**](docs/AccountsApi.md#accountsaddresskeysindexget) | **Get** /accounts/{address}/keys/{index} | Get an individual Account Key By Address and Index *BlocksApi* | [**BlocksGet**](docs/BlocksApi.md#blocksget) | **Get** /blocks | Gets Blocks by Height @@ -41,6 +42,7 @@ Class | Method | HTTP request | Description ## Documentation For Models - [Account](docs/Account.md) + - [AccountBalance](docs/AccountBalance.md) - [AccountExpandable](docs/AccountExpandable.md) - [AccountPublicKey](docs/AccountPublicKey.md) - [AggregatedSignature](docs/AggregatedSignature.md) diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 6759eb841..e51edb7db 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -707,6 +707,82 @@ paths: application/json: schema: $ref: '#/components/schemas/Error' + /accounts/{address}/balance: + get: + tags: + - Accounts + summary: Get an Account Balance By Address + description: Get an account balance by provided address in latest "sealed" block + or by provided block height. + parameters: + - name: address + in: path + description: The address of the account. + required: true + style: simple + explode: false + schema: + $ref: '#/components/schemas/Address' + - name: block_height + in: query + description: The block height to query for the account details at the "sealed" + is used by default. + required: false + style: form + explode: true + schema: + $ref: '#/components/schemas/BlockHeight' + - name: expand + in: query + description: A comma-separated list indicating which properties of the content + to expand. + required: false + style: form + explode: false + schema: + minItems: 1 + uniqueItems: true + type: array + items: + type: string + - name: select + in: query + description: A comma-separated list indicating which properties of the content + to return. + required: false + style: form + explode: false + schema: + minItems: 1 + uniqueItems: true + type: array + items: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AccountBalance' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + "404": + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' /accounts/{address}/keys/{index}: get: tags: @@ -1179,6 +1255,17 @@ components: _expandable: keys: keys contracts: contracts + AccountBalance: + required: + - balance + type: object + properties: + balance: + type: string + description: Flow balance of the account. + format: uint64 + example: + balance: balance AccountPublicKey: required: - hashing_algorithm diff --git a/openapi/go-client-generated/api_accounts.go b/openapi/go-client-generated/api_accounts.go index 8c35024b0..6763b2000 100644 --- a/openapi/go-client-generated/api_accounts.go +++ b/openapi/go-client-generated/api_accounts.go @@ -26,6 +26,141 @@ var ( type AccountsApiService service /* +AccountsApiService Get an Account Balance By Address +Get an account balance by provided address in latest \"sealed\" block or by provided block height. + * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). + * @param address The address of the account. + * @param optional nil or *AccountsApiAccountsAddressBalanceGetOpts - Optional Parameters: + * @param "BlockHeight" (optional.Interface of BlockHeight) - The block height to query for the account details at the \"sealed\" is used by default. + * @param "Expand" (optional.Interface of []string) - A comma-separated list indicating which properties of the content to expand. + * @param "Select_" (optional.Interface of []string) - A comma-separated list indicating which properties of the content to return. +@return AccountBalance +*/ + +type AccountsApiAccountsAddressBalanceGetOpts struct { + BlockHeight optional.Interface + Expand optional.Interface + Select_ optional.Interface +} + +func (a *AccountsApiService) AccountsAddressBalanceGet(ctx context.Context, address string, localVarOptionals *AccountsApiAccountsAddressBalanceGetOpts) (AccountBalance, *http.Response, error) { + var ( + localVarHttpMethod = strings.ToUpper("Get") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + localVarReturnValue AccountBalance + ) + + // create path and map variables + localVarPath := a.client.cfg.BasePath + "/accounts/{address}/balance" + localVarPath = strings.Replace(localVarPath, "{"+"address"+"}", fmt.Sprintf("%v", address), -1) + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + if localVarOptionals != nil && localVarOptionals.BlockHeight.IsSet() { + localVarQueryParams.Add("block_height", parameterToString(localVarOptionals.BlockHeight.Value(), "")) + } + if localVarOptionals != nil && localVarOptionals.Expand.IsSet() { + localVarQueryParams.Add("expand", parameterToString(localVarOptionals.Expand.Value(), "csv")) + } + if localVarOptionals != nil && localVarOptionals.Select_.IsSet() { + localVarQueryParams.Add("select", parameterToString(localVarOptionals.Select_.Value(), "csv")) + } + // to determine the Content-Type header + localVarHttpContentTypes := []string{} + + // set Content-Type header + localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) + if localVarHttpContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHttpContentType + } + + // to determine the Accept header + localVarHttpHeaderAccepts := []string{"application/json"} + + // set Accept header + localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) + if localVarHttpHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHttpHeaderAccept + } + r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return localVarReturnValue, nil, err + } + + localVarHttpResponse, err := a.client.callAPI(r) + if err != nil || localVarHttpResponse == nil { + return localVarReturnValue, localVarHttpResponse, err + } + + localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) + localVarHttpResponse.Body.Close() + if err != nil { + return localVarReturnValue, localVarHttpResponse, err + } + + if localVarHttpResponse.StatusCode < 300 { + // If we succeed, return the data, otherwise pass on to decode error. + err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err == nil { + return localVarReturnValue, localVarHttpResponse, err + } + } + + if localVarHttpResponse.StatusCode >= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + if localVarHttpResponse.StatusCode == 200 { + var v AccountBalance + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 400 { + var v ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 404 { + var v ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + if localVarHttpResponse.StatusCode == 500 { + var v ModelError + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} +/* AccountsApiService Get an Account By Address Get an account data by provided address in latest \"sealed\" block or by provided block height. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). diff --git a/openapi/go-client-generated/docs/AccountBalance.md b/openapi/go-client-generated/docs/AccountBalance.md new file mode 100644 index 000000000..8a335f959 --- /dev/null +++ b/openapi/go-client-generated/docs/AccountBalance.md @@ -0,0 +1,9 @@ +# AccountBalance + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**Balance** | **string** | Flow balance of the account. | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/openapi/go-client-generated/docs/AccountsApi.md b/openapi/go-client-generated/docs/AccountsApi.md index 51d3c5dbb..ec87c6f0e 100644 --- a/openapi/go-client-generated/docs/AccountsApi.md +++ b/openapi/go-client-generated/docs/AccountsApi.md @@ -4,9 +4,48 @@ All URIs are relative to *https://rest-canary.onflow.org/v1/* Method | HTTP request | Description ------------- | ------------- | ------------- +[**AccountsAddressBalanceGet**](AccountsApi.md#AccountsAddressBalanceGet) | **Get** /accounts/{address}/balance | Get an Account Balance By Address [**AccountsAddressGet**](AccountsApi.md#AccountsAddressGet) | **Get** /accounts/{address} | Get an Account By Address [**AccountsAddressKeysIndexGet**](AccountsApi.md#AccountsAddressKeysIndexGet) | **Get** /accounts/{address}/keys/{index} | Get an individual Account Key By Address and Index +# **AccountsAddressBalanceGet** +> AccountBalance AccountsAddressBalanceGet(ctx, address, optional) +Get an Account Balance By Address + +Get an account balance by provided address in latest \"sealed\" block or by provided block height. + +### Required Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **ctx** | **context.Context** | context for authentication, logging, cancellation, deadlines, tracing, etc. + **address** | [**string**](.md)| The address of the account. | + **optional** | ***AccountsApiAccountsAddressBalanceGetOpts** | optional parameters | nil if no parameters + +### Optional Parameters +Optional parameters are passed through a pointer to a AccountsApiAccountsAddressBalanceGetOpts struct +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + + **blockHeight** | [**optional.Interface of BlockHeight**](.md)| The block height to query for the account details at the \"sealed\" is used by default. | + **expand** | [**optional.Interface of []string**](string.md)| A comma-separated list indicating which properties of the content to expand. | + **select_** | [**optional.Interface of []string**](string.md)| A comma-separated list indicating which properties of the content to return. | + +### Return type + +[**AccountBalance**](AccountBalance.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **AccountsAddressGet** > Account AccountsAddressGet(ctx, address, optional) Get an Account By Address diff --git a/openapi/go-client-generated/model_account_balance.go b/openapi/go-client-generated/model_account_balance.go new file mode 100644 index 000000000..da2746c6c --- /dev/null +++ b/openapi/go-client-generated/model_account_balance.go @@ -0,0 +1,14 @@ +/* + * Access API + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: 1.0.0 + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package swagger + +type AccountBalance struct { + // Flow balance of the account. + Balance string `json:"balance"` +}