github.com/free5gc/openapi@v1.0.8/Nudm_SubscriberDataManagement/api_session_management_subscription_data_retrieval.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 SessionManagementSubscriptionDataRetrievalApiService service
    32  
    33  /*
    34  SessionManagementSubscriptionDataRetrievalApiService retrieve a UE's Session Management Subscription Data
    35   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    36   * @param supi Identifier of the UE
    37   * @param optional nil or *GetSmDataParamOpts - Optional Parameters:
    38   * @param "SupportedFeatures" (optional.String) -  Supported Features
    39   * @param "SingleNssai" (optional.Interface of models.Snssai) -
    40   * @param "Dnn" (optional.String) -
    41   * @param "PlmnId" (optional.Interface of models.PlmnId) -
    42   * @param "IfNoneMatch" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.2
    43   * @param "IfModifiedSince" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.3
    44  @return []models.SessionManagementSubscriptionData
    45  */
    46  
    47  type GetSmDataParamOpts struct {
    48  	SupportedFeatures optional.String
    49  	SingleNssai       optional.Interface
    50  	Dnn               optional.String
    51  	PlmnId            optional.Interface
    52  	IfNoneMatch       optional.String
    53  	IfModifiedSince   optional.String
    54  }
    55  
    56  func (a *SessionManagementSubscriptionDataRetrievalApiService) GetSmData(ctx context.Context, supi string, localVarOptionals *GetSmDataParamOpts) ([]models.SessionManagementSubscriptionData, *http.Response, error) {
    57  	var (
    58  		localVarHTTPMethod   = strings.ToUpper("Get")
    59  		localVarPostBody     interface{}
    60  		localVarFormFileName string
    61  		localVarFileName     string
    62  		localVarFileBytes    []byte
    63  		localVarReturnValue  []models.SessionManagementSubscriptionData
    64  	)
    65  
    66  	// create path and map variables
    67  	localVarPath := a.client.cfg.BasePath() + "/{supi}/sm-data"
    68  	localVarPath = strings.Replace(localVarPath, "{"+"supi"+"}", fmt.Sprintf("%v", supi), -1)
    69  
    70  	localVarHeaderParams := make(map[string]string)
    71  	localVarQueryParams := url.Values{}
    72  	localVarFormParams := url.Values{}
    73  
    74  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    75  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    76  	}
    77  	if localVarOptionals != nil && localVarOptionals.SingleNssai.IsSet() {
    78  		localVarQueryParams.Add("single-nssai", openapi.ParameterToString(localVarOptionals.SingleNssai.Value(), ""))
    79  	}
    80  	if localVarOptionals != nil && localVarOptionals.Dnn.IsSet() && localVarOptionals.Dnn.Value() != "" {
    81  		localVarQueryParams.Add("dnn", openapi.ParameterToString(localVarOptionals.Dnn.Value(), ""))
    82  	}
    83  	if localVarOptionals != nil && localVarOptionals.PlmnId.IsSet() {
    84  		localVarQueryParams.Add("plmn-id", openapi.ParameterToString(localVarOptionals.PlmnId.Value(), ""))
    85  	}
    86  
    87  	localVarHTTPContentTypes := []string{"application/json"}
    88  
    89  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    90  
    91  	// to determine the Accept header
    92  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    93  
    94  	// set Accept header
    95  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    96  	if localVarHTTPHeaderAccept != "" {
    97  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    98  	}
    99  
   100  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() && localVarOptionals.IfNoneMatch.Value() != "" {
   101  		localVarHeaderParams["If-None-Match"] = openapi.ParameterToString(localVarOptionals.IfNoneMatch.Value(), "")
   102  	}
   103  	if localVarOptionals != nil && localVarOptionals.IfModifiedSince.IsSet() && localVarOptionals.IfModifiedSince.Value() != "" {
   104  		localVarHeaderParams["If-Modified-Since"] = openapi.ParameterToString(localVarOptionals.IfModifiedSince.Value(), "")
   105  	}
   106  
   107  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   108  	if err != nil {
   109  		return localVarReturnValue, nil, err
   110  	}
   111  
   112  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
   113  	if err != nil || localVarHTTPResponse == nil {
   114  		return localVarReturnValue, localVarHTTPResponse, err
   115  	}
   116  
   117  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   118  	localVarHTTPResponse.Body.Close()
   119  	if err != nil {
   120  		return localVarReturnValue, localVarHTTPResponse, err
   121  	}
   122  
   123  	apiError := openapi.GenericOpenAPIError{
   124  		RawBody:     localVarBody,
   125  		ErrorStatus: localVarHTTPResponse.Status,
   126  	}
   127  
   128  	switch localVarHTTPResponse.StatusCode {
   129  	case 200:
   130  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   131  		if err != nil {
   132  			apiError.ErrorStatus = err.Error()
   133  		}
   134  		return localVarReturnValue, localVarHTTPResponse, nil
   135  	case 400:
   136  		var v models.ProblemDetails
   137  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   138  		if err != nil {
   139  			apiError.ErrorStatus = err.Error()
   140  			return localVarReturnValue, localVarHTTPResponse, apiError
   141  		}
   142  		apiError.ErrorModel = v
   143  		return localVarReturnValue, localVarHTTPResponse, apiError
   144  	case 404:
   145  		var v models.ProblemDetails
   146  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   147  		if err != nil {
   148  			apiError.ErrorStatus = err.Error()
   149  			return localVarReturnValue, localVarHTTPResponse, apiError
   150  		}
   151  		apiError.ErrorModel = v
   152  		return localVarReturnValue, localVarHTTPResponse, apiError
   153  	case 500:
   154  		var v models.ProblemDetails
   155  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   156  		if err != nil {
   157  			apiError.ErrorStatus = err.Error()
   158  			return localVarReturnValue, localVarHTTPResponse, apiError
   159  		}
   160  		apiError.ErrorModel = v
   161  		return localVarReturnValue, localVarHTTPResponse, apiError
   162  	case 503:
   163  		var v models.ProblemDetails
   164  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   165  		if err != nil {
   166  			apiError.ErrorStatus = err.Error()
   167  			return localVarReturnValue, localVarHTTPResponse, apiError
   168  		}
   169  		apiError.ErrorModel = v
   170  		return localVarReturnValue, localVarHTTPResponse, apiError
   171  	default:
   172  		return localVarReturnValue, localVarHTTPResponse, nil
   173  	}
   174  }