go-firefly3/api_available_budgets.go

318 lines
12 KiB
Go
Raw Normal View History

2024-04-10 12:14:55 +03:00
/*
2024-05-11 14:43:57 +03:00
* Firefly III API v2.0.14
2024-04-10 12:14:55 +03:00
*
2024-05-11 15:26:56 +03:00
* This is the documentation of the Firefly III API. You can find accompanying documentation on the website of Firefly III itself (see below). Please report any bugs or issues. You may use the \"Authorize\" button to try the API below. This file was last generated on 2024-04-20T05:28:29+00:00 Please keep in mind that the demo site does not accept requests from curl, colly, wget, etc. You must use a browser or a tool like Postman to make requests. Too many script kiddies out there, sorry about that.
2024-04-10 12:14:55 +03:00
*
2024-05-11 14:43:57 +03:00
* API version: 2.0.14
2024-04-10 12:14:55 +03:00
* Contact: james@firefly-iii.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
2024-05-11 15:26:56 +03:00
package firefly3
2024-04-10 12:14:55 +03:00
import (
"context"
2024-05-11 15:26:56 +03:00
"fmt"
"github.com/antihax/optional"
2024-04-10 12:14:55 +03:00
"io/ioutil"
"net/http"
"net/url"
"strings"
)
// Linger please
var (
_ context.Context
)
type AvailableBudgetsApiService service
2024-05-11 15:26:56 +03:00
2024-04-10 12:14:55 +03:00
/*
AvailableBudgetsApiService Get a single available budget.
Get a single available budget, by ID.
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param id The ID of the available budget.
* @param optional nil or *AvailableBudgetsApiGetAvailableBudgetOpts - Optional Parameters:
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
@return AvailableBudgetSingle
*/
type AvailableBudgetsApiGetAvailableBudgetOpts struct {
2024-05-11 15:26:56 +03:00
XTraceId optional.Interface
2024-04-10 12:14:55 +03:00
}
func (a *AvailableBudgetsApiService) GetAvailableBudget(ctx context.Context, id string, localVarOptionals *AvailableBudgetsApiGetAvailableBudgetOpts) (AvailableBudgetSingle, *http.Response, error) {
var (
2024-05-11 15:26:56 +03:00
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
2024-04-10 12:14:55 +03:00
localVarReturnValue AvailableBudgetSingle
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/available-budgets/{id}"
localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
// 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
2024-05-11 14:43:57 +03:00
localVarHttpHeaderAccepts := []string{"application/json", "application/vnd.api+json"}
2024-04-10 12:14:55 +03:00
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if localVarOptionals != nil && localVarOptionals.XTraceId.IsSet() {
localVarHeaderParams["X-Trace-Id"] = parameterToString(localVarOptionals.XTraceId.Value(), "")
}
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.
2024-05-11 15:26:56 +03:00
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err == nil {
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, err
}
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
2024-05-11 15:26:56 +03:00
body: localVarBody,
2024-04-10 12:14:55 +03:00
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 401 {
var v UnauthenticatedResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 404 {
var v NotFoundResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 400 {
var v BadRequestResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 500 {
var v InternalExceptionResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 200 {
var v AvailableBudgetSingle
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}
2024-05-11 15:26:56 +03:00
2024-04-10 12:14:55 +03:00
/*
AvailableBudgetsApiService List all available budget amounts.
2024-05-11 15:26:56 +03:00
Firefly III allows users to set the amount that is available to be budgeted in so-called \&quot;available budgets\&quot;. For example, the user could have 1200,- available to be divided during the coming month. This amount is used on the /budgets page. This endpoint returns all of these amounts and the periods for which they are set.
2024-04-10 12:14:55 +03:00
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param optional nil or *AvailableBudgetsApiListAvailableBudgetOpts - Optional Parameters:
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
* @param "Limit" (optional.Int32) - Number of items per page. The default pagination is per 50 items.
* @param "Page" (optional.Int32) - Page number. The default pagination is per 50 items.
2024-05-11 15:26:56 +03:00
* @param "Start" (optional.String) - A date formatted YYYY-MM-DD.
* @param "End" (optional.String) - A date formatted YYYY-MM-DD.
2024-04-10 12:14:55 +03:00
@return AvailableBudgetArray
*/
type AvailableBudgetsApiListAvailableBudgetOpts struct {
2024-05-11 15:26:56 +03:00
XTraceId optional.Interface
Limit optional.Int32
Page optional.Int32
Start optional.String
End optional.String
2024-04-10 12:14:55 +03:00
}
func (a *AvailableBudgetsApiService) ListAvailableBudget(ctx context.Context, localVarOptionals *AvailableBudgetsApiListAvailableBudgetOpts) (AvailableBudgetArray, *http.Response, error) {
var (
2024-05-11 15:26:56 +03:00
localVarHttpMethod = strings.ToUpper("Get")
localVarPostBody interface{}
localVarFileName string
localVarFileBytes []byte
2024-04-10 12:14:55 +03:00
localVarReturnValue AvailableBudgetArray
)
// create path and map variables
localVarPath := a.client.cfg.BasePath + "/v1/available-budgets"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := url.Values{}
localVarFormParams := url.Values{}
if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.Start.IsSet() {
localVarQueryParams.Add("start", parameterToString(localVarOptionals.Start.Value(), ""))
}
if localVarOptionals != nil && localVarOptionals.End.IsSet() {
localVarQueryParams.Add("end", parameterToString(localVarOptionals.End.Value(), ""))
}
// 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
2024-05-11 14:43:57 +03:00
localVarHttpHeaderAccepts := []string{"application/json", "application/vnd.api+json"}
2024-04-10 12:14:55 +03:00
// set Accept header
localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
if localVarHttpHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
}
if localVarOptionals != nil && localVarOptionals.XTraceId.IsSet() {
localVarHeaderParams["X-Trace-Id"] = parameterToString(localVarOptionals.XTraceId.Value(), "")
}
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.
2024-05-11 15:26:56 +03:00
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err == nil {
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, err
}
}
if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
2024-05-11 15:26:56 +03:00
body: localVarBody,
2024-04-10 12:14:55 +03:00
error: localVarHttpResponse.Status,
}
if localVarHttpResponse.StatusCode == 401 {
var v UnauthenticatedResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 404 {
var v NotFoundResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 400 {
var v BadRequestResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 500 {
var v InternalExceptionResponse
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
if localVarHttpResponse.StatusCode == 200 {
var v AvailableBudgetArray
2024-05-11 15:26:56 +03:00
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
if err != nil {
newErr.error = err.Error()
2024-04-10 12:14:55 +03:00
return localVarReturnValue, localVarHttpResponse, newErr
2024-05-11 15:26:56 +03:00
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
2024-04-10 12:14:55 +03:00
}
return localVarReturnValue, localVarHttpResponse, newErr
}
return localVarReturnValue, localVarHttpResponse, nil
}