github.com/free5gc/openapi@v1.0.8/Nudr_DataRepository/api_smf_registration_document.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 SMFRegistrationDocumentApiService service
    32  
    33  /*
    34  SMFRegistrationDocumentApiService To create an individual SMF context data of a UE in the UDR
    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 pduSessionId PDU session id
    38   * @param optional nil or *CreateSmfContextNon3gppParamOpts - Optional Parameters:
    39   * @param "SmfRegistration" (optional.Interface of SmfRegistration) -
    40  */
    41  
    42  type CreateSmfContextNon3gppParamOpts struct {
    43  	SmfRegistration optional.Interface
    44  }
    45  
    46  func (a *SMFRegistrationDocumentApiService) CreateSmfContextNon3gpp(ctx context.Context, ueId string, pduSessionId int32, localVarOptionals *CreateSmfContextNon3gppParamOpts) (*http.Response, error) {
    47  	var (
    48  		localVarHTTPMethod   = strings.ToUpper("Put")
    49  		localVarPostBody     interface{}
    50  		localVarFormFileName string
    51  		localVarFileName     string
    52  		localVarFileBytes    []byte
    53  	)
    54  
    55  	// create path and map variables
    56  	localVarPath := a.client.cfg.BasePath() + "/subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}"
    57  	localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1)
    58  	localVarPath = strings.Replace(localVarPath, "{"+"pduSessionId"+"}", fmt.Sprintf("%v", pduSessionId), -1)
    59  
    60  	localVarHeaderParams := make(map[string]string)
    61  	localVarQueryParams := url.Values{}
    62  	localVarFormParams := url.Values{}
    63  
    64  	localVarHTTPContentTypes := []string{"application/json"}
    65  
    66  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
    67  
    68  	// to determine the Accept header
    69  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
    70  
    71  	// set Accept header
    72  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
    73  	if localVarHTTPHeaderAccept != "" {
    74  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
    75  	}
    76  
    77  	// body params
    78  	if localVarOptionals != nil && localVarOptionals.SmfRegistration.IsSet() {
    79  		localVarOptionalSmfRegistration, localVarOptionalSmfRegistrationok := localVarOptionals.SmfRegistration.Value().(models.SmfRegistration)
    80  		if !localVarOptionalSmfRegistrationok {
    81  			return nil, openapi.ReportError("smfRegistration should be SmfRegistration")
    82  		}
    83  		localVarPostBody = &localVarOptionalSmfRegistration
    84  	}
    85  
    86  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    87  	if err != nil {
    88  		return nil, err
    89  	}
    90  
    91  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
    92  	if err != nil || localVarHTTPResponse == nil {
    93  		return localVarHTTPResponse, err
    94  	}
    95  
    96  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
    97  	localVarHTTPResponse.Body.Close()
    98  	if err != nil {
    99  		return localVarHTTPResponse, err
   100  	}
   101  
   102  	apiError := openapi.GenericOpenAPIError{
   103  		RawBody:     localVarBody,
   104  		ErrorStatus: localVarHTTPResponse.Status,
   105  	}
   106  
   107  	switch localVarHTTPResponse.StatusCode {
   108  	case 201:
   109  		return localVarHTTPResponse, nil
   110  	default:
   111  		var v models.ProblemDetails
   112  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   113  		if err != nil {
   114  			apiError.ErrorStatus = err.Error()
   115  			return localVarHTTPResponse, apiError
   116  		}
   117  		apiError.ErrorModel = v
   118  		return localVarHTTPResponse, apiError
   119  	}
   120  }
   121  
   122  /*
   123  SMFRegistrationDocumentApiService To remove an individual SMF context data of a UE the UDR
   124   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   125   * @param ueId UE id
   126   * @param pduSessionId PDU session id
   127  */
   128  
   129  func (a *SMFRegistrationDocumentApiService) DeleteSmfContext(ctx context.Context, ueId string, pduSessionId string) (*http.Response, error) {
   130  	var (
   131  		localVarHTTPMethod   = strings.ToUpper("Delete")
   132  		localVarPostBody     interface{}
   133  		localVarFormFileName string
   134  		localVarFileName     string
   135  		localVarFileBytes    []byte
   136  	)
   137  
   138  	// create path and map variables
   139  	localVarPath := a.client.cfg.BasePath() + "/subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}"
   140  	localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1)
   141  	localVarPath = strings.Replace(localVarPath, "{"+"pduSessionId"+"}", fmt.Sprintf("%v", pduSessionId), -1)
   142  
   143  	localVarHeaderParams := make(map[string]string)
   144  	localVarQueryParams := url.Values{}
   145  	localVarFormParams := url.Values{}
   146  
   147  	localVarHTTPContentTypes := []string{"application/json"}
   148  
   149  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
   150  
   151  	// to determine the Accept header
   152  	localVarHTTPHeaderAccepts := []string{"application/problem+json"}
   153  
   154  	// set Accept header
   155  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
   156  	if localVarHTTPHeaderAccept != "" {
   157  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   158  	}
   159  
   160  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   161  	if err != nil {
   162  		return nil, err
   163  	}
   164  
   165  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
   166  	if err != nil || localVarHTTPResponse == nil {
   167  		return localVarHTTPResponse, err
   168  	}
   169  
   170  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   171  	localVarHTTPResponse.Body.Close()
   172  	if err != nil {
   173  		return localVarHTTPResponse, err
   174  	}
   175  
   176  	apiError := openapi.GenericOpenAPIError{
   177  		RawBody:     localVarBody,
   178  		ErrorStatus: localVarHTTPResponse.Status,
   179  	}
   180  
   181  	switch localVarHTTPResponse.StatusCode {
   182  	case 204:
   183  		return localVarHTTPResponse, nil
   184  	default:
   185  		var v models.ProblemDetails
   186  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   187  		if err != nil {
   188  			apiError.ErrorStatus = err.Error()
   189  			return localVarHTTPResponse, apiError
   190  		}
   191  		apiError.ErrorModel = v
   192  		return localVarHTTPResponse, apiError
   193  	}
   194  }
   195  
   196  /*
   197  SMFRegistrationDocumentApiService Retrieves the individual SMF registration of a UE
   198   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   199   * @param ueId UE id
   200   * @param pduSessionId PDU session id
   201   * @param optional nil or *QuerySmfRegistrationParamOpts - Optional Parameters:
   202   * @param "Fields" (optional.Interface of []string) -  attributes to be retrieved
   203   * @param "SupportedFeatures" (optional.String) -  Supported Features
   204  @return models.SmfRegistration
   205  */
   206  
   207  type QuerySmfRegistrationParamOpts struct {
   208  	Fields            optional.Interface
   209  	SupportedFeatures optional.String
   210  }
   211  
   212  func (a *SMFRegistrationDocumentApiService) QuerySmfRegistration(ctx context.Context, ueId string, pduSessionId string, localVarOptionals *QuerySmfRegistrationParamOpts) (models.SmfRegistration, *http.Response, error) {
   213  	var (
   214  		localVarHTTPMethod   = strings.ToUpper("Get")
   215  		localVarPostBody     interface{}
   216  		localVarFormFileName string
   217  		localVarFileName     string
   218  		localVarFileBytes    []byte
   219  		localVarReturnValue  models.SmfRegistration
   220  	)
   221  
   222  	// create path and map variables
   223  	localVarPath := a.client.cfg.BasePath() + "/subscription-data/{ueId}/context-data/smf-registrations/{pduSessionId}"
   224  	localVarPath = strings.Replace(localVarPath, "{"+"ueId"+"}", fmt.Sprintf("%v", ueId), -1)
   225  	localVarPath = strings.Replace(localVarPath, "{"+"pduSessionId"+"}", fmt.Sprintf("%v", pduSessionId), -1)
   226  
   227  	localVarHeaderParams := make(map[string]string)
   228  	localVarQueryParams := url.Values{}
   229  	localVarFormParams := url.Values{}
   230  
   231  	if localVarOptionals != nil && localVarOptionals.Fields.IsSet() {
   232  		localVarQueryParams.Add("fields", openapi.ParameterToString(localVarOptionals.Fields.Value(), "csv"))
   233  	}
   234  	if localVarOptionals != nil && localVarOptionals.SupportedFeatures.IsSet() && localVarOptionals.SupportedFeatures.Value() != "" {
   235  		localVarQueryParams.Add("supported-features", openapi.ParameterToString(localVarOptionals.SupportedFeatures.Value(), ""))
   236  	}
   237  
   238  	localVarHTTPContentTypes := []string{"application/json"}
   239  
   240  	localVarHeaderParams["Content-Type"] = localVarHTTPContentTypes[0] // use the first content type specified in 'consumes'
   241  
   242  	// to determine the Accept header
   243  	localVarHTTPHeaderAccepts := []string{"application/json", "application/problem+json"}
   244  
   245  	// set Accept header
   246  	localVarHTTPHeaderAccept := openapi.SelectHeaderAccept(localVarHTTPHeaderAccepts)
   247  	if localVarHTTPHeaderAccept != "" {
   248  		localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
   249  	}
   250  
   251  	r, err := openapi.PrepareRequest(ctx, a.client.cfg, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   252  	if err != nil {
   253  		return localVarReturnValue, nil, err
   254  	}
   255  
   256  	localVarHTTPResponse, err := openapi.CallAPI(a.client.cfg, r)
   257  	if err != nil || localVarHTTPResponse == nil {
   258  		return localVarReturnValue, localVarHTTPResponse, err
   259  	}
   260  
   261  	localVarBody, err := ioutil.ReadAll(localVarHTTPResponse.Body)
   262  	localVarHTTPResponse.Body.Close()
   263  	if err != nil {
   264  		return localVarReturnValue, localVarHTTPResponse, err
   265  	}
   266  
   267  	apiError := openapi.GenericOpenAPIError{
   268  		RawBody:     localVarBody,
   269  		ErrorStatus: localVarHTTPResponse.Status,
   270  	}
   271  
   272  	switch localVarHTTPResponse.StatusCode {
   273  	case 200:
   274  		err = openapi.Deserialize(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   275  		if err != nil {
   276  			apiError.ErrorStatus = err.Error()
   277  		}
   278  		return localVarReturnValue, localVarHTTPResponse, nil
   279  	default:
   280  		var v models.ProblemDetails
   281  		err = openapi.Deserialize(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
   282  		if err != nil {
   283  			apiError.ErrorStatus = err.Error()
   284  			return localVarReturnValue, localVarHTTPResponse, apiError
   285  		}
   286  		apiError.ErrorModel = v
   287  		return localVarReturnValue, localVarHTTPResponse, apiError
   288  	}
   289  }