bunnyshell.com/sdk@v0.16.0/api_project.go (about)

     1  /*
     2  API Bunnyshell Environments
     3  
     4  Interact with Bunnyshell Platform
     5  
     6  API version: 1.1.0
     7  Contact: osi+support@bunnyshell.com
     8  */
     9  
    10  // Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
    11  
    12  package sdk
    13  
    14  import (
    15  	"bytes"
    16  	"context"
    17  	"io"
    18  	"net/http"
    19  	"net/url"
    20  	"strings"
    21  )
    22  
    23  // ProjectAPIService ProjectAPI service
    24  type ProjectAPIService service
    25  
    26  type ApiProjectCreateRequest struct {
    27  	ctx                 context.Context
    28  	ApiService          *ProjectAPIService
    29  	projectCreateAction *ProjectCreateAction
    30  }
    31  
    32  // The new project resource
    33  func (r ApiProjectCreateRequest) ProjectCreateAction(projectCreateAction ProjectCreateAction) ApiProjectCreateRequest {
    34  	r.projectCreateAction = &projectCreateAction
    35  	return r
    36  }
    37  
    38  func (r ApiProjectCreateRequest) Execute() (*ProjectItem, *http.Response, error) {
    39  	return r.ApiService.ProjectCreateExecute(r)
    40  }
    41  
    42  /*
    43  ProjectCreate Creates new project.
    44  
    45  Creates new project.
    46  
    47  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    48  	@return ApiProjectCreateRequest
    49  */
    50  func (a *ProjectAPIService) ProjectCreate(ctx context.Context) ApiProjectCreateRequest {
    51  	return ApiProjectCreateRequest{
    52  		ApiService: a,
    53  		ctx:        ctx,
    54  	}
    55  }
    56  
    57  // Execute executes the request
    58  //
    59  //	@return ProjectItem
    60  func (a *ProjectAPIService) ProjectCreateExecute(r ApiProjectCreateRequest) (*ProjectItem, *http.Response, error) {
    61  	var (
    62  		localVarHTTPMethod  = http.MethodPost
    63  		localVarPostBody    interface{}
    64  		formFiles           []formFile
    65  		localVarReturnValue *ProjectItem
    66  	)
    67  
    68  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectCreate")
    69  	if err != nil {
    70  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
    71  	}
    72  
    73  	localVarPath := localBasePath + "/v1/projects"
    74  
    75  	localVarHeaderParams := make(map[string]string)
    76  	localVarQueryParams := url.Values{}
    77  	localVarFormParams := url.Values{}
    78  	if r.projectCreateAction == nil {
    79  		return localVarReturnValue, nil, reportError("projectCreateAction is required and must be specified")
    80  	}
    81  
    82  	// to determine the Content-Type header
    83  	localVarHTTPContentTypes := []string{"application/json"}
    84  
    85  	// set Content-Type header
    86  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
    87  	if localVarHTTPContentType != "" {
    88  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
    89  	}
    90  
    91  	// to determine the Accept header
    92  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
    93  
    94  	// set Accept header
    95  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
    96  	if localVarHTTPHeaderAccept != "" {
    97  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    98  	}
    99  	// body params
   100  	localVarPostBody = r.projectCreateAction
   101  	if r.ctx != nil {
   102  		// API Key Authentication
   103  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   104  			if apiKey, ok := auth["JWT"]; ok {
   105  				var key string
   106  				if apiKey.Prefix != "" {
   107  					key = apiKey.Prefix + " " + apiKey.Key
   108  				} else {
   109  					key = apiKey.Key
   110  				}
   111  				localVarHeaderParams["Authorization"] = key
   112  			}
   113  		}
   114  	}
   115  	if r.ctx != nil {
   116  		// API Key Authentication
   117  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   118  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   119  				var key string
   120  				if apiKey.Prefix != "" {
   121  					key = apiKey.Prefix + " " + apiKey.Key
   122  				} else {
   123  					key = apiKey.Key
   124  				}
   125  				localVarHeaderParams["X-Auth-Token"] = key
   126  			}
   127  		}
   128  	}
   129  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   130  	if err != nil {
   131  		return localVarReturnValue, nil, err
   132  	}
   133  
   134  	localVarHTTPResponse, err := a.client.callAPI(req)
   135  	if err != nil || localVarHTTPResponse == nil {
   136  		return localVarReturnValue, localVarHTTPResponse, err
   137  	}
   138  
   139  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   140  	localVarHTTPResponse.Body.Close()
   141  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   142  	if err != nil {
   143  		return localVarReturnValue, localVarHTTPResponse, err
   144  	}
   145  
   146  	if localVarHTTPResponse.StatusCode >= 300 {
   147  		newErr := &GenericOpenAPIError{
   148  			body:  localVarBody,
   149  			error: localVarHTTPResponse.Status,
   150  		}
   151  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   152  			var v ProblemGeneric
   153  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   154  			if err != nil {
   155  				newErr.error = err.Error()
   156  				return localVarReturnValue, localVarHTTPResponse, newErr
   157  			}
   158  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   159  			newErr.model = v
   160  		}
   161  		return localVarReturnValue, localVarHTTPResponse, newErr
   162  	}
   163  
   164  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   165  	if err != nil {
   166  		newErr := &GenericOpenAPIError{
   167  			body:  localVarBody,
   168  			error: err.Error(),
   169  		}
   170  		return localVarReturnValue, localVarHTTPResponse, newErr
   171  	}
   172  
   173  	return localVarReturnValue, localVarHTTPResponse, nil
   174  }
   175  
   176  type ApiProjectDeleteRequest struct {
   177  	ctx        context.Context
   178  	ApiService *ProjectAPIService
   179  	id         string
   180  	body       *interface{}
   181  }
   182  
   183  // No Request Body
   184  func (r ApiProjectDeleteRequest) Body(body interface{}) ApiProjectDeleteRequest {
   185  	r.body = &body
   186  	return r
   187  }
   188  
   189  func (r ApiProjectDeleteRequest) Execute() (*http.Response, error) {
   190  	return r.ApiService.ProjectDeleteExecute(r)
   191  }
   192  
   193  /*
   194  ProjectDelete Delete a specific project.
   195  
   196  Delete a specific project.
   197  
   198  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   199  	@param id Resource identifier
   200  	@return ApiProjectDeleteRequest
   201  */
   202  func (a *ProjectAPIService) ProjectDelete(ctx context.Context, id string) ApiProjectDeleteRequest {
   203  	return ApiProjectDeleteRequest{
   204  		ApiService: a,
   205  		ctx:        ctx,
   206  		id:         id,
   207  	}
   208  }
   209  
   210  // Execute executes the request
   211  func (a *ProjectAPIService) ProjectDeleteExecute(r ApiProjectDeleteRequest) (*http.Response, error) {
   212  	var (
   213  		localVarHTTPMethod = http.MethodDelete
   214  		localVarPostBody   interface{}
   215  		formFiles          []formFile
   216  	)
   217  
   218  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectDelete")
   219  	if err != nil {
   220  		return nil, &GenericOpenAPIError{error: err.Error()}
   221  	}
   222  
   223  	localVarPath := localBasePath + "/v1/projects/{id}"
   224  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   225  
   226  	localVarHeaderParams := make(map[string]string)
   227  	localVarQueryParams := url.Values{}
   228  	localVarFormParams := url.Values{}
   229  
   230  	// to determine the Content-Type header
   231  	localVarHTTPContentTypes := []string{"application/json"}
   232  
   233  	// set Content-Type header
   234  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   235  	if localVarHTTPContentType != "" {
   236  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   237  	}
   238  
   239  	// to determine the Accept header
   240  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
   241  
   242  	// set Accept header
   243  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   244  	if localVarHTTPHeaderAccept != "" {
   245  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   246  	}
   247  	// body params
   248  	localVarPostBody = r.body
   249  	if r.ctx != nil {
   250  		// API Key Authentication
   251  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   252  			if apiKey, ok := auth["JWT"]; ok {
   253  				var key string
   254  				if apiKey.Prefix != "" {
   255  					key = apiKey.Prefix + " " + apiKey.Key
   256  				} else {
   257  					key = apiKey.Key
   258  				}
   259  				localVarHeaderParams["Authorization"] = key
   260  			}
   261  		}
   262  	}
   263  	if r.ctx != nil {
   264  		// API Key Authentication
   265  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   266  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   267  				var key string
   268  				if apiKey.Prefix != "" {
   269  					key = apiKey.Prefix + " " + apiKey.Key
   270  				} else {
   271  					key = apiKey.Key
   272  				}
   273  				localVarHeaderParams["X-Auth-Token"] = key
   274  			}
   275  		}
   276  	}
   277  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   278  	if err != nil {
   279  		return nil, err
   280  	}
   281  
   282  	localVarHTTPResponse, err := a.client.callAPI(req)
   283  	if err != nil || localVarHTTPResponse == nil {
   284  		return localVarHTTPResponse, err
   285  	}
   286  
   287  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   288  	localVarHTTPResponse.Body.Close()
   289  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   290  	if err != nil {
   291  		return localVarHTTPResponse, err
   292  	}
   293  
   294  	if localVarHTTPResponse.StatusCode >= 300 {
   295  		newErr := &GenericOpenAPIError{
   296  			body:  localVarBody,
   297  			error: localVarHTTPResponse.Status,
   298  		}
   299  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   300  			var v ProblemGeneric
   301  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   302  			if err != nil {
   303  				newErr.error = err.Error()
   304  				return localVarHTTPResponse, newErr
   305  			}
   306  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   307  			newErr.model = v
   308  		}
   309  		return localVarHTTPResponse, newErr
   310  	}
   311  
   312  	return localVarHTTPResponse, nil
   313  }
   314  
   315  type ApiProjectEditBuildSettingsRequest struct {
   316  	ctx                            context.Context
   317  	ApiService                     *ProjectAPIService
   318  	id                             string
   319  	projectEditBuildSettingsAction *ProjectEditBuildSettingsAction
   320  }
   321  
   322  // The updated project resource
   323  func (r ApiProjectEditBuildSettingsRequest) ProjectEditBuildSettingsAction(projectEditBuildSettingsAction ProjectEditBuildSettingsAction) ApiProjectEditBuildSettingsRequest {
   324  	r.projectEditBuildSettingsAction = &projectEditBuildSettingsAction
   325  	return r
   326  }
   327  
   328  func (r ApiProjectEditBuildSettingsRequest) Execute() (*ProjectItem, *http.Response, error) {
   329  	return r.ApiService.ProjectEditBuildSettingsExecute(r)
   330  }
   331  
   332  /*
   333  ProjectEditBuildSettings Edit the build settings of a project.
   334  
   335  Edit the build settings of a project.
   336  
   337  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   338  	@param id Resource identifier
   339  	@return ApiProjectEditBuildSettingsRequest
   340  */
   341  func (a *ProjectAPIService) ProjectEditBuildSettings(ctx context.Context, id string) ApiProjectEditBuildSettingsRequest {
   342  	return ApiProjectEditBuildSettingsRequest{
   343  		ApiService: a,
   344  		ctx:        ctx,
   345  		id:         id,
   346  	}
   347  }
   348  
   349  // Execute executes the request
   350  //
   351  //	@return ProjectItem
   352  func (a *ProjectAPIService) ProjectEditBuildSettingsExecute(r ApiProjectEditBuildSettingsRequest) (*ProjectItem, *http.Response, error) {
   353  	var (
   354  		localVarHTTPMethod  = http.MethodPatch
   355  		localVarPostBody    interface{}
   356  		formFiles           []formFile
   357  		localVarReturnValue *ProjectItem
   358  	)
   359  
   360  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectEditBuildSettings")
   361  	if err != nil {
   362  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   363  	}
   364  
   365  	localVarPath := localBasePath + "/v1/projects/{id}/build-settings"
   366  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   367  
   368  	localVarHeaderParams := make(map[string]string)
   369  	localVarQueryParams := url.Values{}
   370  	localVarFormParams := url.Values{}
   371  	if r.projectEditBuildSettingsAction == nil {
   372  		return localVarReturnValue, nil, reportError("projectEditBuildSettingsAction is required and must be specified")
   373  	}
   374  
   375  	// to determine the Content-Type header
   376  	localVarHTTPContentTypes := []string{"application/json"}
   377  
   378  	// set Content-Type header
   379  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   380  	if localVarHTTPContentType != "" {
   381  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   382  	}
   383  
   384  	// to determine the Accept header
   385  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   386  
   387  	// set Accept header
   388  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   389  	if localVarHTTPHeaderAccept != "" {
   390  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   391  	}
   392  	// body params
   393  	localVarPostBody = r.projectEditBuildSettingsAction
   394  	if r.ctx != nil {
   395  		// API Key Authentication
   396  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   397  			if apiKey, ok := auth["JWT"]; ok {
   398  				var key string
   399  				if apiKey.Prefix != "" {
   400  					key = apiKey.Prefix + " " + apiKey.Key
   401  				} else {
   402  					key = apiKey.Key
   403  				}
   404  				localVarHeaderParams["Authorization"] = key
   405  			}
   406  		}
   407  	}
   408  	if r.ctx != nil {
   409  		// API Key Authentication
   410  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   411  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   412  				var key string
   413  				if apiKey.Prefix != "" {
   414  					key = apiKey.Prefix + " " + apiKey.Key
   415  				} else {
   416  					key = apiKey.Key
   417  				}
   418  				localVarHeaderParams["X-Auth-Token"] = key
   419  			}
   420  		}
   421  	}
   422  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   423  	if err != nil {
   424  		return localVarReturnValue, nil, err
   425  	}
   426  
   427  	localVarHTTPResponse, err := a.client.callAPI(req)
   428  	if err != nil || localVarHTTPResponse == nil {
   429  		return localVarReturnValue, localVarHTTPResponse, err
   430  	}
   431  
   432  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   433  	localVarHTTPResponse.Body.Close()
   434  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   435  	if err != nil {
   436  		return localVarReturnValue, localVarHTTPResponse, err
   437  	}
   438  
   439  	if localVarHTTPResponse.StatusCode >= 300 {
   440  		newErr := &GenericOpenAPIError{
   441  			body:  localVarBody,
   442  			error: localVarHTTPResponse.Status,
   443  		}
   444  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   445  			var v ProblemGeneric
   446  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   447  			if err != nil {
   448  				newErr.error = err.Error()
   449  				return localVarReturnValue, localVarHTTPResponse, newErr
   450  			}
   451  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   452  			newErr.model = v
   453  		}
   454  		return localVarReturnValue, localVarHTTPResponse, newErr
   455  	}
   456  
   457  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   458  	if err != nil {
   459  		newErr := &GenericOpenAPIError{
   460  			body:  localVarBody,
   461  			error: err.Error(),
   462  		}
   463  		return localVarReturnValue, localVarHTTPResponse, newErr
   464  	}
   465  
   466  	return localVarReturnValue, localVarHTTPResponse, nil
   467  }
   468  
   469  type ApiProjectEditSettingsRequest struct {
   470  	ctx                       context.Context
   471  	ApiService                *ProjectAPIService
   472  	id                        string
   473  	projectEditSettingsAction *ProjectEditSettingsAction
   474  }
   475  
   476  // The updated project resource
   477  func (r ApiProjectEditSettingsRequest) ProjectEditSettingsAction(projectEditSettingsAction ProjectEditSettingsAction) ApiProjectEditSettingsRequest {
   478  	r.projectEditSettingsAction = &projectEditSettingsAction
   479  	return r
   480  }
   481  
   482  func (r ApiProjectEditSettingsRequest) Execute() (*ProjectItem, *http.Response, error) {
   483  	return r.ApiService.ProjectEditSettingsExecute(r)
   484  }
   485  
   486  /*
   487  ProjectEditSettings Edit a project.
   488  
   489  Edit a project.
   490  
   491  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   492  	@param id Resource identifier
   493  	@return ApiProjectEditSettingsRequest
   494  */
   495  func (a *ProjectAPIService) ProjectEditSettings(ctx context.Context, id string) ApiProjectEditSettingsRequest {
   496  	return ApiProjectEditSettingsRequest{
   497  		ApiService: a,
   498  		ctx:        ctx,
   499  		id:         id,
   500  	}
   501  }
   502  
   503  // Execute executes the request
   504  //
   505  //	@return ProjectItem
   506  func (a *ProjectAPIService) ProjectEditSettingsExecute(r ApiProjectEditSettingsRequest) (*ProjectItem, *http.Response, error) {
   507  	var (
   508  		localVarHTTPMethod  = http.MethodPatch
   509  		localVarPostBody    interface{}
   510  		formFiles           []formFile
   511  		localVarReturnValue *ProjectItem
   512  	)
   513  
   514  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectEditSettings")
   515  	if err != nil {
   516  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   517  	}
   518  
   519  	localVarPath := localBasePath + "/v1/projects/{id}/settings"
   520  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   521  
   522  	localVarHeaderParams := make(map[string]string)
   523  	localVarQueryParams := url.Values{}
   524  	localVarFormParams := url.Values{}
   525  	if r.projectEditSettingsAction == nil {
   526  		return localVarReturnValue, nil, reportError("projectEditSettingsAction is required and must be specified")
   527  	}
   528  
   529  	// to determine the Content-Type header
   530  	localVarHTTPContentTypes := []string{"application/json"}
   531  
   532  	// set Content-Type header
   533  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   534  	if localVarHTTPContentType != "" {
   535  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   536  	}
   537  
   538  	// to determine the Accept header
   539  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   540  
   541  	// set Accept header
   542  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   543  	if localVarHTTPHeaderAccept != "" {
   544  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   545  	}
   546  	// body params
   547  	localVarPostBody = r.projectEditSettingsAction
   548  	if r.ctx != nil {
   549  		// API Key Authentication
   550  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   551  			if apiKey, ok := auth["JWT"]; ok {
   552  				var key string
   553  				if apiKey.Prefix != "" {
   554  					key = apiKey.Prefix + " " + apiKey.Key
   555  				} else {
   556  					key = apiKey.Key
   557  				}
   558  				localVarHeaderParams["Authorization"] = key
   559  			}
   560  		}
   561  	}
   562  	if r.ctx != nil {
   563  		// API Key Authentication
   564  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   565  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   566  				var key string
   567  				if apiKey.Prefix != "" {
   568  					key = apiKey.Prefix + " " + apiKey.Key
   569  				} else {
   570  					key = apiKey.Key
   571  				}
   572  				localVarHeaderParams["X-Auth-Token"] = key
   573  			}
   574  		}
   575  	}
   576  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   577  	if err != nil {
   578  		return localVarReturnValue, nil, err
   579  	}
   580  
   581  	localVarHTTPResponse, err := a.client.callAPI(req)
   582  	if err != nil || localVarHTTPResponse == nil {
   583  		return localVarReturnValue, localVarHTTPResponse, err
   584  	}
   585  
   586  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   587  	localVarHTTPResponse.Body.Close()
   588  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   589  	if err != nil {
   590  		return localVarReturnValue, localVarHTTPResponse, err
   591  	}
   592  
   593  	if localVarHTTPResponse.StatusCode >= 300 {
   594  		newErr := &GenericOpenAPIError{
   595  			body:  localVarBody,
   596  			error: localVarHTTPResponse.Status,
   597  		}
   598  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   599  			var v ProblemGeneric
   600  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   601  			if err != nil {
   602  				newErr.error = err.Error()
   603  				return localVarReturnValue, localVarHTTPResponse, newErr
   604  			}
   605  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   606  			newErr.model = v
   607  		}
   608  		return localVarReturnValue, localVarHTTPResponse, newErr
   609  	}
   610  
   611  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   612  	if err != nil {
   613  		newErr := &GenericOpenAPIError{
   614  			body:  localVarBody,
   615  			error: err.Error(),
   616  		}
   617  		return localVarReturnValue, localVarHTTPResponse, newErr
   618  	}
   619  
   620  	return localVarReturnValue, localVarHTTPResponse, nil
   621  }
   622  
   623  type ApiProjectListRequest struct {
   624  	ctx          context.Context
   625  	ApiService   *ProjectAPIService
   626  	page         *int32
   627  	organization *string
   628  	search       *string
   629  	labels       *map[string]string
   630  }
   631  
   632  // The collection page number
   633  func (r ApiProjectListRequest) Page(page int32) ApiProjectListRequest {
   634  	r.page = &page
   635  	return r
   636  }
   637  
   638  // Filter by organization
   639  func (r ApiProjectListRequest) Organization(organization string) ApiProjectListRequest {
   640  	r.organization = &organization
   641  	return r
   642  }
   643  
   644  // Filter by search
   645  func (r ApiProjectListRequest) Search(search string) ApiProjectListRequest {
   646  	r.search = &search
   647  	return r
   648  }
   649  
   650  // Filter by label key-value pair.
   651  func (r ApiProjectListRequest) Labels(labels map[string]string) ApiProjectListRequest {
   652  	r.labels = &labels
   653  	return r
   654  }
   655  
   656  func (r ApiProjectListRequest) Execute() (*PaginatedProjectCollection, *http.Response, error) {
   657  	return r.ApiService.ProjectListExecute(r)
   658  }
   659  
   660  /*
   661  ProjectList List projects matching any selected filters.
   662  
   663  List projects matching any selected filters.
   664  
   665  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   666  	@return ApiProjectListRequest
   667  */
   668  func (a *ProjectAPIService) ProjectList(ctx context.Context) ApiProjectListRequest {
   669  	return ApiProjectListRequest{
   670  		ApiService: a,
   671  		ctx:        ctx,
   672  	}
   673  }
   674  
   675  // Execute executes the request
   676  //
   677  //	@return PaginatedProjectCollection
   678  func (a *ProjectAPIService) ProjectListExecute(r ApiProjectListRequest) (*PaginatedProjectCollection, *http.Response, error) {
   679  	var (
   680  		localVarHTTPMethod  = http.MethodGet
   681  		localVarPostBody    interface{}
   682  		formFiles           []formFile
   683  		localVarReturnValue *PaginatedProjectCollection
   684  	)
   685  
   686  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectList")
   687  	if err != nil {
   688  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   689  	}
   690  
   691  	localVarPath := localBasePath + "/v1/projects"
   692  
   693  	localVarHeaderParams := make(map[string]string)
   694  	localVarQueryParams := url.Values{}
   695  	localVarFormParams := url.Values{}
   696  
   697  	if r.page != nil {
   698  		parameterAddToHeaderOrQuery(localVarQueryParams, "page", r.page, "")
   699  	} else {
   700  		var defaultValue int32 = 1
   701  		r.page = &defaultValue
   702  	}
   703  	if r.organization != nil {
   704  		parameterAddToHeaderOrQuery(localVarQueryParams, "organization", r.organization, "")
   705  	}
   706  	if r.search != nil {
   707  		parameterAddToHeaderOrQuery(localVarQueryParams, "search", r.search, "")
   708  	}
   709  	if r.labels != nil {
   710  		parameterAddToHeaderOrQuery(localVarQueryParams, "labels", r.labels, "")
   711  	}
   712  	// to determine the Content-Type header
   713  	localVarHTTPContentTypes := []string{}
   714  
   715  	// set Content-Type header
   716  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   717  	if localVarHTTPContentType != "" {
   718  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   719  	}
   720  
   721  	// to determine the Accept header
   722  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   723  
   724  	// set Accept header
   725  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   726  	if localVarHTTPHeaderAccept != "" {
   727  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   728  	}
   729  	if r.ctx != nil {
   730  		// API Key Authentication
   731  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   732  			if apiKey, ok := auth["JWT"]; ok {
   733  				var key string
   734  				if apiKey.Prefix != "" {
   735  					key = apiKey.Prefix + " " + apiKey.Key
   736  				} else {
   737  					key = apiKey.Key
   738  				}
   739  				localVarHeaderParams["Authorization"] = key
   740  			}
   741  		}
   742  	}
   743  	if r.ctx != nil {
   744  		// API Key Authentication
   745  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   746  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   747  				var key string
   748  				if apiKey.Prefix != "" {
   749  					key = apiKey.Prefix + " " + apiKey.Key
   750  				} else {
   751  					key = apiKey.Key
   752  				}
   753  				localVarHeaderParams["X-Auth-Token"] = key
   754  			}
   755  		}
   756  	}
   757  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   758  	if err != nil {
   759  		return localVarReturnValue, nil, err
   760  	}
   761  
   762  	localVarHTTPResponse, err := a.client.callAPI(req)
   763  	if err != nil || localVarHTTPResponse == nil {
   764  		return localVarReturnValue, localVarHTTPResponse, err
   765  	}
   766  
   767  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   768  	localVarHTTPResponse.Body.Close()
   769  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   770  	if err != nil {
   771  		return localVarReturnValue, localVarHTTPResponse, err
   772  	}
   773  
   774  	if localVarHTTPResponse.StatusCode >= 300 {
   775  		newErr := &GenericOpenAPIError{
   776  			body:  localVarBody,
   777  			error: localVarHTTPResponse.Status,
   778  		}
   779  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   780  			var v ProblemGeneric
   781  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   782  			if err != nil {
   783  				newErr.error = err.Error()
   784  				return localVarReturnValue, localVarHTTPResponse, newErr
   785  			}
   786  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   787  			newErr.model = v
   788  		}
   789  		return localVarReturnValue, localVarHTTPResponse, newErr
   790  	}
   791  
   792  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   793  	if err != nil {
   794  		newErr := &GenericOpenAPIError{
   795  			body:  localVarBody,
   796  			error: err.Error(),
   797  		}
   798  		return localVarReturnValue, localVarHTTPResponse, newErr
   799  	}
   800  
   801  	return localVarReturnValue, localVarHTTPResponse, nil
   802  }
   803  
   804  type ApiProjectViewRequest struct {
   805  	ctx        context.Context
   806  	ApiService *ProjectAPIService
   807  	id         string
   808  }
   809  
   810  func (r ApiProjectViewRequest) Execute() (*ProjectItem, *http.Response, error) {
   811  	return r.ApiService.ProjectViewExecute(r)
   812  }
   813  
   814  /*
   815  ProjectView View a specific project.
   816  
   817  View a specific project.
   818  
   819  	@param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   820  	@param id Resource identifier
   821  	@return ApiProjectViewRequest
   822  */
   823  func (a *ProjectAPIService) ProjectView(ctx context.Context, id string) ApiProjectViewRequest {
   824  	return ApiProjectViewRequest{
   825  		ApiService: a,
   826  		ctx:        ctx,
   827  		id:         id,
   828  	}
   829  }
   830  
   831  // Execute executes the request
   832  //
   833  //	@return ProjectItem
   834  func (a *ProjectAPIService) ProjectViewExecute(r ApiProjectViewRequest) (*ProjectItem, *http.Response, error) {
   835  	var (
   836  		localVarHTTPMethod  = http.MethodGet
   837  		localVarPostBody    interface{}
   838  		formFiles           []formFile
   839  		localVarReturnValue *ProjectItem
   840  	)
   841  
   842  	localBasePath, err := a.client.cfg.ServerURLWithContext(r.ctx, "ProjectAPIService.ProjectView")
   843  	if err != nil {
   844  		return localVarReturnValue, nil, &GenericOpenAPIError{error: err.Error()}
   845  	}
   846  
   847  	localVarPath := localBasePath + "/v1/projects/{id}"
   848  	localVarPath = strings.Replace(localVarPath, "{"+"id"+"}", url.PathEscape(parameterValueToString(r.id, "id")), -1)
   849  
   850  	localVarHeaderParams := make(map[string]string)
   851  	localVarQueryParams := url.Values{}
   852  	localVarFormParams := url.Values{}
   853  
   854  	// to determine the Content-Type header
   855  	localVarHTTPContentTypes := []string{}
   856  
   857  	// set Content-Type header
   858  	localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes)
   859  	if localVarHTTPContentType != "" {
   860  		localVarHeaderParams["Content-Type"] = localVarHTTPContentType
   861  	}
   862  
   863  	// to determine the Accept header
   864  	localVarHTTPHeaderAccepts := []string{"application/hal+json", "application/problem+json"}
   865  
   866  	// set Accept header
   867  	localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
   868  	if localVarHTTPHeaderAccept != "" {
   869  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   870  	}
   871  	if r.ctx != nil {
   872  		// API Key Authentication
   873  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   874  			if apiKey, ok := auth["JWT"]; ok {
   875  				var key string
   876  				if apiKey.Prefix != "" {
   877  					key = apiKey.Prefix + " " + apiKey.Key
   878  				} else {
   879  					key = apiKey.Key
   880  				}
   881  				localVarHeaderParams["Authorization"] = key
   882  			}
   883  		}
   884  	}
   885  	if r.ctx != nil {
   886  		// API Key Authentication
   887  		if auth, ok := r.ctx.Value(ContextAPIKeys).(map[string]APIKey); ok {
   888  			if apiKey, ok := auth["ApiKeyAuth"]; ok {
   889  				var key string
   890  				if apiKey.Prefix != "" {
   891  					key = apiKey.Prefix + " " + apiKey.Key
   892  				} else {
   893  					key = apiKey.Key
   894  				}
   895  				localVarHeaderParams["X-Auth-Token"] = key
   896  			}
   897  		}
   898  	}
   899  	req, err := a.client.prepareRequest(r.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, formFiles)
   900  	if err != nil {
   901  		return localVarReturnValue, nil, err
   902  	}
   903  
   904  	localVarHTTPResponse, err := a.client.callAPI(req)
   905  	if err != nil || localVarHTTPResponse == nil {
   906  		return localVarReturnValue, localVarHTTPResponse, err
   907  	}
   908  
   909  	localVarBody, err := io.ReadAll(localVarHTTPResponse.Body)
   910  	localVarHTTPResponse.Body.Close()
   911  	localVarHTTPResponse.Body = io.NopCloser(bytes.NewBuffer(localVarBody))
   912  	if err != nil {
   913  		return localVarReturnValue, localVarHTTPResponse, err
   914  	}
   915  
   916  	if localVarHTTPResponse.StatusCode >= 300 {
   917  		newErr := &GenericOpenAPIError{
   918  			body:  localVarBody,
   919  			error: localVarHTTPResponse.Status,
   920  		}
   921  		if localVarHTTPResponse.StatusCode >= 400 && localVarHTTPResponse.StatusCode < 500 {
   922  			var v ProblemGeneric
   923  			err = a.client.decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   924  			if err != nil {
   925  				newErr.error = err.Error()
   926  				return localVarReturnValue, localVarHTTPResponse, newErr
   927  			}
   928  			newErr.error = formatErrorMessage(localVarHTTPResponse.Status, &v)
   929  			newErr.model = v
   930  		}
   931  		return localVarReturnValue, localVarHTTPResponse, newErr
   932  	}
   933  
   934  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   935  	if err != nil {
   936  		newErr := &GenericOpenAPIError{
   937  			body:  localVarBody,
   938  			error: err.Error(),
   939  		}
   940  		return localVarReturnValue, localVarHTTPResponse, newErr
   941  	}
   942  
   943  	return localVarReturnValue, localVarHTTPResponse, nil
   944  }