882 lines
33 KiB
Go
882 lines
33 KiB
Go
|
/*
|
||
|
* Firefly III API v2.0.12
|
||
|
*
|
||
|
* 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-03-16T05:34:43+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.
|
||
|
*
|
||
|
* API version: 2.0.12
|
||
|
* Contact: james@firefly-iii.org
|
||
|
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
|
||
|
*/
|
||
|
package firefly3
|
||
|
|
||
|
import (
|
||
|
"context"
|
||
|
"fmt"
|
||
|
"github.com/antihax/optional"
|
||
|
"io/ioutil"
|
||
|
"net/http"
|
||
|
"net/url"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
// Linger please
|
||
|
var (
|
||
|
_ context.Context
|
||
|
)
|
||
|
|
||
|
type RecurrencesApiService service
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService Delete a recurring transaction.
|
||
|
Delete a recurring transaction. Transactions created by the recurring transaction will not be deleted.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param id The ID of the recurring transaction.
|
||
|
* @param optional nil or *RecurrencesApiDeleteRecurrenceOpts - Optional Parameters:
|
||
|
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
|
||
|
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiDeleteRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) DeleteRecurrence(ctx context.Context, id string, localVarOptionals *RecurrencesApiDeleteRecurrenceOpts) (*http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Delete")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences/{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
|
||
|
localVarHttpHeaderAccepts := []string{"application/json"}
|
||
|
|
||
|
// 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 nil, err
|
||
|
}
|
||
|
|
||
|
localVarHttpResponse, err := a.client.callAPI(r)
|
||
|
if err != nil || localVarHttpResponse == nil {
|
||
|
return localVarHttpResponse, err
|
||
|
}
|
||
|
|
||
|
localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
|
||
|
localVarHttpResponse.Body.Close()
|
||
|
if err != nil {
|
||
|
return localVarHttpResponse, err
|
||
|
}
|
||
|
|
||
|
if localVarHttpResponse.StatusCode >= 300 {
|
||
|
newErr := GenericSwaggerError{
|
||
|
body: localVarBody,
|
||
|
error: localVarHttpResponse.Status,
|
||
|
}
|
||
|
if localVarHttpResponse.StatusCode == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr.error = err.Error()
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
newErr.model = v
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
if localVarHttpResponse.StatusCode == 404 {
|
||
|
var v NotFoundResponse
|
||
|
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr.error = err.Error()
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
newErr.model = v
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
if localVarHttpResponse.StatusCode == 400 {
|
||
|
var v BadRequestResponse
|
||
|
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr.error = err.Error()
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
newErr.model = v
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
if localVarHttpResponse.StatusCode == 500 {
|
||
|
var v InternalExceptionResponse
|
||
|
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
|
||
|
if err != nil {
|
||
|
newErr.error = err.Error()
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
newErr.model = v
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
return localVarHttpResponse, newErr
|
||
|
}
|
||
|
|
||
|
return localVarHttpResponse, nil
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService Get a single recurring transaction.
|
||
|
Get a single recurring transaction.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param id The ID of the recurring transaction.
|
||
|
* @param optional nil or *RecurrencesApiGetRecurrenceOpts - Optional Parameters:
|
||
|
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
|
||
|
@return RecurrenceSingle
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiGetRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) GetRecurrence(ctx context.Context, id string, localVarOptionals *RecurrencesApiGetRecurrenceOpts) (RecurrenceSingle, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Get")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
localVarReturnValue RecurrenceSingle
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences/{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
|
||
|
localVarHttpHeaderAccepts := []string{"application/vnd.firefly3+json", "application/json"}
|
||
|
|
||
|
// 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.
|
||
|
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 RecurrenceSingle
|
||
|
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 == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
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 NotFoundResponse
|
||
|
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 BadRequestResponse
|
||
|
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 InternalExceptionResponse
|
||
|
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
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService List all recurring transactions.
|
||
|
List all recurring transactions.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param optional nil or *RecurrencesApiListRecurrenceOpts - 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.
|
||
|
@return RecurrenceArray
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiListRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
Limit optional.Int32
|
||
|
Page optional.Int32
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) ListRecurrence(ctx context.Context, localVarOptionals *RecurrencesApiListRecurrenceOpts) (RecurrenceArray, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Get")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
localVarReturnValue RecurrenceArray
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences"
|
||
|
|
||
|
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(), ""))
|
||
|
}
|
||
|
// 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/vnd.firefly3+json", "application/json"}
|
||
|
|
||
|
// 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.
|
||
|
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 RecurrenceArray
|
||
|
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 == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
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 NotFoundResponse
|
||
|
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 BadRequestResponse
|
||
|
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 InternalExceptionResponse
|
||
|
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
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService List all transactions created by a recurring transaction.
|
||
|
List all transactions created by a recurring transaction, optionally limited to the date ranges specified.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param id The ID of the recurring transaction.
|
||
|
* @param optional nil or *RecurrencesApiListTransactionByRecurrenceOpts - 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.
|
||
|
* @param "Start" (optional.String) - A date formatted YYYY-MM-DD. Both the start and end date must be present.
|
||
|
* @param "End" (optional.String) - A date formatted YYYY-MM-DD. Both the start and end date must be present.
|
||
|
* @param "Type_" (optional.Interface of TransactionTypeFilter) - Optional filter on the transaction type(s) returned
|
||
|
@return TransactionArray
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiListTransactionByRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
Limit optional.Int32
|
||
|
Page optional.Int32
|
||
|
Start optional.String
|
||
|
End optional.String
|
||
|
Type_ optional.Interface
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) ListTransactionByRecurrence(ctx context.Context, id string, localVarOptionals *RecurrencesApiListTransactionByRecurrenceOpts) (TransactionArray, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Get")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
localVarReturnValue TransactionArray
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences/{id}/transactions"
|
||
|
localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", fmt.Sprintf("%v", id), -1)
|
||
|
|
||
|
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(), ""))
|
||
|
}
|
||
|
if localVarOptionals != nil && localVarOptionals.Type_.IsSet() {
|
||
|
localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.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
|
||
|
localVarHttpHeaderAccepts := []string{"application/vnd.firefly3+json", "application/json"}
|
||
|
|
||
|
// 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.
|
||
|
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 TransactionArray
|
||
|
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 == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
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 NotFoundResponse
|
||
|
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 BadRequestResponse
|
||
|
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 InternalExceptionResponse
|
||
|
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
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService Store a new recurring transaction
|
||
|
Creates a new recurring transaction. The data required can be submitted as a JSON body or as a list of parameters.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param body JSON array or key=value pairs with the necessary recurring transaction information. See the model for the exact specifications.
|
||
|
* @param optional nil or *RecurrencesApiStoreRecurrenceOpts - Optional Parameters:
|
||
|
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
|
||
|
@return RecurrenceSingle
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiStoreRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) StoreRecurrence(ctx context.Context, body RecurrenceStore, localVarOptionals *RecurrencesApiStoreRecurrenceOpts) (RecurrenceSingle, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Post")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
localVarReturnValue RecurrenceSingle
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences"
|
||
|
|
||
|
localVarHeaderParams := make(map[string]string)
|
||
|
localVarQueryParams := url.Values{}
|
||
|
localVarFormParams := url.Values{}
|
||
|
|
||
|
// to determine the Content-Type header
|
||
|
localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded"}
|
||
|
|
||
|
// set Content-Type header
|
||
|
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
|
||
|
if localVarHttpContentType != "" {
|
||
|
localVarHeaderParams["Content-Type"] = localVarHttpContentType
|
||
|
}
|
||
|
|
||
|
// to determine the Accept header
|
||
|
localVarHttpHeaderAccepts := []string{"application/vnd.firefly3+json", "application/json"}
|
||
|
|
||
|
// 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(), "")
|
||
|
}
|
||
|
// body params
|
||
|
localVarPostBody = &body
|
||
|
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 RecurrenceSingle
|
||
|
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 == 422 {
|
||
|
var v ValidationErrorResponse
|
||
|
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 == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
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 NotFoundResponse
|
||
|
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 BadRequestResponse
|
||
|
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 InternalExceptionResponse
|
||
|
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
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
RecurrencesApiService Update existing recurring transaction.
|
||
|
Update existing recurring transaction.
|
||
|
* @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
|
||
|
* @param body JSON array with updated recurring transaction information. See the model for the exact specifications.
|
||
|
* @param id The ID of the recurring transaction.
|
||
|
* @param optional nil or *RecurrencesApiUpdateRecurrenceOpts - Optional Parameters:
|
||
|
* @param "XTraceId" (optional.Interface of string) - Unique identifier associated with this request.
|
||
|
@return RecurrenceSingle
|
||
|
*/
|
||
|
|
||
|
type RecurrencesApiUpdateRecurrenceOpts struct {
|
||
|
XTraceId optional.Interface
|
||
|
}
|
||
|
|
||
|
func (a *RecurrencesApiService) UpdateRecurrence(ctx context.Context, body RecurrenceUpdate, id string, localVarOptionals *RecurrencesApiUpdateRecurrenceOpts) (RecurrenceSingle, *http.Response, error) {
|
||
|
var (
|
||
|
localVarHttpMethod = strings.ToUpper("Put")
|
||
|
localVarPostBody interface{}
|
||
|
localVarFileName string
|
||
|
localVarFileBytes []byte
|
||
|
localVarReturnValue RecurrenceSingle
|
||
|
)
|
||
|
|
||
|
// create path and map variables
|
||
|
localVarPath := a.client.cfg.BasePath + "/v1/recurrences/{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{"application/json", "application/x-www-form-urlencoded"}
|
||
|
|
||
|
// set Content-Type header
|
||
|
localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
|
||
|
if localVarHttpContentType != "" {
|
||
|
localVarHeaderParams["Content-Type"] = localVarHttpContentType
|
||
|
}
|
||
|
|
||
|
// to determine the Accept header
|
||
|
localVarHttpHeaderAccepts := []string{"application/vnd.firefly3+json", "application/json"}
|
||
|
|
||
|
// 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(), "")
|
||
|
}
|
||
|
// body params
|
||
|
localVarPostBody = &body
|
||
|
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 RecurrenceSingle
|
||
|
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 == 422 {
|
||
|
var v ValidationErrorResponse
|
||
|
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 == 401 {
|
||
|
var v UnauthenticatedResponse
|
||
|
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 NotFoundResponse
|
||
|
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 BadRequestResponse
|
||
|
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 InternalExceptionResponse
|
||
|
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
|
||
|
}
|