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

     1  /*
     2   * RingCentral Connect Platform API Explorer
     3   *
     4   * <p>This is a beta interactive API explorer for the RingCentral Connect Platform. To use this service, you will need to have an account with the proper credentials to generate an OAuth2 access token.</p><p><h2>Quick Start</h2></p><ol><li>1) Go to <b>Authentication > /oauth/token</b></li><li>2) Enter <b>app_key, app_secret, username, password</b> fields and then click \"Try it out!\"</li><li>3) Upon success, your access_token is loaded and you can access any form requiring authorization.</li></ol><h2>Links</h2><ul><li><a href=\"https://github.com/ringcentral\" target=\"_blank\">RingCentral SDKs on Github</a></li><li><a href=\"mailto:devsupport@ringcentral.com\">RingCentral Developer Support Email</a></li></ul>
     5   *
     6   * API version: 1.0
     7   * Generated by: OpenAPI Generator (https://openapi-generator.tech)
     8   */
     9  
    10  package ringcentral
    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 ReportingApiService service
    27  
    28  /*
    29  ReportingApiService Get Reporting Settings
    30  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.17 (Release 7.2)&lt;/p&gt;&lt;p&gt;Returns user-defined configuration of CFA (Customer Facing Analytics) reports.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;ReadAccounts&lt;/td&gt;&lt;td&gt;Viewing user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
    31   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    32   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
    33   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
    34  @return ReportingSettings
    35  */
    36  func (a *ReportingApiService) LoadReportingSettings(ctx context.Context, accountId string, extensionId string) (ReportingSettings, *http.Response, error) {
    37  	var (
    38  		localVarHttpMethod   = strings.ToUpper("Get")
    39  		localVarPostBody     interface{}
    40  		localVarFormFileName string
    41  		localVarFileName     string
    42  		localVarFileBytes    []byte
    43  		localVarReturnValue  ReportingSettings
    44  	)
    45  
    46  	// create path and map variables
    47  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/reporting/settings"
    48  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    49  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	// to determine the Content-Type header
    56  	localVarHttpContentTypes := []string{}
    57  
    58  	// set Content-Type header
    59  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    60  	if localVarHttpContentType != "" {
    61  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    62  	}
    63  
    64  	// to determine the Accept header
    65  	localVarHttpHeaderAccepts := []string{"application/json"}
    66  
    67  	// set Accept header
    68  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    69  	if localVarHttpHeaderAccept != "" {
    70  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    71  	}
    72  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    73  	if err != nil {
    74  		return localVarReturnValue, nil, err
    75  	}
    76  
    77  	localVarHttpResponse, err := a.client.callAPI(r)
    78  	if err != nil || localVarHttpResponse == nil {
    79  		return localVarReturnValue, localVarHttpResponse, err
    80  	}
    81  
    82  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    83  	localVarHttpResponse.Body.Close()
    84  	if err != nil {
    85  		return localVarReturnValue, localVarHttpResponse, err
    86  	}
    87  
    88  	if localVarHttpResponse.StatusCode >= 300 {
    89  		newErr := GenericOpenAPIError{
    90  			body:  localVarBody,
    91  			error: localVarHttpResponse.Status,
    92  		}
    93  		if localVarHttpResponse.StatusCode == 0 {
    94  			var v ReportingSettings
    95  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    96  			if err != nil {
    97  				newErr.error = err.Error()
    98  				return localVarReturnValue, localVarHttpResponse, newErr
    99  			}
   100  			newErr.model = v
   101  			return localVarReturnValue, localVarHttpResponse, newErr
   102  		}
   103  		return localVarReturnValue, localVarHttpResponse, newErr
   104  	}
   105  
   106  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   107  	if err != nil {
   108  		newErr := GenericOpenAPIError{
   109  			body:  localVarBody,
   110  			error: err.Error(),
   111  		}
   112  		return localVarReturnValue, localVarHttpResponse, newErr
   113  	}
   114  
   115  	return localVarReturnValue, localVarHttpResponse, nil
   116  }
   117  
   118  /*
   119  ReportingApiService Update Reporting Settings
   120  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;&lt;/p&gt;&lt;p&gt;Sets user-defined configuration of CFA (Customer Facing Analytics) reports.&lt;/p&gt;&lt;h4&gt;Required Permissions&lt;/h4&gt;&lt;table class&#x3D;&#39;fullwidth&#39;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Permission&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class&#x3D;&#39;code&#39;&gt;EditAccounts&lt;/td&gt;&lt;td&gt;Viewing and updating user account info (including name, business name, address and phone number/account number)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Light&lt;/p&gt;
   121   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   122   * @param accountId Internal identifier of a RingCentral account or tilde (~) to indicate the account logged-in within the current session
   123   * @param extensionId Internal identifier of an extension or tilde (~) to indicate the extension assigned to the account logged-in within the current session
   124   * @param setReportingSettingsRequest JSON body
   125  @return ReportingSettings
   126  */
   127  func (a *ReportingApiService) UpdateReportingSettings(ctx context.Context, accountId string, extensionId string, setReportingSettingsRequest SetReportingSettingsRequest) (ReportingSettings, *http.Response, error) {
   128  	var (
   129  		localVarHttpMethod   = strings.ToUpper("Put")
   130  		localVarPostBody     interface{}
   131  		localVarFormFileName string
   132  		localVarFileName     string
   133  		localVarFileBytes    []byte
   134  		localVarReturnValue  ReportingSettings
   135  	)
   136  
   137  	// create path and map variables
   138  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/reporting/settings"
   139  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   140  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   141  
   142  	localVarHeaderParams := make(map[string]string)
   143  	localVarQueryParams := url.Values{}
   144  	localVarFormParams := url.Values{}
   145  
   146  	// to determine the Content-Type header
   147  	localVarHttpContentTypes := []string{"application/json"}
   148  
   149  	// set Content-Type header
   150  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   151  	if localVarHttpContentType != "" {
   152  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   153  	}
   154  
   155  	// to determine the Accept header
   156  	localVarHttpHeaderAccepts := []string{"application/json"}
   157  
   158  	// set Accept header
   159  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   160  	if localVarHttpHeaderAccept != "" {
   161  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   162  	}
   163  	// body params
   164  	localVarPostBody = &setReportingSettingsRequest
   165  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   166  	if err != nil {
   167  		return localVarReturnValue, nil, err
   168  	}
   169  
   170  	localVarHttpResponse, err := a.client.callAPI(r)
   171  	if err != nil || localVarHttpResponse == nil {
   172  		return localVarReturnValue, localVarHttpResponse, err
   173  	}
   174  
   175  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   176  	localVarHttpResponse.Body.Close()
   177  	if err != nil {
   178  		return localVarReturnValue, localVarHttpResponse, err
   179  	}
   180  
   181  	if localVarHttpResponse.StatusCode >= 300 {
   182  		newErr := GenericOpenAPIError{
   183  			body:  localVarBody,
   184  			error: localVarHttpResponse.Status,
   185  		}
   186  		if localVarHttpResponse.StatusCode == 0 {
   187  			var v ReportingSettings
   188  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   189  			if err != nil {
   190  				newErr.error = err.Error()
   191  				return localVarReturnValue, localVarHttpResponse, newErr
   192  			}
   193  			newErr.model = v
   194  			return localVarReturnValue, localVarHttpResponse, newErr
   195  		}
   196  		return localVarReturnValue, localVarHttpResponse, newErr
   197  	}
   198  
   199  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   200  	if err != nil {
   201  		newErr := GenericOpenAPIError{
   202  			body:  localVarBody,
   203  			error: err.Error(),
   204  		}
   205  		return localVarReturnValue, localVarHttpResponse, newErr
   206  	}
   207  
   208  	return localVarReturnValue, localVarHttpResponse, nil
   209  }