github.com/free5gc/openapi@v1.0.8/Nudm_SubscriberDataManagement/api_gpsi_to_supi_translation.go (about)

     1  /*
     2   * Nudm_SDM
     3   *
     4   * Nudm Subscriber Data Management Service
     5   *
     6   * API version: 2.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nudm_SubscriberDataManagement
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  
    20  	"github.com/antihax/optional"
    21  
    22  	"github.com/free5gc/openapi"
    23  	"github.com/free5gc/openapi/models"
    24  )
    25  
    26  // Linger please
    27  var (
    28  	_ context.Context
    29  )
    30  
    31  type GPSIToSUPITranslationApiService service
    32  
    33  /*
    34  GPSIToSUPITranslationApiService retrieve a UE's SUPI
    35   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    36   * @param gpsi Identifier of the UE
    37   * @param optional nil or *GetIdTranslationResultParamOpts - Optional Parameters:
    38   * @param "SupportedFeatures" (optional.String) -  Supported Features
    39   * @param "IfNoneMatch" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.2
    40   * @param "IfModifiedSince" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.3
    41  @return models.IdTranslationResult
    42  */
    43  
    44  type GetIdTranslationResultParamOpts struct {
    45  	SupportedFeatures optional.String
    46  	IfNoneMatch       optional.String
    47  	IfModifiedSince   optional.String
    48  }
    49  
    50  func (a *GPSIToSUPITranslationApiService) GetIdTranslationResult(ctx context.Context, gpsi string, localVarOptionals *GetIdTranslationResultParamOpts) (models.IdTranslationResult, *http.Response, error) {
    51  	var (
    52  		localVarHTTPMethod   = strings.ToUpper("Get")
    53  		localVarPostBody     interface{}
    54  		localVarFormFileName string
    55  		localVarFileName     string
    56  		localVarFileBytes    []byte
    57  		localVarReturnValue  models.IdTranslationResult
    58  	)
    59  
    60  	// create path and map variables
    61  	localVarPath := a.client.cfg.BasePath() + "/{gpsi}/id-translation-result"
    62  	localVarPath = strings.Replace(localVarPath, "{"+"gpsi"+"}", fmt.Sprintf("%v", gpsi), -1)
    63  
    64  	localVarHeaderParams := make(map[string]string)
    65  	localVarQueryParams := url.Values{}
    66  	localVarFormParams := url.Values{}
    67  
    68  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    69  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    70  	}
    71  
    72  	localVarHTTPContentTypes := []string{"application/json"}
    73  
    74  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    75  
    76  	// to determine the Accept header
    77  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    78  
    79  	// set Accept header
    80  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    81  	if localVarHTTPHeaderAccept != "" {
    82  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    83  	}
    84  
    85  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() && localVarOptionals.IfNoneMatch.Value() != "" {
    86  		localVarHeaderParams["If-None-Match"] = openapi.ParameterToString(localVarOptionals.IfNoneMatch.Value(), "")
    87  	}
    88  	if localVarOptionals != nil && localVarOptionals.IfModifiedSince.IsSet() && localVarOptionals.IfModifiedSince.Value() != "" {
    89  		localVarHeaderParams["If-Modified-Since"] = openapi.ParameterToString(localVarOptionals.IfModifiedSince.Value(), "")
    90  	}
    91  
    92  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    93  	if err != nil {
    94  		return localVarReturnValue, nil, err
    95  	}
    96  
    97  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    98  	if err != nil || localVarHTTPResponse == nil {
    99  		return localVarReturnValue, localVarHTTPResponse, err
   100  	}
   101  
   102  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   103  	localVarHTTPResponse.Body.Close()
   104  	if err != nil {
   105  		return localVarReturnValue, localVarHTTPResponse, err
   106  	}
   107  
   108  	apiError := openapi.GenericOpenAPIError{
   109  		RawBody:     localVarBody,
   110  		ErrorStatus: localVarHTTPResponse.Status,
   111  	}
   112  
   113  	switch localVarHTTPResponse.StatusCode {
   114  	case 200:
   115  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   116  		if err != nil {
   117  			apiError.ErrorStatus = err.Error()
   118  		}
   119  		return localVarReturnValue, localVarHTTPResponse, nil
   120  	case 400:
   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 404:
   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 500:
   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 503:
   148  		var v models.ProblemDetails
   149  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   150  		if err != nil {
   151  			apiError.ErrorStatus = err.Error()
   152  			return localVarReturnValue, localVarHTTPResponse, apiError
   153  		}
   154  		apiError.ErrorModel = v
   155  		return localVarReturnValue, localVarHTTPResponse, apiError
   156  	default:
   157  		return localVarReturnValue, localVarHTTPResponse, nil
   158  	}
   159  }