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 }