github.com/free5gc/openapi@v1.0.8/Nnef_PFDmanagement/api_pfd_of_applications.go (about)

     1  /*
     2   * Nnef_PFDmanagement Sevice API
     3   *
     4   * Packet Flow Description Management Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nnef_PFDmanagement
    11  
    12  import (
    13  	"context"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/antihax/optional"
    20  
    21  	"github.com/free5gc/openapi"
    22  	"github.com/free5gc/openapi/models"
    23  )
    24  
    25  // Linger please
    26  var (
    27  	_ context.Context
    28  )
    29  
    30  type PFDOfApplicationsApiService service
    31  
    32  /*
    33  PFDOfApplicationsApiService Retrieve PFDs for all applications or for one or multiple applications with query parameter.
    34   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    35   * @param applicationIds The required application identifier(s) for the returned PFDs.
    36   * @param optional nil or *NnefPFDmanagementFetchAllParamOpts - Optional Parameters:
    37   * @param "SupportedFeatures" (optional.String) -  To filter irrelevant responses related to unsupported features
    38  @return []models.PfdDataForApp
    39  */
    40  
    41  type NnefPFDmanagementFetchAllParamOpts struct {
    42  	SupportedFeatures optional.String
    43  }
    44  
    45  func (a *PFDOfApplicationsApiService) NnefPFDmanagementFetchAll(ctx context.Context, applicationIds []string, localVarOptionals *NnefPFDmanagementFetchAllParamOpts) ([]models.PfdDataForApp, *http.Response, error) {
    46  	var (
    47  		localVarHTTPMethod   = strings.ToUpper("Get")
    48  		localVarPostBody     interface{}
    49  		localVarFormFileName string
    50  		localVarFileName     string
    51  		localVarFileBytes    []byte
    52  		localVarReturnValue  []models.PfdDataForApp
    53  	)
    54  
    55  	// create path and map variables
    56  	localVarPath := a.client.cfg.BasePath() + "/applications"
    57  
    58  	localVarHeaderParams := make(map[string]string)
    59  	localVarQueryParams := url.Values{}
    60  	localVarFormParams := url.Values{}
    61  	if len(applicationIds) < 1 {
    62  		return localVarReturnValue, nil, openapi.ReportError("applicationIds must have at least 1 elements")
    63  	}
    64  
    65  	localVarQueryParams.Add("application-ids", openapi.ParameterToString(applicationIds, "multi"))
    66  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    67  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    68  	}
    69  
    70  	localVarHTTPContentTypes := []string{"application/json"}
    71  
    72  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    73  
    74  	// to determine the Accept header
    75  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    76  
    77  	// set Accept header
    78  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    79  	if localVarHTTPHeaderAccept != "" {
    80  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    81  	}
    82  
    83  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    84  	if err != nil {
    85  		return localVarReturnValue, nil, err
    86  	}
    87  
    88  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    89  	if err != nil || localVarHTTPResponse == nil {
    90  		return localVarReturnValue, localVarHTTPResponse, err
    91  	}
    92  
    93  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    94  	localVarHTTPResponse.Body.Close()
    95  	if err != nil {
    96  		return localVarReturnValue, localVarHTTPResponse, err
    97  	}
    98  
    99  	apiError := openapi.GenericOpenAPIError{
   100  		RawBody:     localVarBody,
   101  		ErrorStatus: localVarHTTPResponse.Status,
   102  	}
   103  
   104  	switch localVarHTTPResponse.StatusCode {
   105  	case 200:
   106  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   107  		if err != nil {
   108  			apiError.ErrorStatus = err.Error()
   109  		}
   110  		return localVarReturnValue, localVarHTTPResponse, nil
   111  	case 400:
   112  		var v models.ProblemDetails
   113  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   114  		if err != nil {
   115  			apiError.ErrorStatus = err.Error()
   116  			return localVarReturnValue, localVarHTTPResponse, apiError
   117  		}
   118  		apiError.ErrorModel = v
   119  		return localVarReturnValue, localVarHTTPResponse, apiError
   120  	case 401:
   121  		var v models.ProblemDetails
   122  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   123  		if err != nil {
   124  			apiError.ErrorStatus = err.Error()
   125  			return localVarReturnValue, localVarHTTPResponse, apiError
   126  		}
   127  		apiError.ErrorModel = v
   128  		return localVarReturnValue, localVarHTTPResponse, apiError
   129  	case 403:
   130  		var v models.ProblemDetails
   131  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   132  		if err != nil {
   133  			apiError.ErrorStatus = err.Error()
   134  			return localVarReturnValue, localVarHTTPResponse, apiError
   135  		}
   136  		apiError.ErrorModel = v
   137  		return localVarReturnValue, localVarHTTPResponse, apiError
   138  	case 404:
   139  		var v models.ProblemDetails
   140  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   141  		if err != nil {
   142  			apiError.ErrorStatus = err.Error()
   143  			return localVarReturnValue, localVarHTTPResponse, apiError
   144  		}
   145  		apiError.ErrorModel = v
   146  		return localVarReturnValue, localVarHTTPResponse, apiError
   147  	case 406:
   148  		return localVarReturnValue, localVarHTTPResponse, nil
   149  	case 414:
   150  		var v models.ProblemDetails
   151  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   152  		if err != nil {
   153  			apiError.ErrorStatus = err.Error()
   154  			return localVarReturnValue, localVarHTTPResponse, apiError
   155  		}
   156  		apiError.ErrorModel = v
   157  		return localVarReturnValue, localVarHTTPResponse, apiError
   158  	case 429:
   159  		var v models.ProblemDetails
   160  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   161  		if err != nil {
   162  			apiError.ErrorStatus = err.Error()
   163  			return localVarReturnValue, localVarHTTPResponse, apiError
   164  		}
   165  		apiError.ErrorModel = v
   166  		return localVarReturnValue, localVarHTTPResponse, apiError
   167  	case 500:
   168  		var v models.ProblemDetails
   169  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   170  		if err != nil {
   171  			apiError.ErrorStatus = err.Error()
   172  			return localVarReturnValue, localVarHTTPResponse, apiError
   173  		}
   174  		apiError.ErrorModel = v
   175  		return localVarReturnValue, localVarHTTPResponse, apiError
   176  	case 503:
   177  		var v models.ProblemDetails
   178  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   179  		if err != nil {
   180  			apiError.ErrorStatus = err.Error()
   181  			return localVarReturnValue, localVarHTTPResponse, apiError
   182  		}
   183  		apiError.ErrorModel = v
   184  		return localVarReturnValue, localVarHTTPResponse, apiError
   185  	default:
   186  		return localVarReturnValue, localVarHTTPResponse, openapi.ReportError("%d is not a valid status code in NnefPFDmanagementFetchAll", localVarHTTPResponse.StatusCode)
   187  	}
   188  }