github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_presence_status.go (about)

     1  /*
     2   * Engage Digital API
     3   *
     4   * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
     5   *
     6   * API version: 1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package engagedigital
    11  
    12  import (
    13  	"context"
    14  	"fmt"
    15  	"github.com/antihax/optional"
    16  	"io/ioutil"
    17  	"net/http"
    18  	"net/url"
    19  	"strings"
    20  )
    21  
    22  // Linger please
    23  var (
    24  	_ context.Context
    25  )
    26  
    27  type PresenceStatusApiService service
    28  
    29  /*
    30  PresenceStatusApiService Creating a presence status
    31  This method creates a presence status. In case of success it renders the presence status, otherwise, it renders an error (422 HTTP code).  Authorization​: only users that have the right to monitor the task view.
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param name The name of the presence status.
    34  @return PresenceStatus
    35  */
    36  func (a *PresenceStatusApiService) CreatePresenceStatus(ctx context.Context, name string) (PresenceStatus, *http.Response, error) {
    37  	var (
    38  		localVarHttpMethod   = http.MethodPost
    39  		localVarPostBody     interface{}
    40  		localVarFormFileName string
    41  		localVarFileName     string
    42  		localVarFileBytes    []byte
    43  		localVarReturnValue  PresenceStatus
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath + "/presence_status"
    48  
    49  	localVarHeaderParams := make(map[string]string)
    50  	localVarQueryParams := url.Values{}
    51  	localVarFormParams := url.Values{}
    52  
    53  	localVarQueryParams.Add("name", parameterToString(name, ""))
    54  	// to determine the Content-Type header
    55  	localVarHttpContentTypes := []string{}
    56  
    57  	// set Content-Type header
    58  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    59  	if localVarHttpContentType != "" {
    60  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    61  	}
    62  
    63  	// to determine the Accept header
    64  	localVarHttpHeaderAccepts := []string{"application/json"}
    65  
    66  	// set Accept header
    67  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    68  	if localVarHttpHeaderAccept != "" {
    69  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    70  	}
    71  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    72  	if err != nil {
    73  		return localVarReturnValue, nil, err
    74  	}
    75  
    76  	localVarHttpResponse, err := a.client.callAPI(r)
    77  	if err != nil || localVarHttpResponse == nil {
    78  		return localVarReturnValue, localVarHttpResponse, err
    79  	}
    80  
    81  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    82  	localVarHttpResponse.Body.Close()
    83  	if err != nil {
    84  		return localVarReturnValue, localVarHttpResponse, err
    85  	}
    86  
    87  	if localVarHttpResponse.StatusCode >= 300 {
    88  		newErr := GenericOpenAPIError{
    89  			body:  localVarBody,
    90  			error: localVarHttpResponse.Status,
    91  		}
    92  		if localVarHttpResponse.StatusCode == 200 {
    93  			var v PresenceStatus
    94  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    95  			if err != nil {
    96  				newErr.error = err.Error()
    97  				return localVarReturnValue, localVarHttpResponse, newErr
    98  			}
    99  			newErr.model = v
   100  			return localVarReturnValue, localVarHttpResponse, newErr
   101  		}
   102  		return localVarReturnValue, localVarHttpResponse, newErr
   103  	}
   104  
   105  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   106  	if err != nil {
   107  		newErr := GenericOpenAPIError{
   108  			body:  localVarBody,
   109  			error: err.Error(),
   110  		}
   111  		return localVarReturnValue, localVarHttpResponse, newErr
   112  	}
   113  
   114  	return localVarReturnValue, localVarHttpResponse, nil
   115  }
   116  
   117  /*
   118  PresenceStatusApiService Deleting a presence status
   119  This method destroys an existing presence status. It renders presence status itself. It renders a 404 if id is invalid.  Authorization​: only users that have the right to monitor the task view.
   120   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   121   * @param presenceStatusId
   122  @return PresenceStatus
   123  */
   124  func (a *PresenceStatusApiService) DeletePresenceStatus(ctx context.Context, presenceStatusId string) (PresenceStatus, *http.Response, error) {
   125  	var (
   126  		localVarHttpMethod   = http.MethodDelete
   127  		localVarPostBody     interface{}
   128  		localVarFormFileName string
   129  		localVarFileName     string
   130  		localVarFileBytes    []byte
   131  		localVarReturnValue  PresenceStatus
   132  	)
   133  
   134  	// create path and map variables
   135  	localVarPath := a.client.cfg.BasePath + "/presence_status/{presenceStatusId}"
   136  	localVarPath = strings.Replace(localVarPath, "{"+"presenceStatusId"+"}", fmt.Sprintf("%v", presenceStatusId), -1)
   137  
   138  	localVarHeaderParams := make(map[string]string)
   139  	localVarQueryParams := url.Values{}
   140  	localVarFormParams := url.Values{}
   141  
   142  	// to determine the Content-Type header
   143  	localVarHttpContentTypes := []string{}
   144  
   145  	// set Content-Type header
   146  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   147  	if localVarHttpContentType != "" {
   148  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   149  	}
   150  
   151  	// to determine the Accept header
   152  	localVarHttpHeaderAccepts := []string{"application/json"}
   153  
   154  	// set Accept header
   155  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   156  	if localVarHttpHeaderAccept != "" {
   157  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   158  	}
   159  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   160  	if err != nil {
   161  		return localVarReturnValue, nil, err
   162  	}
   163  
   164  	localVarHttpResponse, err := a.client.callAPI(r)
   165  	if err != nil || localVarHttpResponse == nil {
   166  		return localVarReturnValue, localVarHttpResponse, err
   167  	}
   168  
   169  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   170  	localVarHttpResponse.Body.Close()
   171  	if err != nil {
   172  		return localVarReturnValue, localVarHttpResponse, err
   173  	}
   174  
   175  	if localVarHttpResponse.StatusCode >= 300 {
   176  		newErr := GenericOpenAPIError{
   177  			body:  localVarBody,
   178  			error: localVarHttpResponse.Status,
   179  		}
   180  		if localVarHttpResponse.StatusCode == 200 {
   181  			var v PresenceStatus
   182  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   183  			if err != nil {
   184  				newErr.error = err.Error()
   185  				return localVarReturnValue, localVarHttpResponse, newErr
   186  			}
   187  			newErr.model = v
   188  			return localVarReturnValue, localVarHttpResponse, newErr
   189  		}
   190  		return localVarReturnValue, localVarHttpResponse, newErr
   191  	}
   192  
   193  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   194  	if err != nil {
   195  		newErr := GenericOpenAPIError{
   196  			body:  localVarBody,
   197  			error: err.Error(),
   198  		}
   199  		return localVarReturnValue, localVarHttpResponse, newErr
   200  	}
   201  
   202  	return localVarReturnValue, localVarHttpResponse, nil
   203  }
   204  
   205  /*
   206  PresenceStatusApiService Getting all presence statuses
   207  This method renders all presence statuses ordered by name (in alphabetical order).
   208   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   209   * @param optional nil or *GetAllPresenceStatusOpts - Optional Parameters:
   210   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
   211   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
   212  @return GetAllPresenceStatusResponse
   213  */
   214  
   215  type GetAllPresenceStatusOpts struct {
   216  	Offset optional.Int32
   217  	Limit  optional.Int32
   218  }
   219  
   220  func (a *PresenceStatusApiService) GetAllPresenceStatus(ctx context.Context, localVarOptionals *GetAllPresenceStatusOpts) (GetAllPresenceStatusResponse, *http.Response, error) {
   221  	var (
   222  		localVarHttpMethod   = http.MethodGet
   223  		localVarPostBody     interface{}
   224  		localVarFormFileName string
   225  		localVarFileName     string
   226  		localVarFileBytes    []byte
   227  		localVarReturnValue  GetAllPresenceStatusResponse
   228  	)
   229  
   230  	// create path and map variables
   231  	localVarPath := a.client.cfg.BasePath + "/presence_status"
   232  
   233  	localVarHeaderParams := make(map[string]string)
   234  	localVarQueryParams := url.Values{}
   235  	localVarFormParams := url.Values{}
   236  
   237  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
   238  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
   239  	}
   240  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   241  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   242  	}
   243  	// to determine the Content-Type header
   244  	localVarHttpContentTypes := []string{}
   245  
   246  	// set Content-Type header
   247  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   248  	if localVarHttpContentType != "" {
   249  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   250  	}
   251  
   252  	// to determine the Accept header
   253  	localVarHttpHeaderAccepts := []string{"application/json"}
   254  
   255  	// set Accept header
   256  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   257  	if localVarHttpHeaderAccept != "" {
   258  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   259  	}
   260  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   261  	if err != nil {
   262  		return localVarReturnValue, nil, err
   263  	}
   264  
   265  	localVarHttpResponse, err := a.client.callAPI(r)
   266  	if err != nil || localVarHttpResponse == nil {
   267  		return localVarReturnValue, localVarHttpResponse, err
   268  	}
   269  
   270  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   271  	localVarHttpResponse.Body.Close()
   272  	if err != nil {
   273  		return localVarReturnValue, localVarHttpResponse, err
   274  	}
   275  
   276  	if localVarHttpResponse.StatusCode >= 300 {
   277  		newErr := GenericOpenAPIError{
   278  			body:  localVarBody,
   279  			error: localVarHttpResponse.Status,
   280  		}
   281  		if localVarHttpResponse.StatusCode == 200 {
   282  			var v GetAllPresenceStatusResponse
   283  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   284  			if err != nil {
   285  				newErr.error = err.Error()
   286  				return localVarReturnValue, localVarHttpResponse, newErr
   287  			}
   288  			newErr.model = v
   289  			return localVarReturnValue, localVarHttpResponse, newErr
   290  		}
   291  		return localVarReturnValue, localVarHttpResponse, newErr
   292  	}
   293  
   294  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   295  	if err != nil {
   296  		newErr := GenericOpenAPIError{
   297  			body:  localVarBody,
   298  			error: err.Error(),
   299  		}
   300  		return localVarReturnValue, localVarHttpResponse, newErr
   301  	}
   302  
   303  	return localVarReturnValue, localVarHttpResponse, nil
   304  }
   305  
   306  /*
   307  PresenceStatusApiService Getting a presence status from its id
   308  This method renders a presence status from given id.  Authorization​: only users that have the right to monitor the task view.
   309   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   310   * @param presenceStatusId
   311  @return PresenceStatus
   312  */
   313  func (a *PresenceStatusApiService) GetPresenceStatus(ctx context.Context, presenceStatusId string) (PresenceStatus, *http.Response, error) {
   314  	var (
   315  		localVarHttpMethod   = http.MethodGet
   316  		localVarPostBody     interface{}
   317  		localVarFormFileName string
   318  		localVarFileName     string
   319  		localVarFileBytes    []byte
   320  		localVarReturnValue  PresenceStatus
   321  	)
   322  
   323  	// create path and map variables
   324  	localVarPath := a.client.cfg.BasePath + "/presence_status/{presenceStatusId}"
   325  	localVarPath = strings.Replace(localVarPath, "{"+"presenceStatusId"+"}", fmt.Sprintf("%v", presenceStatusId), -1)
   326  
   327  	localVarHeaderParams := make(map[string]string)
   328  	localVarQueryParams := url.Values{}
   329  	localVarFormParams := url.Values{}
   330  
   331  	// to determine the Content-Type header
   332  	localVarHttpContentTypes := []string{}
   333  
   334  	// set Content-Type header
   335  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   336  	if localVarHttpContentType != "" {
   337  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   338  	}
   339  
   340  	// to determine the Accept header
   341  	localVarHttpHeaderAccepts := []string{"application/json"}
   342  
   343  	// set Accept header
   344  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   345  	if localVarHttpHeaderAccept != "" {
   346  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   347  	}
   348  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   349  	if err != nil {
   350  		return localVarReturnValue, nil, err
   351  	}
   352  
   353  	localVarHttpResponse, err := a.client.callAPI(r)
   354  	if err != nil || localVarHttpResponse == nil {
   355  		return localVarReturnValue, localVarHttpResponse, err
   356  	}
   357  
   358  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   359  	localVarHttpResponse.Body.Close()
   360  	if err != nil {
   361  		return localVarReturnValue, localVarHttpResponse, err
   362  	}
   363  
   364  	if localVarHttpResponse.StatusCode >= 300 {
   365  		newErr := GenericOpenAPIError{
   366  			body:  localVarBody,
   367  			error: localVarHttpResponse.Status,
   368  		}
   369  		if localVarHttpResponse.StatusCode == 200 {
   370  			var v PresenceStatus
   371  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   372  			if err != nil {
   373  				newErr.error = err.Error()
   374  				return localVarReturnValue, localVarHttpResponse, newErr
   375  			}
   376  			newErr.model = v
   377  			return localVarReturnValue, localVarHttpResponse, newErr
   378  		}
   379  		return localVarReturnValue, localVarHttpResponse, newErr
   380  	}
   381  
   382  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   383  	if err != nil {
   384  		newErr := GenericOpenAPIError{
   385  			body:  localVarBody,
   386  			error: err.Error(),
   387  		}
   388  		return localVarReturnValue, localVarHttpResponse, newErr
   389  	}
   390  
   391  	return localVarReturnValue, localVarHttpResponse, nil
   392  }
   393  
   394  /*
   395  PresenceStatusApiService Updating a presence status
   396  This method updates an existing presence status from given attributes and renders it in case of success.  Authorization​: only users that have the right to monitor the task view.
   397   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   398   * @param presenceStatusId
   399   * @param name The name of the presence status.
   400  @return PresenceStatus
   401  */
   402  func (a *PresenceStatusApiService) UpdatePresenceStatus(ctx context.Context, presenceStatusId string, name string) (PresenceStatus, *http.Response, error) {
   403  	var (
   404  		localVarHttpMethod   = http.MethodPut
   405  		localVarPostBody     interface{}
   406  		localVarFormFileName string
   407  		localVarFileName     string
   408  		localVarFileBytes    []byte
   409  		localVarReturnValue  PresenceStatus
   410  	)
   411  
   412  	// create path and map variables
   413  	localVarPath := a.client.cfg.BasePath + "/presence_status/{presenceStatusId}"
   414  	localVarPath = strings.Replace(localVarPath, "{"+"presenceStatusId"+"}", fmt.Sprintf("%v", presenceStatusId), -1)
   415  
   416  	localVarHeaderParams := make(map[string]string)
   417  	localVarQueryParams := url.Values{}
   418  	localVarFormParams := url.Values{}
   419  
   420  	localVarQueryParams.Add("name", parameterToString(name, ""))
   421  	// to determine the Content-Type header
   422  	localVarHttpContentTypes := []string{}
   423  
   424  	// set Content-Type header
   425  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   426  	if localVarHttpContentType != "" {
   427  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   428  	}
   429  
   430  	// to determine the Accept header
   431  	localVarHttpHeaderAccepts := []string{"application/json"}
   432  
   433  	// set Accept header
   434  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   435  	if localVarHttpHeaderAccept != "" {
   436  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   437  	}
   438  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   439  	if err != nil {
   440  		return localVarReturnValue, nil, err
   441  	}
   442  
   443  	localVarHttpResponse, err := a.client.callAPI(r)
   444  	if err != nil || localVarHttpResponse == nil {
   445  		return localVarReturnValue, localVarHttpResponse, err
   446  	}
   447  
   448  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   449  	localVarHttpResponse.Body.Close()
   450  	if err != nil {
   451  		return localVarReturnValue, localVarHttpResponse, err
   452  	}
   453  
   454  	if localVarHttpResponse.StatusCode >= 300 {
   455  		newErr := GenericOpenAPIError{
   456  			body:  localVarBody,
   457  			error: localVarHttpResponse.Status,
   458  		}
   459  		if localVarHttpResponse.StatusCode == 200 {
   460  			var v PresenceStatus
   461  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   462  			if err != nil {
   463  				newErr.error = err.Error()
   464  				return localVarReturnValue, localVarHttpResponse, newErr
   465  			}
   466  			newErr.model = v
   467  			return localVarReturnValue, localVarHttpResponse, newErr
   468  		}
   469  		return localVarReturnValue, localVarHttpResponse, newErr
   470  	}
   471  
   472  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   473  	if err != nil {
   474  		newErr := GenericOpenAPIError{
   475  			body:  localVarBody,
   476  			error: err.Error(),
   477  		}
   478  		return localVarReturnValue, localVarHttpResponse, newErr
   479  	}
   480  
   481  	return localVarReturnValue, localVarHttpResponse, nil
   482  }