github.com/moov-io/imagecashletter@v0.10.1/client/api_image_cash_letter_files.go (about)

     1  /*
     2   * ImageCashLetter API
     3   *
     4   * Moov Image Cash Letter (ICL) implements an HTTP API for creating, parsing, and validating ImageCashLetter files.
     5   *
     6   * API version: v1
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package openapi
    11  
    12  import (
    13  	_context "context"
    14  	"github.com/antihax/optional"
    15  	_ioutil "io/ioutil"
    16  	_nethttp "net/http"
    17  	_neturl "net/url"
    18  	"strings"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ _context.Context
    24  )
    25  
    26  // ImageCashLetterFilesApiService ImageCashLetterFilesApi service
    27  type ImageCashLetterFilesApiService service
    28  
    29  // AddICLToFileOpts Optional parameters for the method 'AddICLToFile'
    30  type AddICLToFileOpts struct {
    31  	XRequestID optional.String
    32  }
    33  
    34  /*
    35  AddICLToFile Add cash letter to file
    36    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    37    - @param fileID File ID
    38    - @param cashLetter
    39    - @param optional nil or *AddICLToFileOpts - Optional Parameters:
    40    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
    41  */
    42  func (a *ImageCashLetterFilesApiService) AddICLToFile(ctx _context.Context, fileID string, cashLetter CashLetter, localVarOptionals *AddICLToFileOpts) (*_nethttp.Response, error) {
    43  	var (
    44  		localVarHTTPMethod   = _nethttp.MethodPost
    45  		localVarPostBody     interface{}
    46  		localVarFormFileName string
    47  		localVarFileName     string
    48  		localVarFileBytes    []byte
    49  	)
    50  
    51  	// create path and map variables
    52  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}/cashLetters"
    53  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
    54  
    55  	localVarHeaderParams := make(map[string]string)
    56  	localVarQueryParams := _neturl.Values{}
    57  	localVarFormParams := _neturl.Values{}
    58  
    59  	// to determine the Content-Type header
    60  	localVarHTTPContentTypes := []string{"application/json"}
    61  
    62  	// set Content-Type header
    63  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
    64  	if localVarHTTPContentType != "" {
    65  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
    66  	}
    67  
    68  	// to determine the Accept header
    69  	localVarHTTPHeaderAccepts := []string{}
    70  
    71  	// set Accept header
    72  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
    73  	if localVarHTTPHeaderAccept != "" {
    74  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    75  	}
    76  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
    77  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
    78  	}
    79  	// body params
    80  	localVarPostBody = &cashLetter
    81  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    82  	if err != nil {
    83  		return nil, err
    84  	}
    85  
    86  	localVarHTTPResponse, err := a.client.callAPI(r)
    87  	if err != nil || localVarHTTPResponse == nil {
    88  		return localVarHTTPResponse, err
    89  	}
    90  
    91  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
    92  	localVarHTTPResponse.Body.Close()
    93  	if err != nil {
    94  		return localVarHTTPResponse, err
    95  	}
    96  
    97  	if localVarHTTPResponse.StatusCode >= 300 {
    98  		newErr := GenericOpenAPIError{
    99  			body:  localVarBody,
   100  			error: localVarHTTPResponse.Status,
   101  		}
   102  		return localVarHTTPResponse, newErr
   103  	}
   104  
   105  	return localVarHTTPResponse, nil
   106  }
   107  
   108  // CreateICLFileOpts Optional parameters for the method 'CreateICLFile'
   109  type CreateICLFileOpts struct {
   110  	XRequestID optional.String
   111  }
   112  
   113  /*
   114  CreateICLFile Create file
   115    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   116    - @param createIclFile Content of the ImageCashLetter file (in json or raw text)
   117    - @param optional nil or *CreateICLFileOpts - Optional Parameters:
   118    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   119  
   120  @return IclFile
   121  */
   122  func (a *ImageCashLetterFilesApiService) CreateICLFile(ctx _context.Context, createIclFile CreateIclFile, localVarOptionals *CreateICLFileOpts) (IclFile, *_nethttp.Response, error) {
   123  	var (
   124  		localVarHTTPMethod   = _nethttp.MethodPost
   125  		localVarPostBody     interface{}
   126  		localVarFormFileName string
   127  		localVarFileName     string
   128  		localVarFileBytes    []byte
   129  		localVarReturnValue  IclFile
   130  	)
   131  
   132  	// create path and map variables
   133  	localVarPath := a.client.cfg.BasePath + "/files/create"
   134  	localVarHeaderParams := make(map[string]string)
   135  	localVarQueryParams := _neturl.Values{}
   136  	localVarFormParams := _neturl.Values{}
   137  
   138  	// to determine the Content-Type header
   139  	localVarHTTPContentTypes := []string{"application/json", "text/plain"}
   140  
   141  	// set Content-Type header
   142  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   143  	if localVarHTTPContentType != "" {
   144  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   145  	}
   146  
   147  	// to determine the Accept header
   148  	localVarHTTPHeaderAccepts := []string{"application/json"}
   149  
   150  	// set Accept header
   151  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   152  	if localVarHTTPHeaderAccept != "" {
   153  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   154  	}
   155  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   156  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   157  	}
   158  	// body params
   159  	localVarPostBody = &createIclFile
   160  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   161  	if err != nil {
   162  		return localVarReturnValue, nil, err
   163  	}
   164  
   165  	localVarHTTPResponse, err := a.client.callAPI(r)
   166  	if err != nil || localVarHTTPResponse == nil {
   167  		return localVarReturnValue, localVarHTTPResponse, err
   168  	}
   169  
   170  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   171  	localVarHTTPResponse.Body.Close()
   172  	if err != nil {
   173  		return localVarReturnValue, localVarHTTPResponse, err
   174  	}
   175  
   176  	if localVarHTTPResponse.StatusCode >= 300 {
   177  		newErr := GenericOpenAPIError{
   178  			body:  localVarBody,
   179  			error: localVarHTTPResponse.Status,
   180  		}
   181  		if localVarHTTPResponse.StatusCode == 400 {
   182  			var v Error
   183  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   184  			if err != nil {
   185  				newErr.error = err.Error()
   186  				return localVarReturnValue, localVarHTTPResponse, newErr
   187  			}
   188  			newErr.model = v
   189  		}
   190  		return localVarReturnValue, localVarHTTPResponse, newErr
   191  	}
   192  
   193  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   194  	if err != nil {
   195  		newErr := GenericOpenAPIError{
   196  			body:  localVarBody,
   197  			error: err.Error(),
   198  		}
   199  		return localVarReturnValue, localVarHTTPResponse, newErr
   200  	}
   201  
   202  	return localVarReturnValue, localVarHTTPResponse, nil
   203  }
   204  
   205  /*
   206  CreateICLFileV2 Create file
   207    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   208    - @param createIclFile Content of the ImageCashLetter file in JSON, or X9 (ASCII or EBCDIC) format. Use the `Accept` header to specify the response format.
   209  
   210  @return IclFile
   211  */
   212  func (a *ImageCashLetterFilesApiService) CreateICLFileV2(ctx _context.Context, createIclFile CreateIclFile) (IclFile, *_nethttp.Response, error) {
   213  	var (
   214  		localVarHTTPMethod   = _nethttp.MethodPost
   215  		localVarPostBody     interface{}
   216  		localVarFormFileName string
   217  		localVarFileName     string
   218  		localVarFileBytes    []byte
   219  		localVarReturnValue  IclFile
   220  	)
   221  
   222  	// create path and map variables
   223  	localVarPath := a.client.cfg.BasePath + "/v2/files"
   224  	localVarHeaderParams := make(map[string]string)
   225  	localVarQueryParams := _neturl.Values{}
   226  	localVarFormParams := _neturl.Values{}
   227  
   228  	// to determine the Content-Type header
   229  	localVarHTTPContentTypes := []string{"application/json", "multipart/form-data"}
   230  
   231  	// set Content-Type header
   232  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   233  	if localVarHTTPContentType != "" {
   234  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   235  	}
   236  
   237  	// to determine the Accept header
   238  	localVarHTTPHeaderAccepts := []string{"application/json", "application/octet-stream", "text/plain"}
   239  
   240  	// set Accept header
   241  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   242  	if localVarHTTPHeaderAccept != "" {
   243  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   244  	}
   245  	// body params
   246  	localVarPostBody = &createIclFile
   247  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   248  	if err != nil {
   249  		return localVarReturnValue, nil, err
   250  	}
   251  
   252  	localVarHTTPResponse, err := a.client.callAPI(r)
   253  	if err != nil || localVarHTTPResponse == nil {
   254  		return localVarReturnValue, localVarHTTPResponse, err
   255  	}
   256  
   257  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   258  	localVarHTTPResponse.Body.Close()
   259  	if err != nil {
   260  		return localVarReturnValue, localVarHTTPResponse, err
   261  	}
   262  
   263  	if localVarHTTPResponse.StatusCode >= 300 {
   264  		newErr := GenericOpenAPIError{
   265  			body:  localVarBody,
   266  			error: localVarHTTPResponse.Status,
   267  		}
   268  		if localVarHTTPResponse.StatusCode == 400 {
   269  			var v Error
   270  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   271  			if err != nil {
   272  				newErr.error = err.Error()
   273  				return localVarReturnValue, localVarHTTPResponse, newErr
   274  			}
   275  			newErr.model = v
   276  		}
   277  		return localVarReturnValue, localVarHTTPResponse, newErr
   278  	}
   279  
   280  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   281  	if err != nil {
   282  		newErr := GenericOpenAPIError{
   283  			body:  localVarBody,
   284  			error: err.Error(),
   285  		}
   286  		return localVarReturnValue, localVarHTTPResponse, newErr
   287  	}
   288  
   289  	return localVarReturnValue, localVarHTTPResponse, nil
   290  }
   291  
   292  // DeleteICLFileOpts Optional parameters for the method 'DeleteICLFile'
   293  type DeleteICLFileOpts struct {
   294  	XRequestID optional.String
   295  }
   296  
   297  /*
   298  DeleteICLFile Delete file
   299  Permanently deletes a File and associated CashLetters and Bundles. It cannot be undone.
   300    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   301    - @param fileID File ID
   302    - @param optional nil or *DeleteICLFileOpts - Optional Parameters:
   303    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   304  */
   305  func (a *ImageCashLetterFilesApiService) DeleteICLFile(ctx _context.Context, fileID string, localVarOptionals *DeleteICLFileOpts) (*_nethttp.Response, error) {
   306  	var (
   307  		localVarHTTPMethod   = _nethttp.MethodDelete
   308  		localVarPostBody     interface{}
   309  		localVarFormFileName string
   310  		localVarFileName     string
   311  		localVarFileBytes    []byte
   312  	)
   313  
   314  	// create path and map variables
   315  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}"
   316  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   317  
   318  	localVarHeaderParams := make(map[string]string)
   319  	localVarQueryParams := _neturl.Values{}
   320  	localVarFormParams := _neturl.Values{}
   321  
   322  	// to determine the Content-Type header
   323  	localVarHTTPContentTypes := []string{}
   324  
   325  	// set Content-Type header
   326  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   327  	if localVarHTTPContentType != "" {
   328  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   329  	}
   330  
   331  	// to determine the Accept header
   332  	localVarHTTPHeaderAccepts := []string{}
   333  
   334  	// set Accept header
   335  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   336  	if localVarHTTPHeaderAccept != "" {
   337  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   338  	}
   339  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   340  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   341  	}
   342  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   343  	if err != nil {
   344  		return nil, err
   345  	}
   346  
   347  	localVarHTTPResponse, err := a.client.callAPI(r)
   348  	if err != nil || localVarHTTPResponse == nil {
   349  		return localVarHTTPResponse, err
   350  	}
   351  
   352  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   353  	localVarHTTPResponse.Body.Close()
   354  	if err != nil {
   355  		return localVarHTTPResponse, err
   356  	}
   357  
   358  	if localVarHTTPResponse.StatusCode >= 300 {
   359  		newErr := GenericOpenAPIError{
   360  			body:  localVarBody,
   361  			error: localVarHTTPResponse.Status,
   362  		}
   363  		return localVarHTTPResponse, newErr
   364  	}
   365  
   366  	return localVarHTTPResponse, nil
   367  }
   368  
   369  // DeleteICLFromFileOpts Optional parameters for the method 'DeleteICLFromFile'
   370  type DeleteICLFromFileOpts struct {
   371  	XRequestID optional.String
   372  }
   373  
   374  /*
   375  DeleteICLFromFile Delete cash letter from file
   376    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   377    - @param fileID File ID
   378    - @param cashLetterID CashLetter ID
   379    - @param optional nil or *DeleteICLFromFileOpts - Optional Parameters:
   380    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   381  */
   382  func (a *ImageCashLetterFilesApiService) DeleteICLFromFile(ctx _context.Context, fileID string, cashLetterID string, localVarOptionals *DeleteICLFromFileOpts) (*_nethttp.Response, error) {
   383  	var (
   384  		localVarHTTPMethod   = _nethttp.MethodDelete
   385  		localVarPostBody     interface{}
   386  		localVarFormFileName string
   387  		localVarFileName     string
   388  		localVarFileBytes    []byte
   389  	)
   390  
   391  	// create path and map variables
   392  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}/cashLetters/{cashLetterID}"
   393  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   394  
   395  	localVarPath = strings.Replace(localVarPath, "{"+"cashLetterID"+"}", _neturl.QueryEscape(parameterToString(cashLetterID, "")), -1)
   396  
   397  	localVarHeaderParams := make(map[string]string)
   398  	localVarQueryParams := _neturl.Values{}
   399  	localVarFormParams := _neturl.Values{}
   400  
   401  	// to determine the Content-Type header
   402  	localVarHTTPContentTypes := []string{}
   403  
   404  	// set Content-Type header
   405  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   406  	if localVarHTTPContentType != "" {
   407  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   408  	}
   409  
   410  	// to determine the Accept header
   411  	localVarHTTPHeaderAccepts := []string{}
   412  
   413  	// set Accept header
   414  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   415  	if localVarHTTPHeaderAccept != "" {
   416  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   417  	}
   418  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   419  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   420  	}
   421  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   422  	if err != nil {
   423  		return nil, err
   424  	}
   425  
   426  	localVarHTTPResponse, err := a.client.callAPI(r)
   427  	if err != nil || localVarHTTPResponse == nil {
   428  		return localVarHTTPResponse, err
   429  	}
   430  
   431  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   432  	localVarHTTPResponse.Body.Close()
   433  	if err != nil {
   434  		return localVarHTTPResponse, err
   435  	}
   436  
   437  	if localVarHTTPResponse.StatusCode >= 300 {
   438  		newErr := GenericOpenAPIError{
   439  			body:  localVarBody,
   440  			error: localVarHTTPResponse.Status,
   441  		}
   442  		return localVarHTTPResponse, newErr
   443  	}
   444  
   445  	return localVarHTTPResponse, nil
   446  }
   447  
   448  // GetICLFileByIDOpts Optional parameters for the method 'GetICLFileByID'
   449  type GetICLFileByIDOpts struct {
   450  	XRequestID optional.String
   451  }
   452  
   453  /*
   454  GetICLFileByID Retrieve file
   455  Retrieves the details of an existing File. You need only supply the unique File identifier that was returned upon creation.
   456    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   457    - @param fileID File ID
   458    - @param optional nil or *GetICLFileByIDOpts - Optional Parameters:
   459    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   460  
   461  @return IclFile
   462  */
   463  func (a *ImageCashLetterFilesApiService) GetICLFileByID(ctx _context.Context, fileID string, localVarOptionals *GetICLFileByIDOpts) (IclFile, *_nethttp.Response, error) {
   464  	var (
   465  		localVarHTTPMethod   = _nethttp.MethodGet
   466  		localVarPostBody     interface{}
   467  		localVarFormFileName string
   468  		localVarFileName     string
   469  		localVarFileBytes    []byte
   470  		localVarReturnValue  IclFile
   471  	)
   472  
   473  	// create path and map variables
   474  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}"
   475  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   476  
   477  	localVarHeaderParams := make(map[string]string)
   478  	localVarQueryParams := _neturl.Values{}
   479  	localVarFormParams := _neturl.Values{}
   480  
   481  	// to determine the Content-Type header
   482  	localVarHTTPContentTypes := []string{}
   483  
   484  	// set Content-Type header
   485  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   486  	if localVarHTTPContentType != "" {
   487  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   488  	}
   489  
   490  	// to determine the Accept header
   491  	localVarHTTPHeaderAccepts := []string{"application/json"}
   492  
   493  	// set Accept header
   494  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   495  	if localVarHTTPHeaderAccept != "" {
   496  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   497  	}
   498  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   499  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   500  	}
   501  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   502  	if err != nil {
   503  		return localVarReturnValue, nil, err
   504  	}
   505  
   506  	localVarHTTPResponse, err := a.client.callAPI(r)
   507  	if err != nil || localVarHTTPResponse == nil {
   508  		return localVarReturnValue, localVarHTTPResponse, err
   509  	}
   510  
   511  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   512  	localVarHTTPResponse.Body.Close()
   513  	if err != nil {
   514  		return localVarReturnValue, localVarHTTPResponse, err
   515  	}
   516  
   517  	if localVarHTTPResponse.StatusCode >= 300 {
   518  		newErr := GenericOpenAPIError{
   519  			body:  localVarBody,
   520  			error: localVarHTTPResponse.Status,
   521  		}
   522  		return localVarReturnValue, localVarHTTPResponse, newErr
   523  	}
   524  
   525  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   526  	if err != nil {
   527  		newErr := GenericOpenAPIError{
   528  			body:  localVarBody,
   529  			error: err.Error(),
   530  		}
   531  		return localVarReturnValue, localVarHTTPResponse, newErr
   532  	}
   533  
   534  	return localVarReturnValue, localVarHTTPResponse, nil
   535  }
   536  
   537  // GetICLFileContentsOpts Optional parameters for the method 'GetICLFileContents'
   538  type GetICLFileContentsOpts struct {
   539  	XRequestID optional.String
   540  }
   541  
   542  /*
   543  GetICLFileContents Get file contents
   544  Assembles the existing file records (Cash Letters, Bundles, and Controls), computes sequence numbers and totals. Returns plaintext file.
   545    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   546    - @param fileID File ID
   547    - @param optional nil or *GetICLFileContentsOpts - Optional Parameters:
   548    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   549  
   550  @return string
   551  */
   552  func (a *ImageCashLetterFilesApiService) GetICLFileContents(ctx _context.Context, fileID string, localVarOptionals *GetICLFileContentsOpts) (string, *_nethttp.Response, error) {
   553  	var (
   554  		localVarHTTPMethod   = _nethttp.MethodGet
   555  		localVarPostBody     interface{}
   556  		localVarFormFileName string
   557  		localVarFileName     string
   558  		localVarFileBytes    []byte
   559  		localVarReturnValue  string
   560  	)
   561  
   562  	// create path and map variables
   563  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}/contents"
   564  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   565  
   566  	localVarHeaderParams := make(map[string]string)
   567  	localVarQueryParams := _neturl.Values{}
   568  	localVarFormParams := _neturl.Values{}
   569  
   570  	// to determine the Content-Type header
   571  	localVarHTTPContentTypes := []string{}
   572  
   573  	// set Content-Type header
   574  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   575  	if localVarHTTPContentType != "" {
   576  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   577  	}
   578  
   579  	// to determine the Accept header
   580  	localVarHTTPHeaderAccepts := []string{"text/plain"}
   581  
   582  	// set Accept header
   583  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   584  	if localVarHTTPHeaderAccept != "" {
   585  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   586  	}
   587  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   588  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   589  	}
   590  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   591  	if err != nil {
   592  		return localVarReturnValue, nil, err
   593  	}
   594  
   595  	localVarHTTPResponse, err := a.client.callAPI(r)
   596  	if err != nil || localVarHTTPResponse == nil {
   597  		return localVarReturnValue, localVarHTTPResponse, err
   598  	}
   599  
   600  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   601  	localVarHTTPResponse.Body.Close()
   602  	if err != nil {
   603  		return localVarReturnValue, localVarHTTPResponse, err
   604  	}
   605  
   606  	if localVarHTTPResponse.StatusCode >= 300 {
   607  		newErr := GenericOpenAPIError{
   608  			body:  localVarBody,
   609  			error: localVarHTTPResponse.Status,
   610  		}
   611  		return localVarReturnValue, localVarHTTPResponse, newErr
   612  	}
   613  
   614  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   615  	if err != nil {
   616  		newErr := GenericOpenAPIError{
   617  			body:  localVarBody,
   618  			error: err.Error(),
   619  		}
   620  		return localVarReturnValue, localVarHTTPResponse, newErr
   621  	}
   622  
   623  	return localVarReturnValue, localVarHTTPResponse, nil
   624  }
   625  
   626  // GetICLFilesOpts Optional parameters for the method 'GetICLFiles'
   627  type GetICLFilesOpts struct {
   628  	XRequestID optional.String
   629  }
   630  
   631  /*
   632  GetICLFiles List files
   633    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   634    - @param optional nil or *GetICLFilesOpts - Optional Parameters:
   635    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   636  
   637  @return []IclFile
   638  */
   639  func (a *ImageCashLetterFilesApiService) GetICLFiles(ctx _context.Context, localVarOptionals *GetICLFilesOpts) ([]IclFile, *_nethttp.Response, error) {
   640  	var (
   641  		localVarHTTPMethod   = _nethttp.MethodGet
   642  		localVarPostBody     interface{}
   643  		localVarFormFileName string
   644  		localVarFileName     string
   645  		localVarFileBytes    []byte
   646  		localVarReturnValue  []IclFile
   647  	)
   648  
   649  	// create path and map variables
   650  	localVarPath := a.client.cfg.BasePath + "/files"
   651  	localVarHeaderParams := make(map[string]string)
   652  	localVarQueryParams := _neturl.Values{}
   653  	localVarFormParams := _neturl.Values{}
   654  
   655  	// to determine the Content-Type header
   656  	localVarHTTPContentTypes := []string{}
   657  
   658  	// set Content-Type header
   659  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   660  	if localVarHTTPContentType != "" {
   661  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   662  	}
   663  
   664  	// to determine the Accept header
   665  	localVarHTTPHeaderAccepts := []string{"application/json"}
   666  
   667  	// set Accept header
   668  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   669  	if localVarHTTPHeaderAccept != "" {
   670  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   671  	}
   672  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   673  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   674  	}
   675  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   676  	if err != nil {
   677  		return localVarReturnValue, nil, err
   678  	}
   679  
   680  	localVarHTTPResponse, err := a.client.callAPI(r)
   681  	if err != nil || localVarHTTPResponse == nil {
   682  		return localVarReturnValue, localVarHTTPResponse, err
   683  	}
   684  
   685  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   686  	localVarHTTPResponse.Body.Close()
   687  	if err != nil {
   688  		return localVarReturnValue, localVarHTTPResponse, err
   689  	}
   690  
   691  	if localVarHTTPResponse.StatusCode >= 300 {
   692  		newErr := GenericOpenAPIError{
   693  			body:  localVarBody,
   694  			error: localVarHTTPResponse.Status,
   695  		}
   696  		return localVarReturnValue, localVarHTTPResponse, newErr
   697  	}
   698  
   699  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   700  	if err != nil {
   701  		newErr := GenericOpenAPIError{
   702  			body:  localVarBody,
   703  			error: err.Error(),
   704  		}
   705  		return localVarReturnValue, localVarHTTPResponse, newErr
   706  	}
   707  
   708  	return localVarReturnValue, localVarHTTPResponse, nil
   709  }
   710  
   711  /*
   712  Ping Ping ImageCashLetter service
   713    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   714  */
   715  func (a *ImageCashLetterFilesApiService) Ping(ctx _context.Context) (*_nethttp.Response, error) {
   716  	var (
   717  		localVarHTTPMethod   = _nethttp.MethodGet
   718  		localVarPostBody     interface{}
   719  		localVarFormFileName string
   720  		localVarFileName     string
   721  		localVarFileBytes    []byte
   722  	)
   723  
   724  	// create path and map variables
   725  	localVarPath := a.client.cfg.BasePath + "/ping"
   726  	localVarHeaderParams := make(map[string]string)
   727  	localVarQueryParams := _neturl.Values{}
   728  	localVarFormParams := _neturl.Values{}
   729  
   730  	// to determine the Content-Type header
   731  	localVarHTTPContentTypes := []string{}
   732  
   733  	// set Content-Type header
   734  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   735  	if localVarHTTPContentType != "" {
   736  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   737  	}
   738  
   739  	// to determine the Accept header
   740  	localVarHTTPHeaderAccepts := []string{}
   741  
   742  	// set Accept header
   743  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   744  	if localVarHTTPHeaderAccept != "" {
   745  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   746  	}
   747  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   748  	if err != nil {
   749  		return nil, err
   750  	}
   751  
   752  	localVarHTTPResponse, err := a.client.callAPI(r)
   753  	if err != nil || localVarHTTPResponse == nil {
   754  		return localVarHTTPResponse, err
   755  	}
   756  
   757  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   758  	localVarHTTPResponse.Body.Close()
   759  	if err != nil {
   760  		return localVarHTTPResponse, err
   761  	}
   762  
   763  	if localVarHTTPResponse.StatusCode >= 300 {
   764  		newErr := GenericOpenAPIError{
   765  			body:  localVarBody,
   766  			error: localVarHTTPResponse.Status,
   767  		}
   768  		return localVarHTTPResponse, newErr
   769  	}
   770  
   771  	return localVarHTTPResponse, nil
   772  }
   773  
   774  // UpdateICLFileOpts Optional parameters for the method 'UpdateICLFile'
   775  type UpdateICLFileOpts struct {
   776  	XRequestID optional.String
   777  }
   778  
   779  /*
   780  UpdateICLFile Update file header
   781  Updates the specified File Header by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
   782    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   783    - @param fileID File ID
   784    - @param iclFileHeader
   785    - @param optional nil or *UpdateICLFileOpts - Optional Parameters:
   786    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   787  
   788  @return IclFile
   789  */
   790  func (a *ImageCashLetterFilesApiService) UpdateICLFile(ctx _context.Context, fileID string, iclFileHeader IclFileHeader, localVarOptionals *UpdateICLFileOpts) (IclFile, *_nethttp.Response, error) {
   791  	var (
   792  		localVarHTTPMethod   = _nethttp.MethodPost
   793  		localVarPostBody     interface{}
   794  		localVarFormFileName string
   795  		localVarFileName     string
   796  		localVarFileBytes    []byte
   797  		localVarReturnValue  IclFile
   798  	)
   799  
   800  	// create path and map variables
   801  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}"
   802  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   803  
   804  	localVarHeaderParams := make(map[string]string)
   805  	localVarQueryParams := _neturl.Values{}
   806  	localVarFormParams := _neturl.Values{}
   807  
   808  	// to determine the Content-Type header
   809  	localVarHTTPContentTypes := []string{"application/json"}
   810  
   811  	// set Content-Type header
   812  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   813  	if localVarHTTPContentType != "" {
   814  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   815  	}
   816  
   817  	// to determine the Accept header
   818  	localVarHTTPHeaderAccepts := []string{"application/json"}
   819  
   820  	// set Accept header
   821  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   822  	if localVarHTTPHeaderAccept != "" {
   823  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   824  	}
   825  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   826  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   827  	}
   828  	// body params
   829  	localVarPostBody = &iclFileHeader
   830  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   831  	if err != nil {
   832  		return localVarReturnValue, nil, err
   833  	}
   834  
   835  	localVarHTTPResponse, err := a.client.callAPI(r)
   836  	if err != nil || localVarHTTPResponse == nil {
   837  		return localVarReturnValue, localVarHTTPResponse, err
   838  	}
   839  
   840  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   841  	localVarHTTPResponse.Body.Close()
   842  	if err != nil {
   843  		return localVarReturnValue, localVarHTTPResponse, err
   844  	}
   845  
   846  	if localVarHTTPResponse.StatusCode >= 300 {
   847  		newErr := GenericOpenAPIError{
   848  			body:  localVarBody,
   849  			error: localVarHTTPResponse.Status,
   850  		}
   851  		if localVarHTTPResponse.StatusCode == 400 {
   852  			var v Error
   853  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   854  			if err != nil {
   855  				newErr.error = err.Error()
   856  				return localVarReturnValue, localVarHTTPResponse, newErr
   857  			}
   858  			newErr.model = v
   859  		}
   860  		return localVarReturnValue, localVarHTTPResponse, newErr
   861  	}
   862  
   863  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   864  	if err != nil {
   865  		newErr := GenericOpenAPIError{
   866  			body:  localVarBody,
   867  			error: err.Error(),
   868  		}
   869  		return localVarReturnValue, localVarHTTPResponse, newErr
   870  	}
   871  
   872  	return localVarReturnValue, localVarHTTPResponse, nil
   873  }
   874  
   875  // ValidateICLFileOpts Optional parameters for the method 'ValidateICLFile'
   876  type ValidateICLFileOpts struct {
   877  	XRequestID optional.String
   878  }
   879  
   880  /*
   881  ValidateICLFile Validate file
   882  Validates the existing file. You need only supply the unique File identifier that was returned upon creation.
   883    - @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   884    - @param fileID File ID
   885    - @param optional nil or *ValidateICLFileOpts - Optional Parameters:
   886    - @param "XRequestID" (optional.String) -  Optional Request ID allows application developer to trace requests through the system's logs
   887  
   888  @return IclFile
   889  */
   890  func (a *ImageCashLetterFilesApiService) ValidateICLFile(ctx _context.Context, fileID string, localVarOptionals *ValidateICLFileOpts) (IclFile, *_nethttp.Response, error) {
   891  	var (
   892  		localVarHTTPMethod   = _nethttp.MethodGet
   893  		localVarPostBody     interface{}
   894  		localVarFormFileName string
   895  		localVarFileName     string
   896  		localVarFileBytes    []byte
   897  		localVarReturnValue  IclFile
   898  	)
   899  
   900  	// create path and map variables
   901  	localVarPath := a.client.cfg.BasePath + "/files/{fileID}/validate"
   902  	localVarPath = strings.Replace(localVarPath, "{"+"fileID"+"}", _neturl.QueryEscape(parameterToString(fileID, "")), -1)
   903  
   904  	localVarHeaderParams := make(map[string]string)
   905  	localVarQueryParams := _neturl.Values{}
   906  	localVarFormParams := _neturl.Values{}
   907  
   908  	// to determine the Content-Type header
   909  	localVarHTTPContentTypes := []string{}
   910  
   911  	// set Content-Type header
   912  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   913  	if localVarHTTPContentType != "" {
   914  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   915  	}
   916  
   917  	// to determine the Accept header
   918  	localVarHTTPHeaderAccepts := []string{"application/json"}
   919  
   920  	// set Accept header
   921  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   922  	if localVarHTTPHeaderAccept != "" {
   923  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   924  	}
   925  	if localVarOptionals != nil && localVarOptionals.XRequestID.IsSet() {
   926  		localVarHeaderParams["X-Request-ID"] = parameterToString(localVarOptionals.XRequestID.Value(), "")
   927  	}
   928  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   929  	if err != nil {
   930  		return localVarReturnValue, nil, err
   931  	}
   932  
   933  	localVarHTTPResponse, err := a.client.callAPI(r)
   934  	if err != nil || localVarHTTPResponse == nil {
   935  		return localVarReturnValue, localVarHTTPResponse, err
   936  	}
   937  
   938  	localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
   939  	localVarHTTPResponse.Body.Close()
   940  	if err != nil {
   941  		return localVarReturnValue, localVarHTTPResponse, err
   942  	}
   943  
   944  	if localVarHTTPResponse.StatusCode >= 300 {
   945  		newErr := GenericOpenAPIError{
   946  			body:  localVarBody,
   947  			error: localVarHTTPResponse.Status,
   948  		}
   949  		return localVarReturnValue, localVarHTTPResponse, newErr
   950  	}
   951  
   952  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   953  	if err != nil {
   954  		newErr := GenericOpenAPIError{
   955  			body:  localVarBody,
   956  			error: err.Error(),
   957  		}
   958  		return localVarReturnValue, localVarHTTPResponse, newErr
   959  	}
   960  
   961  	return localVarReturnValue, localVarHTTPResponse, nil
   962  }