github.com/antihax/goesi@v0.0.0-20240126031043-6c54d0cb7f95/esi/api_clones.go (about)

     1  /*
     2   * EVE Swagger Interface
     3   *
     4   * An OpenAPI for EVE Online
     5   *
     6   * OpenAPI spec version: 1.21
     7   *
     8   * Generated by: https://github.com/swagger-api/swagger-codegen.git
     9   *
    10   * Licensed under the Apache License, Version 2.0 (the "License");
    11   * you may not use this file except in compliance with the License.
    12   * You may obtain a copy of the License at
    13   *
    14   *      http://www.apache.org/licenses/LICENSE-2.0
    15   *
    16   * Unless required by applicable law or agreed to in writing, software
    17   * distributed under the License is distributed on an "AS IS" BASIS,
    18   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    19   * See the License for the specific language governing permissions and
    20   * limitations under the License.
    21   */
    22  
    23  package esi
    24  
    25  import (
    26  	"context"
    27  	"io/ioutil"
    28  	"net/http"
    29  	"net/url"
    30  	"strings"
    31  
    32  	"fmt"
    33  
    34  	"github.com/antihax/goesi/optional"
    35  )
    36  
    37  // Linger please
    38  var (
    39  	_ context.Context
    40  )
    41  
    42  type ClonesApiService service
    43  
    44  /*
    45  ClonesApiService Get clones
    46  A list of the character's clones  ---  This route is cached for up to 120 seconds
    47   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    48   * @param characterId An EVE character ID
    49   * @param optional nil or *GetCharactersCharacterIdClonesOpts - Optional Parameters:
    50       * @param "Datasource" (optional.String) -  The server name you would like data from
    51       * @param "IfNoneMatch" (optional.String) -  ETag from a previous request. A 304 will be returned if this matches the current ETag
    52       * @param "Token" (optional.String) -  Access token to use if unable to set a header
    53  
    54  @return GetCharactersCharacterIdClonesOk
    55  */
    56  
    57  type GetCharactersCharacterIdClonesOpts struct {
    58  	Datasource  optional.String
    59  	IfNoneMatch optional.String
    60  	Token       optional.String
    61  }
    62  
    63  func (a *ClonesApiService) GetCharactersCharacterIdClones(ctx context.Context, characterId int32, localVarOptionals *GetCharactersCharacterIdClonesOpts) (GetCharactersCharacterIdClonesOk, *http.Response, error) {
    64  	var (
    65  		localVarHttpMethod  = strings.ToUpper("Get")
    66  		localVarPostBody    interface{}
    67  		localVarFileName    string
    68  		localVarFileBytes   []byte
    69  		localVarReturnValue GetCharactersCharacterIdClonesOk
    70  	)
    71  
    72  	// create path and map variables
    73  	localVarPath := a.client.basePath + "/v3/characters/{character_id}/clones/"
    74  	localVarPath = strings.Replace(localVarPath, "{"+"character_id"+"}", fmt.Sprintf("%v", characterId), -1)
    75  
    76  	localVarHeaderParams := make(map[string]string)
    77  	localVarQueryParams := url.Values{}
    78  	localVarFormParams := url.Values{}
    79  	if characterId < 1 {
    80  		return localVarReturnValue, nil, reportError("characterId must be greater than 1")
    81  	}
    82  
    83  	if localVarOptionals != nil && localVarOptionals.Datasource.IsSet() {
    84  		localVarQueryParams.Add("datasource", parameterToString(localVarOptionals.Datasource.Value(), ""))
    85  	}
    86  	if localVarOptionals != nil && localVarOptionals.Token.IsSet() {
    87  		localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), ""))
    88  	}
    89  	// to determine the Content-Type header
    90  	localVarHttpContentTypes := []string{"application/json"}
    91  
    92  	// set Content-Type header
    93  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    94  	if localVarHttpContentType != "" {
    95  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    96  	}
    97  
    98  	// to determine the Accept header
    99  	localVarHttpHeaderAccepts := []string{"application/json"}
   100  
   101  	// set Accept header
   102  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   103  	if localVarHttpHeaderAccept != "" {
   104  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   105  	}
   106  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() {
   107  		localVarHeaderParams["If-None-Match"] = parameterToString(localVarOptionals.IfNoneMatch.Value(), "")
   108  	}
   109  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   110  	if err != nil {
   111  		return localVarReturnValue, nil, err
   112  	}
   113  
   114  	localVarHttpResponse, err := a.client.callAPI(r)
   115  	if err != nil || localVarHttpResponse == nil {
   116  		return localVarReturnValue, localVarHttpResponse, err
   117  	}
   118  
   119  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   120  	localVarHttpResponse.Body.Close()
   121  	if err != nil {
   122  		return localVarReturnValue, localVarHttpResponse, err
   123  	}
   124  
   125  	if localVarHttpResponse.StatusCode < 400 {
   126  		// If we succeed, return the data, otherwise pass on to decode error.
   127  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   128  		if err == nil {
   129  			return localVarReturnValue, localVarHttpResponse, err
   130  		}
   131  	}
   132  
   133  	if localVarHttpResponse.StatusCode >= 400 {
   134  		newErr := GenericSwaggerError{
   135  			body:  localVarBody,
   136  			error: localVarHttpResponse.Status,
   137  		}
   138  
   139  		if localVarHttpResponse.StatusCode == 200 {
   140  			var v GetCharactersCharacterIdClonesOk
   141  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   142  			if err != nil {
   143  				newErr.error = err.Error()
   144  				return localVarReturnValue, localVarHttpResponse, newErr
   145  			}
   146  			newErr.model = v
   147  			return localVarReturnValue, localVarHttpResponse, newErr
   148  		}
   149  
   150  		if localVarHttpResponse.StatusCode == 400 {
   151  			var v BadRequest
   152  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   153  			if err != nil {
   154  				newErr.error = err.Error()
   155  				return localVarReturnValue, localVarHttpResponse, newErr
   156  			}
   157  			newErr.model = v
   158  			return localVarReturnValue, localVarHttpResponse, newErr
   159  		}
   160  
   161  		if localVarHttpResponse.StatusCode == 401 {
   162  			var v Unauthorized
   163  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   164  			if err != nil {
   165  				newErr.error = err.Error()
   166  				return localVarReturnValue, localVarHttpResponse, newErr
   167  			}
   168  			newErr.model = v
   169  			return localVarReturnValue, localVarHttpResponse, newErr
   170  		}
   171  
   172  		if localVarHttpResponse.StatusCode == 403 {
   173  			var v Forbidden
   174  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   175  			if err != nil {
   176  				newErr.error = err.Error()
   177  				return localVarReturnValue, localVarHttpResponse, newErr
   178  			}
   179  			newErr.model = v
   180  			return localVarReturnValue, localVarHttpResponse, newErr
   181  		}
   182  
   183  		if localVarHttpResponse.StatusCode == 420 {
   184  			var v ErrorLimited
   185  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   186  			if err != nil {
   187  				newErr.error = err.Error()
   188  				return localVarReturnValue, localVarHttpResponse, newErr
   189  			}
   190  			newErr.model = v
   191  			return localVarReturnValue, localVarHttpResponse, newErr
   192  		}
   193  
   194  		if localVarHttpResponse.StatusCode == 500 {
   195  			var v InternalServerError
   196  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   197  			if err != nil {
   198  				newErr.error = err.Error()
   199  				return localVarReturnValue, localVarHttpResponse, newErr
   200  			}
   201  			newErr.model = v
   202  			return localVarReturnValue, localVarHttpResponse, newErr
   203  		}
   204  
   205  		if localVarHttpResponse.StatusCode == 503 {
   206  			var v ServiceUnavailable
   207  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   208  			if err != nil {
   209  				newErr.error = err.Error()
   210  				return localVarReturnValue, localVarHttpResponse, newErr
   211  			}
   212  			newErr.model = v
   213  			return localVarReturnValue, localVarHttpResponse, newErr
   214  		}
   215  
   216  		if localVarHttpResponse.StatusCode == 504 {
   217  			var v GatewayTimeout
   218  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   219  			if err != nil {
   220  				newErr.error = err.Error()
   221  				return localVarReturnValue, localVarHttpResponse, newErr
   222  			}
   223  			newErr.model = v
   224  			return localVarReturnValue, localVarHttpResponse, newErr
   225  		}
   226  
   227  		return localVarReturnValue, localVarHttpResponse, newErr
   228  	}
   229  
   230  	return localVarReturnValue, localVarHttpResponse, nil
   231  }
   232  
   233  /*
   234  ClonesApiService Get active implants
   235  Return implants on the active clone of a character  ---  This route is cached for up to 120 seconds
   236   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   237   * @param characterId An EVE character ID
   238   * @param optional nil or *GetCharactersCharacterIdImplantsOpts - Optional Parameters:
   239       * @param "Datasource" (optional.String) -  The server name you would like data from
   240       * @param "IfNoneMatch" (optional.String) -  ETag from a previous request. A 304 will be returned if this matches the current ETag
   241       * @param "Token" (optional.String) -  Access token to use if unable to set a header
   242  
   243  @return []int32
   244  */
   245  
   246  type GetCharactersCharacterIdImplantsOpts struct {
   247  	Datasource  optional.String
   248  	IfNoneMatch optional.String
   249  	Token       optional.String
   250  }
   251  
   252  func (a *ClonesApiService) GetCharactersCharacterIdImplants(ctx context.Context, characterId int32, localVarOptionals *GetCharactersCharacterIdImplantsOpts) ([]int32, *http.Response, error) {
   253  	var (
   254  		localVarHttpMethod  = strings.ToUpper("Get")
   255  		localVarPostBody    interface{}
   256  		localVarFileName    string
   257  		localVarFileBytes   []byte
   258  		localVarReturnValue []int32
   259  	)
   260  
   261  	// create path and map variables
   262  	localVarPath := a.client.basePath + "/v1/characters/{character_id}/implants/"
   263  	localVarPath = strings.Replace(localVarPath, "{"+"character_id"+"}", fmt.Sprintf("%v", characterId), -1)
   264  
   265  	localVarHeaderParams := make(map[string]string)
   266  	localVarQueryParams := url.Values{}
   267  	localVarFormParams := url.Values{}
   268  	if characterId < 1 {
   269  		return localVarReturnValue, nil, reportError("characterId must be greater than 1")
   270  	}
   271  
   272  	if localVarOptionals != nil && localVarOptionals.Datasource.IsSet() {
   273  		localVarQueryParams.Add("datasource", parameterToString(localVarOptionals.Datasource.Value(), ""))
   274  	}
   275  	if localVarOptionals != nil && localVarOptionals.Token.IsSet() {
   276  		localVarQueryParams.Add("token", parameterToString(localVarOptionals.Token.Value(), ""))
   277  	}
   278  	// to determine the Content-Type header
   279  	localVarHttpContentTypes := []string{"application/json"}
   280  
   281  	// set Content-Type header
   282  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   283  	if localVarHttpContentType != "" {
   284  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   285  	}
   286  
   287  	// to determine the Accept header
   288  	localVarHttpHeaderAccepts := []string{"application/json"}
   289  
   290  	// set Accept header
   291  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   292  	if localVarHttpHeaderAccept != "" {
   293  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   294  	}
   295  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() {
   296  		localVarHeaderParams["If-None-Match"] = parameterToString(localVarOptionals.IfNoneMatch.Value(), "")
   297  	}
   298  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   299  	if err != nil {
   300  		return localVarReturnValue, nil, err
   301  	}
   302  
   303  	localVarHttpResponse, err := a.client.callAPI(r)
   304  	if err != nil || localVarHttpResponse == nil {
   305  		return localVarReturnValue, localVarHttpResponse, err
   306  	}
   307  
   308  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   309  	localVarHttpResponse.Body.Close()
   310  	if err != nil {
   311  		return localVarReturnValue, localVarHttpResponse, err
   312  	}
   313  
   314  	if localVarHttpResponse.StatusCode < 400 {
   315  		// If we succeed, return the data, otherwise pass on to decode error.
   316  		err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   317  		if err == nil {
   318  			return localVarReturnValue, localVarHttpResponse, err
   319  		}
   320  	}
   321  
   322  	if localVarHttpResponse.StatusCode >= 400 {
   323  		newErr := GenericSwaggerError{
   324  			body:  localVarBody,
   325  			error: localVarHttpResponse.Status,
   326  		}
   327  
   328  		if localVarHttpResponse.StatusCode == 200 {
   329  			var v []int32
   330  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   331  			if err != nil {
   332  				newErr.error = err.Error()
   333  				return localVarReturnValue, localVarHttpResponse, newErr
   334  			}
   335  			newErr.model = v
   336  			return localVarReturnValue, localVarHttpResponse, newErr
   337  		}
   338  
   339  		if localVarHttpResponse.StatusCode == 400 {
   340  			var v BadRequest
   341  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   342  			if err != nil {
   343  				newErr.error = err.Error()
   344  				return localVarReturnValue, localVarHttpResponse, newErr
   345  			}
   346  			newErr.model = v
   347  			return localVarReturnValue, localVarHttpResponse, newErr
   348  		}
   349  
   350  		if localVarHttpResponse.StatusCode == 401 {
   351  			var v Unauthorized
   352  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   353  			if err != nil {
   354  				newErr.error = err.Error()
   355  				return localVarReturnValue, localVarHttpResponse, newErr
   356  			}
   357  			newErr.model = v
   358  			return localVarReturnValue, localVarHttpResponse, newErr
   359  		}
   360  
   361  		if localVarHttpResponse.StatusCode == 403 {
   362  			var v Forbidden
   363  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   364  			if err != nil {
   365  				newErr.error = err.Error()
   366  				return localVarReturnValue, localVarHttpResponse, newErr
   367  			}
   368  			newErr.model = v
   369  			return localVarReturnValue, localVarHttpResponse, newErr
   370  		}
   371  
   372  		if localVarHttpResponse.StatusCode == 420 {
   373  			var v ErrorLimited
   374  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   375  			if err != nil {
   376  				newErr.error = err.Error()
   377  				return localVarReturnValue, localVarHttpResponse, newErr
   378  			}
   379  			newErr.model = v
   380  			return localVarReturnValue, localVarHttpResponse, newErr
   381  		}
   382  
   383  		if localVarHttpResponse.StatusCode == 500 {
   384  			var v InternalServerError
   385  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   386  			if err != nil {
   387  				newErr.error = err.Error()
   388  				return localVarReturnValue, localVarHttpResponse, newErr
   389  			}
   390  			newErr.model = v
   391  			return localVarReturnValue, localVarHttpResponse, newErr
   392  		}
   393  
   394  		if localVarHttpResponse.StatusCode == 503 {
   395  			var v ServiceUnavailable
   396  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   397  			if err != nil {
   398  				newErr.error = err.Error()
   399  				return localVarReturnValue, localVarHttpResponse, newErr
   400  			}
   401  			newErr.model = v
   402  			return localVarReturnValue, localVarHttpResponse, newErr
   403  		}
   404  
   405  		if localVarHttpResponse.StatusCode == 504 {
   406  			var v GatewayTimeout
   407  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("content-type"))
   408  			if err != nil {
   409  				newErr.error = err.Error()
   410  				return localVarReturnValue, localVarHttpResponse, newErr
   411  			}
   412  			newErr.model = v
   413  			return localVarReturnValue, localVarHttpResponse, newErr
   414  		}
   415  
   416  		return localVarReturnValue, localVarHttpResponse, newErr
   417  	}
   418  
   419  	return localVarReturnValue, localVarHttpResponse, nil
   420  }