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