github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_intervention_comments.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 InterventionCommentsApiService service
    28  
    29  /*
    30  InterventionCommentsApiService Creating an intervention comment
    31  This method creates a new intervention comment. In case of success it renders the created comment, otherwise, it renders an error (422 HTTP code). It creates comment as token’s user. If token’s user does not have “read” on given intervention’s source a 404 HTTP response will be returned.
    32   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    33   * @param body The comment body (mandatory).
    34   * @param interventionId The comment intervention id (mandatory).
    35   * @param userId The comment user id (mandatory).
    36  @return InterventionComment
    37  */
    38  func (a *InterventionCommentsApiService) CreateInterventionComment(ctx context.Context, body string, interventionId string, userId string) (InterventionComment, *http.Response, error) {
    39  	var (
    40  		localVarHttpMethod   = http.MethodPost
    41  		localVarPostBody     interface{}
    42  		localVarFormFileName string
    43  		localVarFileName     string
    44  		localVarFileBytes    []byte
    45  		localVarReturnValue  InterventionComment
    46  	)
    47  
    48  	// create path and map variables
    49  	localVarPath := a.client.cfg.BasePath + "/intervention_comments"
    50  
    51  	localVarHeaderParams := make(map[string]string)
    52  	localVarQueryParams := url.Values{}
    53  	localVarFormParams := url.Values{}
    54  
    55  	localVarQueryParams.Add("body", parameterToString(body, ""))
    56  	localVarQueryParams.Add("intervention_id", parameterToString(interventionId, ""))
    57  	localVarQueryParams.Add("user_id", parameterToString(userId, ""))
    58  	// to determine the Content-Type header
    59  	localVarHttpContentTypes := []string{}
    60  
    61  	// set Content-Type header
    62  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    63  	if localVarHttpContentType != "" {
    64  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    65  	}
    66  
    67  	// to determine the Accept header
    68  	localVarHttpHeaderAccepts := []string{"application/json"}
    69  
    70  	// set Accept header
    71  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    72  	if localVarHttpHeaderAccept != "" {
    73  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    74  	}
    75  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    76  	if err != nil {
    77  		return localVarReturnValue, nil, err
    78  	}
    79  
    80  	localVarHttpResponse, err := a.client.callAPI(r)
    81  	if err != nil || localVarHttpResponse == nil {
    82  		return localVarReturnValue, localVarHttpResponse, err
    83  	}
    84  
    85  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    86  	localVarHttpResponse.Body.Close()
    87  	if err != nil {
    88  		return localVarReturnValue, localVarHttpResponse, err
    89  	}
    90  
    91  	if localVarHttpResponse.StatusCode >= 300 {
    92  		newErr := GenericOpenAPIError{
    93  			body:  localVarBody,
    94  			error: localVarHttpResponse.Status,
    95  		}
    96  		if localVarHttpResponse.StatusCode == 200 {
    97  			var v InterventionComment
    98  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    99  			if err != nil {
   100  				newErr.error = err.Error()
   101  				return localVarReturnValue, localVarHttpResponse, newErr
   102  			}
   103  			newErr.model = v
   104  			return localVarReturnValue, localVarHttpResponse, newErr
   105  		}
   106  		return localVarReturnValue, localVarHttpResponse, newErr
   107  	}
   108  
   109  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   110  	if err != nil {
   111  		newErr := GenericOpenAPIError{
   112  			body:  localVarBody,
   113  			error: err.Error(),
   114  		}
   115  		return localVarReturnValue, localVarHttpResponse, newErr
   116  	}
   117  
   118  	return localVarReturnValue, localVarHttpResponse, nil
   119  }
   120  
   121  /*
   122  InterventionCommentsApiService Deleting an intervention comment
   123  This method destroys an intervention comment. It renders comment itself. If token’s user does not have “read” on comment’s source a 404 HTTP response will be returned.  Authorization​: no.
   124   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   125   * @param interventionCommentId
   126  @return InterventionComment
   127  */
   128  func (a *InterventionCommentsApiService) DeleteInterventionComment(ctx context.Context, interventionCommentId string) (InterventionComment, *http.Response, error) {
   129  	var (
   130  		localVarHttpMethod   = http.MethodDelete
   131  		localVarPostBody     interface{}
   132  		localVarFormFileName string
   133  		localVarFileName     string
   134  		localVarFileBytes    []byte
   135  		localVarReturnValue  InterventionComment
   136  	)
   137  
   138  	// create path and map variables
   139  	localVarPath := a.client.cfg.BasePath + "/intervention_comments/{interventionCommentId}"
   140  	localVarPath = strings.Replace(localVarPath, "{"+"interventionCommentId"+"}", fmt.Sprintf("%v", interventionCommentId), -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{}
   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  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   164  	if err != nil {
   165  		return localVarReturnValue, nil, err
   166  	}
   167  
   168  	localVarHttpResponse, err := a.client.callAPI(r)
   169  	if err != nil || localVarHttpResponse == nil {
   170  		return localVarReturnValue, localVarHttpResponse, err
   171  	}
   172  
   173  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   174  	localVarHttpResponse.Body.Close()
   175  	if err != nil {
   176  		return localVarReturnValue, localVarHttpResponse, err
   177  	}
   178  
   179  	if localVarHttpResponse.StatusCode >= 300 {
   180  		newErr := GenericOpenAPIError{
   181  			body:  localVarBody,
   182  			error: localVarHttpResponse.Status,
   183  		}
   184  		if localVarHttpResponse.StatusCode == 200 {
   185  			var v InterventionComment
   186  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   187  			if err != nil {
   188  				newErr.error = err.Error()
   189  				return localVarReturnValue, localVarHttpResponse, newErr
   190  			}
   191  			newErr.model = v
   192  			return localVarReturnValue, localVarHttpResponse, newErr
   193  		}
   194  		return localVarReturnValue, localVarHttpResponse, newErr
   195  	}
   196  
   197  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   198  	if err != nil {
   199  		newErr := GenericOpenAPIError{
   200  			body:  localVarBody,
   201  			error: err.Error(),
   202  		}
   203  		return localVarReturnValue, localVarHttpResponse, newErr
   204  	}
   205  
   206  	return localVarReturnValue, localVarHttpResponse, nil
   207  }
   208  
   209  /*
   210  InterventionCommentsApiService Getting all intervention comments
   211  This method renders interventions comments ordered by creation date (descending). Only comments in sources where token’s user has “read” permission are returned.  Authorization​: no.
   212   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   213   * @param optional nil or *GetAllInterventionCommentsOpts - Optional Parameters:
   214   * @param "InterventionId" (optional.String) -  To filter comments on given intervention id.
   215   * @param "ThreadId" (optional.String) -  To filter comments on given thread id.
   216   * @param "UserId" (optional.String) -  To filter comments on given user id.
   217   * @param "IdentityId" (optional.String) -  To filter comments on given identity id.
   218   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
   219   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
   220  @return GetAllInterventionCommentsResponse
   221  */
   222  
   223  type GetAllInterventionCommentsOpts struct {
   224  	InterventionId optional.String
   225  	ThreadId       optional.String
   226  	UserId         optional.String
   227  	IdentityId     optional.String
   228  	Offset         optional.Int32
   229  	Limit          optional.Int32
   230  }
   231  
   232  func (a *InterventionCommentsApiService) GetAllInterventionComments(ctx context.Context, localVarOptionals *GetAllInterventionCommentsOpts) (GetAllInterventionCommentsResponse, *http.Response, error) {
   233  	var (
   234  		localVarHttpMethod   = http.MethodGet
   235  		localVarPostBody     interface{}
   236  		localVarFormFileName string
   237  		localVarFileName     string
   238  		localVarFileBytes    []byte
   239  		localVarReturnValue  GetAllInterventionCommentsResponse
   240  	)
   241  
   242  	// create path and map variables
   243  	localVarPath := a.client.cfg.BasePath + "/intervention_comments"
   244  
   245  	localVarHeaderParams := make(map[string]string)
   246  	localVarQueryParams := url.Values{}
   247  	localVarFormParams := url.Values{}
   248  
   249  	if localVarOptionals != nil && localVarOptionals.InterventionId.IsSet() {
   250  		localVarQueryParams.Add("intervention_id", parameterToString(localVarOptionals.InterventionId.Value(), ""))
   251  	}
   252  	if localVarOptionals != nil && localVarOptionals.ThreadId.IsSet() {
   253  		localVarQueryParams.Add("thread_id", parameterToString(localVarOptionals.ThreadId.Value(), ""))
   254  	}
   255  	if localVarOptionals != nil && localVarOptionals.UserId.IsSet() {
   256  		localVarQueryParams.Add("user_id", parameterToString(localVarOptionals.UserId.Value(), ""))
   257  	}
   258  	if localVarOptionals != nil && localVarOptionals.IdentityId.IsSet() {
   259  		localVarQueryParams.Add("identity_id", parameterToString(localVarOptionals.IdentityId.Value(), ""))
   260  	}
   261  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
   262  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
   263  	}
   264  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   265  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   266  	}
   267  	// to determine the Content-Type header
   268  	localVarHttpContentTypes := []string{}
   269  
   270  	// set Content-Type header
   271  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   272  	if localVarHttpContentType != "" {
   273  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   274  	}
   275  
   276  	// to determine the Accept header
   277  	localVarHttpHeaderAccepts := []string{"application/json"}
   278  
   279  	// set Accept header
   280  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   281  	if localVarHttpHeaderAccept != "" {
   282  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   283  	}
   284  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   285  	if err != nil {
   286  		return localVarReturnValue, nil, err
   287  	}
   288  
   289  	localVarHttpResponse, err := a.client.callAPI(r)
   290  	if err != nil || localVarHttpResponse == nil {
   291  		return localVarReturnValue, localVarHttpResponse, err
   292  	}
   293  
   294  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   295  	localVarHttpResponse.Body.Close()
   296  	if err != nil {
   297  		return localVarReturnValue, localVarHttpResponse, err
   298  	}
   299  
   300  	if localVarHttpResponse.StatusCode >= 300 {
   301  		newErr := GenericOpenAPIError{
   302  			body:  localVarBody,
   303  			error: localVarHttpResponse.Status,
   304  		}
   305  		if localVarHttpResponse.StatusCode == 200 {
   306  			var v GetAllInterventionCommentsResponse
   307  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   308  			if err != nil {
   309  				newErr.error = err.Error()
   310  				return localVarReturnValue, localVarHttpResponse, newErr
   311  			}
   312  			newErr.model = v
   313  			return localVarReturnValue, localVarHttpResponse, newErr
   314  		}
   315  		return localVarReturnValue, localVarHttpResponse, newErr
   316  	}
   317  
   318  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   319  	if err != nil {
   320  		newErr := GenericOpenAPIError{
   321  			body:  localVarBody,
   322  			error: err.Error(),
   323  		}
   324  		return localVarReturnValue, localVarHttpResponse, newErr
   325  	}
   326  
   327  	return localVarReturnValue, localVarHttpResponse, nil
   328  }
   329  
   330  /*
   331  InterventionCommentsApiService Getting an intervention comment from its id
   332  This method renders an intervention comment from given id. If token’s user does not have “read” on comment’s source a 404 HTTP response will be returned.
   333   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   334   * @param interventionCommentId
   335  @return InterventionComment
   336  */
   337  func (a *InterventionCommentsApiService) GetInterventionComment(ctx context.Context, interventionCommentId string) (InterventionComment, *http.Response, error) {
   338  	var (
   339  		localVarHttpMethod   = http.MethodGet
   340  		localVarPostBody     interface{}
   341  		localVarFormFileName string
   342  		localVarFileName     string
   343  		localVarFileBytes    []byte
   344  		localVarReturnValue  InterventionComment
   345  	)
   346  
   347  	// create path and map variables
   348  	localVarPath := a.client.cfg.BasePath + "/intervention_comments/{interventionCommentId}"
   349  	localVarPath = strings.Replace(localVarPath, "{"+"interventionCommentId"+"}", fmt.Sprintf("%v", interventionCommentId), -1)
   350  
   351  	localVarHeaderParams := make(map[string]string)
   352  	localVarQueryParams := url.Values{}
   353  	localVarFormParams := url.Values{}
   354  
   355  	// to determine the Content-Type header
   356  	localVarHttpContentTypes := []string{}
   357  
   358  	// set Content-Type header
   359  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   360  	if localVarHttpContentType != "" {
   361  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   362  	}
   363  
   364  	// to determine the Accept header
   365  	localVarHttpHeaderAccepts := []string{"application/json"}
   366  
   367  	// set Accept header
   368  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   369  	if localVarHttpHeaderAccept != "" {
   370  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   371  	}
   372  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   373  	if err != nil {
   374  		return localVarReturnValue, nil, err
   375  	}
   376  
   377  	localVarHttpResponse, err := a.client.callAPI(r)
   378  	if err != nil || localVarHttpResponse == nil {
   379  		return localVarReturnValue, localVarHttpResponse, err
   380  	}
   381  
   382  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   383  	localVarHttpResponse.Body.Close()
   384  	if err != nil {
   385  		return localVarReturnValue, localVarHttpResponse, err
   386  	}
   387  
   388  	if localVarHttpResponse.StatusCode >= 300 {
   389  		newErr := GenericOpenAPIError{
   390  			body:  localVarBody,
   391  			error: localVarHttpResponse.Status,
   392  		}
   393  		if localVarHttpResponse.StatusCode == 200 {
   394  			var v InterventionComment
   395  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   396  			if err != nil {
   397  				newErr.error = err.Error()
   398  				return localVarReturnValue, localVarHttpResponse, newErr
   399  			}
   400  			newErr.model = v
   401  			return localVarReturnValue, localVarHttpResponse, newErr
   402  		}
   403  		return localVarReturnValue, localVarHttpResponse, newErr
   404  	}
   405  
   406  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   407  	if err != nil {
   408  		newErr := GenericOpenAPIError{
   409  			body:  localVarBody,
   410  			error: err.Error(),
   411  		}
   412  		return localVarReturnValue, localVarHttpResponse, newErr
   413  	}
   414  
   415  	return localVarReturnValue, localVarHttpResponse, nil
   416  }