github.com/free5gc/openapi@v1.0.8/Nudr_DataRepository/api_session_management_subscription_data.go (about)

     1  /*
     2   * Nudr_DataRepository API OpenAPI file
     3   *
     4   * Unified Data Repository Service
     5   *
     6   * API version: 1.0.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package Nudr_DataRepository
    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 SessionManagementSubscriptionDataApiService service
    32  
    33  /*
    34  SessionManagementSubscriptionDataApiService Retrieves the Session Management subscription data of a UE
    35   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    36   * @param ueId UE id
    37   * @param servingPlmnId PLMN ID
    38   * @param optional nil or *QuerySmDataParamOpts - Optional Parameters:
    39   * @param "SingleNssai" (optional.Interface of models.VarSnssai) -  single NSSAI
    40   * @param "Dnn" (optional.String) -  DNN
    41   * @param "Fields" (optional.Interface of []string) -  attributes to be retrieved
    42   * @param "SupportedFeatures" (optional.String) -  Supported Features
    43   * @param "IfNoneMatch" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.2
    44   * @param "IfModifiedSince" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.3
    45  @return []models.SessionManagementSubscriptionData
    46  */
    47  
    48  type QuerySmDataParamOpts struct {
    49  	SingleNssai       optional.Interface
    50  	Dnn               optional.String
    51  	Fields            optional.Interface
    52  	SupportedFeatures optional.String
    53  	IfNoneMatch       optional.String
    54  	IfModifiedSince   optional.String
    55  }
    56  
    57  func (a *SessionManagementSubscriptionDataApiService) QuerySmData(ctx context.Context, ueId string, servingPlmnId string, localVarOptionals *QuerySmDataParamOpts) ([]models.SessionManagementSubscriptionData, *http.Response, error) {
    58  	var (
    59  		localVarHTTPMethod   = strings.ToUpper("Get")
    60  		localVarPostBody     interface{}
    61  		localVarFormFileName string
    62  		localVarFileName     string
    63  		localVarFileBytes    []byte
    64  		localVarReturnValue  []models.SessionManagementSubscriptionData
    65  	)
    66  
    67  	// create path and map variables
    68  	localVarPath := a.client.cfg.BasePath() + "/subscription-data/{ueId}/{servingPlmnId}/provisioned-data/sm-data"
    69  	localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1)
    70  	localVarPath = strings.Replace(localVarPath, "{"+"servingPlmnId"+"}", fmt.Sprintf("%v", servingPlmnId), -1)
    71  
    72  	localVarHeaderParams := make(map[string]string)
    73  	localVarQueryParams := url.Values{}
    74  	localVarFormParams := url.Values{}
    75  
    76  	if localVarOptionals != nil && localVarOptionals.SingleNssai.IsSet() {
    77  		localVarQueryParams.Add("single-nssai", openapi.ParameterToString(localVarOptionals.SingleNssai.Value(), ""))
    78  	}
    79  	if localVarOptionals != nil && localVarOptionals.Dnn.IsSet() && localVarOptionals.Dnn.Value() != "" {
    80  		localVarQueryParams.Add("dnn", openapi.ParameterToString(localVarOptionals.Dnn.Value(), ""))
    81  	}
    82  	if localVarOptionals != nil && localVarOptionals.Fields.IsSet() {
    83  		localVarQueryParams.Add("fields", openapi.ParameterToString(localVarOptionals.Fields.Value(), "csv"))
    84  	}
    85  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    86  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    87  	}
    88  
    89  	localVarHTTPContentTypes := []string{"application/json"}
    90  
    91  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    92  
    93  	// to determine the Accept header
    94  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    95  
    96  	// set Accept header
    97  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    98  	if localVarHTTPHeaderAccept != "" {
    99  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   100  	}
   101  
   102  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() && localVarOptionals.IfNoneMatch.Value() != "" {
   103  		localVarHeaderParams["If-None-Match"] = openapi.ParameterToString(localVarOptionals.IfNoneMatch.Value(), "")
   104  	}
   105  	if localVarOptionals != nil && localVarOptionals.IfModifiedSince.IsSet() && localVarOptionals.IfModifiedSince.Value() != "" {
   106  		localVarHeaderParams["If-Modified-Since"] = openapi.ParameterToString(localVarOptionals.IfModifiedSince.Value(), "")
   107  	}
   108  
   109  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   110  	if err != nil {
   111  		return localVarReturnValue, nil, err
   112  	}
   113  
   114  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
   115  	if err != nil || localVarHTTPResponse == nil {
   116  		return localVarReturnValue, localVarHTTPResponse, err
   117  	}
   118  
   119  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   120  	localVarHTTPResponse.Body.Close()
   121  	if err != nil {
   122  		return localVarReturnValue, localVarHTTPResponse, err
   123  	}
   124  
   125  	apiError := openapi.GenericOpenAPIError{
   126  		RawBody:     localVarBody,
   127  		ErrorStatus: localVarHTTPResponse.Status,
   128  	}
   129  
   130  	switch localVarHTTPResponse.StatusCode {
   131  	case 200:
   132  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   133  		if err != nil {
   134  			apiError.ErrorStatus = err.Error()
   135  		}
   136  		return localVarReturnValue, localVarHTTPResponse, nil
   137  	default:
   138  		var v models.ProblemDetails
   139  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   140  		if err != nil {
   141  			apiError.ErrorStatus = err.Error()
   142  			return localVarReturnValue, localVarHTTPResponse, apiError
   143  		}
   144  		apiError.ErrorModel = v
   145  		return localVarReturnValue, localVarHTTPResponse, apiError
   146  	}
   147  }