github.com/free5gc/openapi@v1.0.8/Nudm_SubscriberDataManagement/api_retrieval_of_shared_data.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  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  	"strings"
    18  
    19  	"github.com/antihax/optional"
    20  
    21  	"github.com/free5gc/openapi"
    22  	"github.com/free5gc/openapi/models"
    23  )
    24  
    25  // Linger please
    26  var (
    27  	_ context.Context
    28  )
    29  
    30  type RetrievalOfSharedDataApiService service
    31  
    32  /*
    33  RetrievalOfSharedDataApiService retrieve shared data
    34   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    35   * @param sharedDataIds List of shared data ids
    36   * @param optional nil or *GetSharedDataParamOpts - Optional Parameters:
    37   * @param "SupportedFeatures" (optional.String) -  Supported Features
    38   * @param "IfNoneMatch" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.2
    39   * @param "IfModifiedSince" (optional.String) -  Validator for conditional requests, as described in RFC 7232, 3.3
    40  @return []models.SharedData
    41  */
    42  
    43  type GetSharedDataParamOpts struct {
    44  	SupportedFeatures optional.String
    45  	IfNoneMatch       optional.String
    46  	IfModifiedSince   optional.String
    47  }
    48  
    49  func (a *RetrievalOfSharedDataApiService) GetSharedData(ctx context.Context, sharedDataIds []string, localVarOptionals *GetSharedDataParamOpts) ([]models.SharedData, *http.Response, error) {
    50  	var (
    51  		localVarHTTPMethod   = strings.ToUpper("Get")
    52  		localVarPostBody     interface{}
    53  		localVarFormFileName string
    54  		localVarFileName     string
    55  		localVarFileBytes    []byte
    56  		localVarReturnValue  []models.SharedData
    57  	)
    58  
    59  	// create path and map variables
    60  	localVarPath := a.client.cfg.BasePath() + "/shared-data"
    61  
    62  	localVarHeaderParams := make(map[string]string)
    63  	localVarQueryParams := url.Values{}
    64  	localVarFormParams := url.Values{}
    65  
    66  	localVarQueryParams.Add("shared-data-ids", openapi.ParameterToString(sharedDataIds, "csv"))
    67  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
    68  		localVarQueryParams.Add("supportedFeatures", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
    69  	}
    70  
    71  	localVarHTTPContentTypes := []string{"application/json"}
    72  
    73  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    74  
    75  	// to determine the Accept header
    76  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
    77  
    78  	// set Accept header
    79  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    80  	if localVarHTTPHeaderAccept != "" {
    81  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    82  	}
    83  
    84  	if localVarOptionals != nil && localVarOptionals.IfNoneMatch.IsSet() && localVarOptionals.IfNoneMatch.Value() != "" {
    85  		localVarHeaderParams["If-None-Match"] = openapi.ParameterToString(localVarOptionals.IfNoneMatch.Value(), "")
    86  	}
    87  	if localVarOptionals != nil && localVarOptionals.IfModifiedSince.IsSet() && localVarOptionals.IfModifiedSince.Value() != "" {
    88  		localVarHeaderParams["If-Modified-Since"] = openapi.ParameterToString(localVarOptionals.IfModifiedSince.Value(), "")
    89  	}
    90  
    91  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    92  	if err != nil {
    93  		return localVarReturnValue, nil, err
    94  	}
    95  
    96  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    97  	if err != nil || localVarHTTPResponse == nil {
    98  		return localVarReturnValue, localVarHTTPResponse, err
    99  	}
   100  
   101  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   102  	localVarHTTPResponse.Body.Close()
   103  	if err != nil {
   104  		return localVarReturnValue, localVarHTTPResponse, err
   105  	}
   106  
   107  	apiError := openapi.GenericOpenAPIError{
   108  		RawBody:     localVarBody,
   109  		ErrorStatus: localVarHTTPResponse.Status,
   110  	}
   111  
   112  	switch localVarHTTPResponse.StatusCode {
   113  	case 200:
   114  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   115  		if err != nil {
   116  			apiError.ErrorStatus = err.Error()
   117  		}
   118  		return localVarReturnValue, localVarHTTPResponse, nil
   119  	case 400:
   120  		var v models.ProblemDetails
   121  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   122  		if err != nil {
   123  			apiError.ErrorStatus = err.Error()
   124  			return localVarReturnValue, localVarHTTPResponse, apiError
   125  		}
   126  		apiError.ErrorModel = v
   127  		return localVarReturnValue, localVarHTTPResponse, apiError
   128  	case 404:
   129  		var v models.ProblemDetails
   130  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   131  		if err != nil {
   132  			apiError.ErrorStatus = err.Error()
   133  			return localVarReturnValue, localVarHTTPResponse, apiError
   134  		}
   135  		apiError.ErrorModel = v
   136  		return localVarReturnValue, localVarHTTPResponse, apiError
   137  	case 500:
   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  	case 503:
   147  		var v models.ProblemDetails
   148  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   149  		if err != nil {
   150  			apiError.ErrorStatus = err.Error()
   151  			return localVarReturnValue, localVarHTTPResponse, apiError
   152  		}
   153  		apiError.ErrorModel = v
   154  		return localVarReturnValue, localVarHTTPResponse, apiError
   155  	default:
   156  		return localVarReturnValue, localVarHTTPResponse, nil
   157  	}
   158  }