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