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

     1  /*
     2   * RingCentral Engage Voice 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 engagevoice
    11  
    12  import (
    13  	"context"
    14  	"io/ioutil"
    15  	"net/http"
    16  	"net/url"
    17  )
    18  
    19  // Linger please
    20  var (
    21  	_ context.Context
    22  )
    23  
    24  type UsersApiService service
    25  
    26  /*
    27  UsersApiService Get Users
    28  Returns a listing of all users that a user has access to
    29   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    30  @return []User
    31  */
    32  func (a *UsersApiService) GetUsers(ctx context.Context) ([]User, *http.Response, error) {
    33  	var (
    34  		localVarHttpMethod   = http.MethodGet
    35  		localVarPostBody     interface{}
    36  		localVarFormFileName string
    37  		localVarFileName     string
    38  		localVarFileBytes    []byte
    39  		localVarReturnValue  []User
    40  	)
    41  
    42  	// create path and map variables
    43  	localVarPath := a.client.cfg.BasePath + "/admin/users"
    44  
    45  	localVarHeaderParams := make(map[string]string)
    46  	localVarQueryParams := url.Values{}
    47  	localVarFormParams := url.Values{}
    48  
    49  	// to determine the Content-Type header
    50  	localVarHttpContentTypes := []string{}
    51  
    52  	// set Content-Type header
    53  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    54  	if localVarHttpContentType != "" {
    55  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    56  	}
    57  
    58  	// to determine the Accept header
    59  	localVarHttpHeaderAccepts := []string{"application/json"}
    60  
    61  	// set Accept header
    62  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    63  	if localVarHttpHeaderAccept != "" {
    64  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    65  	}
    66  	if ctx != nil {
    67  		// API Key Authentication
    68  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    69  			var key string
    70  			if auth.Prefix != "" {
    71  				key = auth.Prefix + " " + auth.Key
    72  			} else {
    73  				key = auth.Key
    74  			}
    75  			localVarHeaderParams["X-Auth-Token"] = key
    76  		}
    77  	}
    78  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    79  	if err != nil {
    80  		return localVarReturnValue, nil, err
    81  	}
    82  
    83  	localVarHttpResponse, err := a.client.callAPI(r)
    84  	if err != nil || localVarHttpResponse == nil {
    85  		return localVarReturnValue, localVarHttpResponse, err
    86  	}
    87  
    88  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    89  	localVarHttpResponse.Body.Close()
    90  	if err != nil {
    91  		return localVarReturnValue, localVarHttpResponse, err
    92  	}
    93  
    94  	if localVarHttpResponse.StatusCode >= 300 {
    95  		newErr := GenericOpenAPIError{
    96  			body:  localVarBody,
    97  			error: localVarHttpResponse.Status,
    98  		}
    99  		if localVarHttpResponse.StatusCode == 200 {
   100  			var v []User
   101  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   102  			if err != nil {
   103  				newErr.error = err.Error()
   104  				return localVarReturnValue, localVarHttpResponse, newErr
   105  			}
   106  			newErr.model = v
   107  			return localVarReturnValue, localVarHttpResponse, newErr
   108  		}
   109  		return localVarReturnValue, localVarHttpResponse, newErr
   110  	}
   111  
   112  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   113  	if err != nil {
   114  		newErr := GenericOpenAPIError{
   115  			body:  localVarBody,
   116  			error: err.Error(),
   117  		}
   118  		return localVarReturnValue, localVarHttpResponse, newErr
   119  	}
   120  
   121  	return localVarReturnValue, localVarHttpResponse, nil
   122  }