github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_threads.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  	"reflect"
    20  	"strings"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type ThreadsApiService service
    29  
    30  /*
    31  ThreadsApiService Archiving a thread
    32  Archives the contents of a thread. If token’s user does not have “read” on thread’s source a 404 HTTP response will be returned.  If the thread is already being archived, a 409 HTTP response will be returned.  Authorization​: no.
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param threadId
    35  @return Thread
    36  */
    37  func (a *ThreadsApiService) ArchiveThread(ctx context.Context, threadId string) (Thread, *http.Response, error) {
    38  	var (
    39  		localVarHttpMethod   = http.MethodPut
    40  		localVarPostBody     interface{}
    41  		localVarFormFileName string
    42  		localVarFileName     string
    43  		localVarFileBytes    []byte
    44  		localVarReturnValue  Thread
    45  	)
    46  
    47  	// create path and map variables
    48  	localVarPath := a.client.cfg.BasePath + "/content_threads/{threadId}/ignore"
    49  	localVarPath = strings.Replace(localVarPath, "{"+"threadId"+"}", fmt.Sprintf("%v", threadId), -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 == 200 {
    94  			var v Thread
    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  ThreadsApiService Categorizing a thread
   120  This method updates the categories of a thread. If token’s user does not have “read” on thread’s source a 404 HTTP response will be returned.  If the thread is already being categorized, a 409 HTTP response will be returned.  Authorization​: no.
   121   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   122   * @param threadId
   123   * @param optional nil or *CategorizeThreadOpts - Optional Parameters:
   124   * @param "ThreadCategoryIds" (optional.Interface of []string) -  An array containing the new categories to set on the thread.
   125  @return Thread
   126  */
   127  
   128  type CategorizeThreadOpts struct {
   129  	ThreadCategoryIds optional.Interface
   130  }
   131  
   132  func (a *ThreadsApiService) CategorizeThread(ctx context.Context, threadId string, localVarOptionals *CategorizeThreadOpts) (Thread, *http.Response, error) {
   133  	var (
   134  		localVarHttpMethod   = http.MethodPut
   135  		localVarPostBody     interface{}
   136  		localVarFormFileName string
   137  		localVarFileName     string
   138  		localVarFileBytes    []byte
   139  		localVarReturnValue  Thread
   140  	)
   141  
   142  	// create path and map variables
   143  	localVarPath := a.client.cfg.BasePath + "/content_threads/{threadId}/update_categories"
   144  	localVarPath = strings.Replace(localVarPath, "{"+"threadId"+"}", fmt.Sprintf("%v", threadId), -1)
   145  
   146  	localVarHeaderParams := make(map[string]string)
   147  	localVarQueryParams := url.Values{}
   148  	localVarFormParams := url.Values{}
   149  
   150  	if localVarOptionals != nil && localVarOptionals.ThreadCategoryIds.IsSet() {
   151  		t := localVarOptionals.ThreadCategoryIds.Value()
   152  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   153  			s := reflect.ValueOf(t)
   154  			for i := 0; i < s.Len(); i++ {
   155  				localVarQueryParams.Add("thread_category_ids[]", parameterToString(s.Index(i), "multi"))
   156  			}
   157  		} else {
   158  			localVarQueryParams.Add("thread_category_ids[]", parameterToString(t, "multi"))
   159  		}
   160  	}
   161  	// to determine the Content-Type header
   162  	localVarHttpContentTypes := []string{}
   163  
   164  	// set Content-Type header
   165  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   166  	if localVarHttpContentType != "" {
   167  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   168  	}
   169  
   170  	// to determine the Accept header
   171  	localVarHttpHeaderAccepts := []string{"application/json"}
   172  
   173  	// set Accept header
   174  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   175  	if localVarHttpHeaderAccept != "" {
   176  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   177  	}
   178  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   179  	if err != nil {
   180  		return localVarReturnValue, nil, err
   181  	}
   182  
   183  	localVarHttpResponse, err := a.client.callAPI(r)
   184  	if err != nil || localVarHttpResponse == nil {
   185  		return localVarReturnValue, localVarHttpResponse, err
   186  	}
   187  
   188  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   189  	localVarHttpResponse.Body.Close()
   190  	if err != nil {
   191  		return localVarReturnValue, localVarHttpResponse, err
   192  	}
   193  
   194  	if localVarHttpResponse.StatusCode >= 300 {
   195  		newErr := GenericOpenAPIError{
   196  			body:  localVarBody,
   197  			error: localVarHttpResponse.Status,
   198  		}
   199  		if localVarHttpResponse.StatusCode == 200 {
   200  			var v Thread
   201  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   202  			if err != nil {
   203  				newErr.error = err.Error()
   204  				return localVarReturnValue, localVarHttpResponse, newErr
   205  			}
   206  			newErr.model = v
   207  			return localVarReturnValue, localVarHttpResponse, newErr
   208  		}
   209  		return localVarReturnValue, localVarHttpResponse, newErr
   210  	}
   211  
   212  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   213  	if err != nil {
   214  		newErr := GenericOpenAPIError{
   215  			body:  localVarBody,
   216  			error: err.Error(),
   217  		}
   218  		return localVarReturnValue, localVarHttpResponse, newErr
   219  	}
   220  
   221  	return localVarReturnValue, localVarHttpResponse, nil
   222  }
   223  
   224  /*
   225  ThreadsApiService Close a thread
   226  Thread closure/opening is only available for the following sources: * Emails * Answers * Ideas * Facebook Messenger * Google+ * Lithium * Mobile Messaging  Starts a job to close a thread. It returns the thread but as the job is asynchronous, the state of the “close” attribute in the returned object do not is the one when the job started.  If token’s user does not have “read” on thread’s source a 404 HTTP response will be returned. Returns a 403 if the thread cannot be closed or if the user does not have the permission to close a thread.  Authorization​: no.
   227   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   228   * @param threadId
   229  @return Thread
   230  */
   231  func (a *ThreadsApiService) CloseThread(ctx context.Context, threadId string) (Thread, *http.Response, error) {
   232  	var (
   233  		localVarHttpMethod   = http.MethodPut
   234  		localVarPostBody     interface{}
   235  		localVarFormFileName string
   236  		localVarFileName     string
   237  		localVarFileBytes    []byte
   238  		localVarReturnValue  Thread
   239  	)
   240  
   241  	// create path and map variables
   242  	localVarPath := a.client.cfg.BasePath + "/content_threads/{threadId}/close"
   243  	localVarPath = strings.Replace(localVarPath, "{"+"threadId"+"}", fmt.Sprintf("%v", threadId), -1)
   244  
   245  	localVarHeaderParams := make(map[string]string)
   246  	localVarQueryParams := url.Values{}
   247  	localVarFormParams := url.Values{}
   248  
   249  	// to determine the Content-Type header
   250  	localVarHttpContentTypes := []string{}
   251  
   252  	// set Content-Type header
   253  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   254  	if localVarHttpContentType != "" {
   255  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   256  	}
   257  
   258  	// to determine the Accept header
   259  	localVarHttpHeaderAccepts := []string{"application/json"}
   260  
   261  	// set Accept header
   262  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   263  	if localVarHttpHeaderAccept != "" {
   264  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   265  	}
   266  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   267  	if err != nil {
   268  		return localVarReturnValue, nil, err
   269  	}
   270  
   271  	localVarHttpResponse, err := a.client.callAPI(r)
   272  	if err != nil || localVarHttpResponse == nil {
   273  		return localVarReturnValue, localVarHttpResponse, err
   274  	}
   275  
   276  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   277  	localVarHttpResponse.Body.Close()
   278  	if err != nil {
   279  		return localVarReturnValue, localVarHttpResponse, err
   280  	}
   281  
   282  	if localVarHttpResponse.StatusCode >= 300 {
   283  		newErr := GenericOpenAPIError{
   284  			body:  localVarBody,
   285  			error: localVarHttpResponse.Status,
   286  		}
   287  		if localVarHttpResponse.StatusCode == 200 {
   288  			var v Thread
   289  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   290  			if err != nil {
   291  				newErr.error = err.Error()
   292  				return localVarReturnValue, localVarHttpResponse, newErr
   293  			}
   294  			newErr.model = v
   295  			return localVarReturnValue, localVarHttpResponse, newErr
   296  		}
   297  		return localVarReturnValue, localVarHttpResponse, newErr
   298  	}
   299  
   300  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   301  	if err != nil {
   302  		newErr := GenericOpenAPIError{
   303  			body:  localVarBody,
   304  			error: err.Error(),
   305  		}
   306  		return localVarReturnValue, localVarHttpResponse, newErr
   307  	}
   308  
   309  	return localVarReturnValue, localVarHttpResponse, nil
   310  }
   311  
   312  /*
   313  ThreadsApiService Getting all threads
   314  This method renders threads ordered by last content date (descending). Only threads in sources where token’s user has “read” permission are returned.  Authorization​: no.
   315   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   316   * @param optional nil or *GetAllThreadsOpts - Optional Parameters:
   317   * @param "Q" (optional.Int32) -  A search query to filter threads. Please refer to ​Search & filtering parameters​ for more details.
   318   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
   319   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
   320  @return GetAllThreadsResponse
   321  */
   322  
   323  type GetAllThreadsOpts struct {
   324  	Q      optional.Int32
   325  	Offset optional.Int32
   326  	Limit  optional.Int32
   327  }
   328  
   329  func (a *ThreadsApiService) GetAllThreads(ctx context.Context, localVarOptionals *GetAllThreadsOpts) (GetAllThreadsResponse, *http.Response, error) {
   330  	var (
   331  		localVarHttpMethod   = http.MethodGet
   332  		localVarPostBody     interface{}
   333  		localVarFormFileName string
   334  		localVarFileName     string
   335  		localVarFileBytes    []byte
   336  		localVarReturnValue  GetAllThreadsResponse
   337  	)
   338  
   339  	// create path and map variables
   340  	localVarPath := a.client.cfg.BasePath + "/content_threads"
   341  
   342  	localVarHeaderParams := make(map[string]string)
   343  	localVarQueryParams := url.Values{}
   344  	localVarFormParams := url.Values{}
   345  
   346  	if localVarOptionals != nil && localVarOptionals.Q.IsSet() {
   347  		localVarQueryParams.Add("q", parameterToString(localVarOptionals.Q.Value(), ""))
   348  	}
   349  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
   350  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
   351  	}
   352  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   353  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   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 GetAllThreadsResponse
   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  }
   417  
   418  /*
   419  ThreadsApiService Getting a thread from its id
   420  This method renders a thread from given id. If token’s user does not have “read” on thread’s source a 404 HTTP response will be returned.  Authorization​: no.
   421   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   422   * @param threadId
   423  @return Thread
   424  */
   425  func (a *ThreadsApiService) GetThread(ctx context.Context, threadId string) (Thread, *http.Response, error) {
   426  	var (
   427  		localVarHttpMethod   = http.MethodGet
   428  		localVarPostBody     interface{}
   429  		localVarFormFileName string
   430  		localVarFileName     string
   431  		localVarFileBytes    []byte
   432  		localVarReturnValue  Thread
   433  	)
   434  
   435  	// create path and map variables
   436  	localVarPath := a.client.cfg.BasePath + "/content_threads/{threadId}"
   437  	localVarPath = strings.Replace(localVarPath, "{"+"threadId"+"}", fmt.Sprintf("%v", threadId), -1)
   438  
   439  	localVarHeaderParams := make(map[string]string)
   440  	localVarQueryParams := url.Values{}
   441  	localVarFormParams := url.Values{}
   442  
   443  	// to determine the Content-Type header
   444  	localVarHttpContentTypes := []string{}
   445  
   446  	// set Content-Type header
   447  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   448  	if localVarHttpContentType != "" {
   449  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   450  	}
   451  
   452  	// to determine the Accept header
   453  	localVarHttpHeaderAccepts := []string{"application/json"}
   454  
   455  	// set Accept header
   456  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   457  	if localVarHttpHeaderAccept != "" {
   458  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   459  	}
   460  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   461  	if err != nil {
   462  		return localVarReturnValue, nil, err
   463  	}
   464  
   465  	localVarHttpResponse, err := a.client.callAPI(r)
   466  	if err != nil || localVarHttpResponse == nil {
   467  		return localVarReturnValue, localVarHttpResponse, err
   468  	}
   469  
   470  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   471  	localVarHttpResponse.Body.Close()
   472  	if err != nil {
   473  		return localVarReturnValue, localVarHttpResponse, err
   474  	}
   475  
   476  	if localVarHttpResponse.StatusCode >= 300 {
   477  		newErr := GenericOpenAPIError{
   478  			body:  localVarBody,
   479  			error: localVarHttpResponse.Status,
   480  		}
   481  		if localVarHttpResponse.StatusCode == 200 {
   482  			var v Thread
   483  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   484  			if err != nil {
   485  				newErr.error = err.Error()
   486  				return localVarReturnValue, localVarHttpResponse, newErr
   487  			}
   488  			newErr.model = v
   489  			return localVarReturnValue, localVarHttpResponse, newErr
   490  		}
   491  		return localVarReturnValue, localVarHttpResponse, newErr
   492  	}
   493  
   494  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   495  	if err != nil {
   496  		newErr := GenericOpenAPIError{
   497  			body:  localVarBody,
   498  			error: err.Error(),
   499  		}
   500  		return localVarReturnValue, localVarHttpResponse, newErr
   501  	}
   502  
   503  	return localVarReturnValue, localVarHttpResponse, nil
   504  }
   505  
   506  /*
   507  ThreadsApiService Open a thread
   508  Thread closure/opening is only available for the following sources:  * Emails * Answers * Ideas * Facebook Messenger * Google+ * Lithium * Mobile Messaging  Starts a job to open a thread. It returns the thread but as the job is asynchronous, the state of the “close” attribute in the returned object is the one when the job started.  If token’s user does not have “read” on thread’s source a 404 HTTP response will be returned. Returns a 403 if the thread cannot be opened or if the user does not have the permission to open a thread.  Authorization​: no.
   509   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   510   * @param threadId
   511  @return Thread
   512  */
   513  func (a *ThreadsApiService) OpenThread(ctx context.Context, threadId string) (Thread, *http.Response, error) {
   514  	var (
   515  		localVarHttpMethod   = http.MethodGet
   516  		localVarPostBody     interface{}
   517  		localVarFormFileName string
   518  		localVarFileName     string
   519  		localVarFileBytes    []byte
   520  		localVarReturnValue  Thread
   521  	)
   522  
   523  	// create path and map variables
   524  	localVarPath := a.client.cfg.BasePath + "/content_threads/{threadId}/open"
   525  	localVarPath = strings.Replace(localVarPath, "{"+"threadId"+"}", fmt.Sprintf("%v", threadId), -1)
   526  
   527  	localVarHeaderParams := make(map[string]string)
   528  	localVarQueryParams := url.Values{}
   529  	localVarFormParams := url.Values{}
   530  
   531  	// to determine the Content-Type header
   532  	localVarHttpContentTypes := []string{}
   533  
   534  	// set Content-Type header
   535  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   536  	if localVarHttpContentType != "" {
   537  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   538  	}
   539  
   540  	// to determine the Accept header
   541  	localVarHttpHeaderAccepts := []string{"application/json"}
   542  
   543  	// set Accept header
   544  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   545  	if localVarHttpHeaderAccept != "" {
   546  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   547  	}
   548  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   549  	if err != nil {
   550  		return localVarReturnValue, nil, err
   551  	}
   552  
   553  	localVarHttpResponse, err := a.client.callAPI(r)
   554  	if err != nil || localVarHttpResponse == nil {
   555  		return localVarReturnValue, localVarHttpResponse, err
   556  	}
   557  
   558  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   559  	localVarHttpResponse.Body.Close()
   560  	if err != nil {
   561  		return localVarReturnValue, localVarHttpResponse, err
   562  	}
   563  
   564  	if localVarHttpResponse.StatusCode >= 300 {
   565  		newErr := GenericOpenAPIError{
   566  			body:  localVarBody,
   567  			error: localVarHttpResponse.Status,
   568  		}
   569  		if localVarHttpResponse.StatusCode == 200 {
   570  			var v Thread
   571  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   572  			if err != nil {
   573  				newErr.error = err.Error()
   574  				return localVarReturnValue, localVarHttpResponse, newErr
   575  			}
   576  			newErr.model = v
   577  			return localVarReturnValue, localVarHttpResponse, newErr
   578  		}
   579  		return localVarReturnValue, localVarHttpResponse, newErr
   580  	}
   581  
   582  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   583  	if err != nil {
   584  		newErr := GenericOpenAPIError{
   585  			body:  localVarBody,
   586  			error: err.Error(),
   587  		}
   588  		return localVarReturnValue, localVarHttpResponse, newErr
   589  	}
   590  
   591  	return localVarReturnValue, localVarHttpResponse, nil
   592  }