github.com/free5gc/openapi@v1.0.8/Nudm_ParameterProvision/api_subscription_data_update.go (about)

     1  /*
     2   * Nudm_PP
     3   *
     4   * Nudm Parameter Provision Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nudm_ParameterProvision
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  
    20  	"github.com/free5gc/openapi"
    21  	"github.com/free5gc/openapi/models"
    22  )
    23  
    24  // Linger please
    25  var (
    26  	_ context.Context
    27  )
    28  
    29  type SubscriptionDataUpdateApiService service
    30  
    31  /*
    32  SubscriptionDataUpdateApiService provision parameters
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param gpsi Identifier of the UE
    35   * @param ppData
    36  */
    37  
    38  func (a *SubscriptionDataUpdateApiService) Update(ctx context.Context, gpsi string, ppData models.PpData) (*http.Response, error) {
    39  	var (
    40  		localVarHTTPMethod   = strings.ToUpper("Patch")
    41  		localVarPostBody     interface{}
    42  		localVarFormFileName string
    43  		localVarFileName     string
    44  		localVarFileBytes    []byte
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath() + "/{gpsi}/pp-data"
    49  	localVarPath = strings.Replace(localVarPath, "{"+"gpsi"+"}", fmt.Sprintf("%v", gpsi), -1)
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	localVarHTTPContentTypes := []string{"application/merge-patch+json"}
    56  
    57  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    58  
    59  	// to determine the Accept header
    60  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
    61  
    62  	// set Accept header
    63  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    64  	if localVarHTTPHeaderAccept != "" {
    65  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    66  	}
    67  
    68  	// body params
    69  	localVarPostBody = &ppData
    70  
    71  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    72  	if err != nil {
    73  		return nil, err
    74  	}
    75  
    76  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    77  	if err != nil || localVarHTTPResponse == nil {
    78  		return localVarHTTPResponse, err
    79  	}
    80  
    81  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    82  	localVarHTTPResponse.Body.Close()
    83  	if err != nil {
    84  		return localVarHTTPResponse, err
    85  	}
    86  
    87  	apiError := openapi.GenericOpenAPIError{
    88  		RawBody:     localVarBody,
    89  		ErrorStatus: localVarHTTPResponse.Status,
    90  	}
    91  
    92  	switch localVarHTTPResponse.StatusCode {
    93  	case 204:
    94  		return localVarHTTPResponse, nil
    95  	case 400:
    96  		var v models.ProblemDetails
    97  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
    98  		if err != nil {
    99  			apiError.ErrorStatus = err.Error()
   100  			return localVarHTTPResponse, apiError
   101  		}
   102  		apiError.ErrorModel = v
   103  		return localVarHTTPResponse, apiError
   104  	case 403:
   105  		var v models.ProblemDetails
   106  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   107  		if err != nil {
   108  			apiError.ErrorStatus = err.Error()
   109  			return localVarHTTPResponse, apiError
   110  		}
   111  		apiError.ErrorModel = v
   112  		return localVarHTTPResponse, apiError
   113  	case 404:
   114  		var v models.ProblemDetails
   115  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   116  		if err != nil {
   117  			apiError.ErrorStatus = err.Error()
   118  			return localVarHTTPResponse, apiError
   119  		}
   120  		apiError.ErrorModel = v
   121  		return localVarHTTPResponse, apiError
   122  	case 500:
   123  		var v models.ProblemDetails
   124  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   125  		if err != nil {
   126  			apiError.ErrorStatus = err.Error()
   127  			return localVarHTTPResponse, apiError
   128  		}
   129  		apiError.ErrorModel = v
   130  		return localVarHTTPResponse, apiError
   131  	case 503:
   132  		var v models.ProblemDetails
   133  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   134  		if err != nil {
   135  			apiError.ErrorStatus = err.Error()
   136  			return localVarHTTPResponse, apiError
   137  		}
   138  		apiError.ErrorModel = v
   139  		return localVarHTTPResponse, apiError
   140  	default:
   141  		return localVarHTTPResponse, nil
   142  	}
   143  }