github.com/grokify/go-ringcentral-client@v0.3.31/engagevoice/v1/client/api_agents.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  	"fmt"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"strings"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type AgentsApiService service
    27  
    28  /*
    29  AgentsApiService Get Agent Groups
    30  Returns a listing of agent groups for an account
    31   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    32   * @param accountId
    33  @return []AgentGroup
    34  */
    35  func (a *AgentsApiService) GetAgentGroups(ctx context.Context, accountId string) ([]AgentGroup, *http.Response, error) {
    36  	var (
    37  		localVarHttpMethod   = http.MethodGet
    38  		localVarPostBody     interface{}
    39  		localVarFormFileName string
    40  		localVarFileName     string
    41  		localVarFileBytes    []byte
    42  		localVarReturnValue  []AgentGroup
    43  	)
    44  
    45  	// create path and map variables
    46  	localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/agentGroups"
    47  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    48  
    49  	localVarHeaderParams := make(map[string]string)
    50  	localVarQueryParams := url.Values{}
    51  	localVarFormParams := url.Values{}
    52  
    53  	// to determine the Content-Type header
    54  	localVarHttpContentTypes := []string{}
    55  
    56  	// set Content-Type header
    57  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    58  	if localVarHttpContentType != "" {
    59  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    60  	}
    61  
    62  	// to determine the Accept header
    63  	localVarHttpHeaderAccepts := []string{"application/json"}
    64  
    65  	// set Accept header
    66  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    67  	if localVarHttpHeaderAccept != "" {
    68  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    69  	}
    70  	if ctx != nil {
    71  		// API Key Authentication
    72  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
    73  			var key string
    74  			if auth.Prefix != "" {
    75  				key = auth.Prefix + " " + auth.Key
    76  			} else {
    77  				key = auth.Key
    78  			}
    79  			localVarHeaderParams["X-Auth-Token"] = key
    80  		}
    81  	}
    82  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    83  	if err != nil {
    84  		return localVarReturnValue, nil, err
    85  	}
    86  
    87  	localVarHttpResponse, err := a.client.callAPI(r)
    88  	if err != nil || localVarHttpResponse == nil {
    89  		return localVarReturnValue, localVarHttpResponse, err
    90  	}
    91  
    92  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    93  	localVarHttpResponse.Body.Close()
    94  	if err != nil {
    95  		return localVarReturnValue, localVarHttpResponse, err
    96  	}
    97  
    98  	if localVarHttpResponse.StatusCode >= 300 {
    99  		newErr := GenericOpenAPIError{
   100  			body:  localVarBody,
   101  			error: localVarHttpResponse.Status,
   102  		}
   103  		if localVarHttpResponse.StatusCode == 200 {
   104  			var v []AgentGroup
   105  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   106  			if err != nil {
   107  				newErr.error = err.Error()
   108  				return localVarReturnValue, localVarHttpResponse, newErr
   109  			}
   110  			newErr.model = v
   111  			return localVarReturnValue, localVarHttpResponse, newErr
   112  		}
   113  		if localVarHttpResponse.StatusCode == 500 {
   114  			var v Error
   115  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   116  			if err != nil {
   117  				newErr.error = err.Error()
   118  				return localVarReturnValue, localVarHttpResponse, newErr
   119  			}
   120  			newErr.model = v
   121  			return localVarReturnValue, localVarHttpResponse, newErr
   122  		}
   123  		return localVarReturnValue, localVarHttpResponse, newErr
   124  	}
   125  
   126  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   127  	if err != nil {
   128  		newErr := GenericOpenAPIError{
   129  			body:  localVarBody,
   130  			error: err.Error(),
   131  		}
   132  		return localVarReturnValue, localVarHttpResponse, newErr
   133  	}
   134  
   135  	return localVarReturnValue, localVarHttpResponse, nil
   136  }
   137  
   138  /*
   139  AgentsApiService Get Group Agents
   140  Returns a listing of agents for an agent group
   141   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   142   * @param accountId
   143   * @param agentGroupId
   144  @return []Agent
   145  */
   146  func (a *AgentsApiService) GetAgents(ctx context.Context, accountId string, agentGroupId string) ([]Agent, *http.Response, error) {
   147  	var (
   148  		localVarHttpMethod   = http.MethodGet
   149  		localVarPostBody     interface{}
   150  		localVarFormFileName string
   151  		localVarFileName     string
   152  		localVarFileBytes    []byte
   153  		localVarReturnValue  []Agent
   154  	)
   155  
   156  	// create path and map variables
   157  	localVarPath := a.client.cfg.BasePath + "/admin/accounts/{accountId}/agentGroups/{agentGroupId}/agents"
   158  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   159  	localVarPath = strings.Replace(localVarPath, "{"+"agentGroupId"+"}", fmt.Sprintf("%v", agentGroupId), -1)
   160  
   161  	localVarHeaderParams := make(map[string]string)
   162  	localVarQueryParams := url.Values{}
   163  	localVarFormParams := url.Values{}
   164  
   165  	// to determine the Content-Type header
   166  	localVarHttpContentTypes := []string{}
   167  
   168  	// set Content-Type header
   169  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   170  	if localVarHttpContentType != "" {
   171  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   172  	}
   173  
   174  	// to determine the Accept header
   175  	localVarHttpHeaderAccepts := []string{"application/json"}
   176  
   177  	// set Accept header
   178  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   179  	if localVarHttpHeaderAccept != "" {
   180  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   181  	}
   182  	if ctx != nil {
   183  		// API Key Authentication
   184  		if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok {
   185  			var key string
   186  			if auth.Prefix != "" {
   187  				key = auth.Prefix + " " + auth.Key
   188  			} else {
   189  				key = auth.Key
   190  			}
   191  			localVarHeaderParams["X-Auth-Token"] = key
   192  		}
   193  	}
   194  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   195  	if err != nil {
   196  		return localVarReturnValue, nil, err
   197  	}
   198  
   199  	localVarHttpResponse, err := a.client.callAPI(r)
   200  	if err != nil || localVarHttpResponse == nil {
   201  		return localVarReturnValue, localVarHttpResponse, err
   202  	}
   203  
   204  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   205  	localVarHttpResponse.Body.Close()
   206  	if err != nil {
   207  		return localVarReturnValue, localVarHttpResponse, err
   208  	}
   209  
   210  	if localVarHttpResponse.StatusCode >= 300 {
   211  		newErr := GenericOpenAPIError{
   212  			body:  localVarBody,
   213  			error: localVarHttpResponse.Status,
   214  		}
   215  		if localVarHttpResponse.StatusCode == 200 {
   216  			var v []Agent
   217  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   218  			if err != nil {
   219  				newErr.error = err.Error()
   220  				return localVarReturnValue, localVarHttpResponse, newErr
   221  			}
   222  			newErr.model = v
   223  			return localVarReturnValue, localVarHttpResponse, newErr
   224  		}
   225  		if localVarHttpResponse.StatusCode == 500 {
   226  			var v Error
   227  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   228  			if err != nil {
   229  				newErr.error = err.Error()
   230  				return localVarReturnValue, localVarHttpResponse, newErr
   231  			}
   232  			newErr.model = v
   233  			return localVarReturnValue, localVarHttpResponse, newErr
   234  		}
   235  		return localVarReturnValue, localVarHttpResponse, newErr
   236  	}
   237  
   238  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   239  	if err != nil {
   240  		newErr := GenericOpenAPIError{
   241  			body:  localVarBody,
   242  			error: err.Error(),
   243  		}
   244  		return localVarReturnValue, localVarHttpResponse, newErr
   245  	}
   246  
   247  	return localVarReturnValue, localVarHttpResponse, nil
   248  }