github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_glip.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  	"github.com/antihax/optional"
    16  	"io/ioutil"
    17  	"net/http"
    18  	"net/url"
    19  	"os"
    20  	"strings"
    21  )
    22  
    23  // Linger please
    24  var (
    25  	_ context.Context
    26  )
    27  
    28  type GlipApiService service
    29  
    30  /*
    31  GlipApiService Upload File
    32  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Posts a file.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Heavy&lt;/p&gt;
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param body The file to upload
    35   * @param optional nil or *CreateGlipFileOpts - Optional Parameters:
    36   * @param "GroupId" (optional.String) -  Internal identifier of a group the post with file attached will be added to
    37   * @param "Name" (optional.String) -  Name of a file attached
    38  @return PostGlipFile
    39  */
    40  
    41  type CreateGlipFileOpts struct {
    42  	GroupId optional.String
    43  	Name    optional.String
    44  }
    45  
    46  func (a *GlipApiService) CreateGlipFile(ctx context.Context, body *os.File, localVarOptionals *CreateGlipFileOpts) (PostGlipFile, *http.Response, error) {
    47  	var (
    48  		localVarHttpMethod   = strings.ToUpper("Post")
    49  		localVarPostBody     interface{}
    50  		localVarFormFileName string
    51  		localVarFileName     string
    52  		localVarFileBytes    []byte
    53  		localVarReturnValue  PostGlipFile
    54  	)
    55  
    56  	// create path and map variables
    57  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/files"
    58  
    59  	localVarHeaderParams := make(map[string]string)
    60  	localVarQueryParams := url.Values{}
    61  	localVarFormParams := url.Values{}
    62  
    63  	if localVarOptionals != nil && localVarOptionals.GroupId.IsSet() {
    64  		localVarQueryParams.Add("groupId", parameterToString(localVarOptionals.GroupId.Value(), ""))
    65  	}
    66  	// to determine the Content-Type header
    67  	localVarHttpContentTypes := []string{"multipart/form-data"}
    68  
    69  	// set Content-Type header
    70  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    71  	if localVarHttpContentType != "" {
    72  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    73  	}
    74  
    75  	// to determine the Accept header
    76  	localVarHttpHeaderAccepts := []string{"application/json"}
    77  
    78  	// set Accept header
    79  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    80  	if localVarHttpHeaderAccept != "" {
    81  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    82  	}
    83  	localVarFormFileName = "body"
    84  	localVarFile := body
    85  	if localVarFile != nil {
    86  		fbs, _ := ioutil.ReadAll(localVarFile)
    87  		localVarFileBytes = fbs
    88  		localVarFileName = localVarFile.Name()
    89  		localVarFile.Close()
    90  	}
    91  	if localVarOptionals != nil && localVarOptionals.Name.IsSet() {
    92  		localVarFormParams.Add("name", parameterToString(localVarOptionals.Name.Value(), ""))
    93  	}
    94  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    95  	if err != nil {
    96  		return localVarReturnValue, nil, err
    97  	}
    98  
    99  	localVarHttpResponse, err := a.client.callAPI(r)
   100  	if err != nil || localVarHttpResponse == nil {
   101  		return localVarReturnValue, localVarHttpResponse, err
   102  	}
   103  
   104  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   105  	localVarHttpResponse.Body.Close()
   106  	if err != nil {
   107  		return localVarReturnValue, localVarHttpResponse, err
   108  	}
   109  
   110  	if localVarHttpResponse.StatusCode >= 300 {
   111  		newErr := GenericOpenAPIError{
   112  			body:  localVarBody,
   113  			error: localVarHttpResponse.Status,
   114  		}
   115  		if localVarHttpResponse.StatusCode == 0 {
   116  			var v PostGlipFile
   117  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   118  			if err != nil {
   119  				newErr.error = err.Error()
   120  				return localVarReturnValue, localVarHttpResponse, newErr
   121  			}
   122  			newErr.model = v
   123  			return localVarReturnValue, localVarHttpResponse, newErr
   124  		}
   125  		return localVarReturnValue, localVarHttpResponse, newErr
   126  	}
   127  
   128  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   129  	if err != nil {
   130  		newErr := GenericOpenAPIError{
   131  			body:  localVarBody,
   132  			error: err.Error(),
   133  		}
   134  		return localVarReturnValue, localVarHttpResponse, newErr
   135  	}
   136  
   137  	return localVarReturnValue, localVarHttpResponse, nil
   138  }
   139  
   140  /*
   141  GlipApiService Create Group
   142  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Creates a group.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   143   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   144   * @param glipCreateGroup JSON body
   145  @return GlipGroupInfo
   146  */
   147  func (a *GlipApiService) CreateGroup(ctx context.Context, glipCreateGroup GlipCreateGroup) (GlipGroupInfo, *http.Response, error) {
   148  	var (
   149  		localVarHttpMethod   = strings.ToUpper("Post")
   150  		localVarPostBody     interface{}
   151  		localVarFormFileName string
   152  		localVarFileName     string
   153  		localVarFileBytes    []byte
   154  		localVarReturnValue  GlipGroupInfo
   155  	)
   156  
   157  	// create path and map variables
   158  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups"
   159  
   160  	localVarHeaderParams := make(map[string]string)
   161  	localVarQueryParams := url.Values{}
   162  	localVarFormParams := url.Values{}
   163  
   164  	// to determine the Content-Type header
   165  	localVarHttpContentTypes := []string{"application/json"}
   166  
   167  	// set Content-Type header
   168  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   169  	if localVarHttpContentType != "" {
   170  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   171  	}
   172  
   173  	// to determine the Accept header
   174  	localVarHttpHeaderAccepts := []string{"application/json"}
   175  
   176  	// set Accept header
   177  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   178  	if localVarHttpHeaderAccept != "" {
   179  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   180  	}
   181  	// body params
   182  	localVarPostBody = &glipCreateGroup
   183  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   184  	if err != nil {
   185  		return localVarReturnValue, nil, err
   186  	}
   187  
   188  	localVarHttpResponse, err := a.client.callAPI(r)
   189  	if err != nil || localVarHttpResponse == nil {
   190  		return localVarReturnValue, localVarHttpResponse, err
   191  	}
   192  
   193  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   194  	localVarHttpResponse.Body.Close()
   195  	if err != nil {
   196  		return localVarReturnValue, localVarHttpResponse, err
   197  	}
   198  
   199  	if localVarHttpResponse.StatusCode >= 300 {
   200  		newErr := GenericOpenAPIError{
   201  			body:  localVarBody,
   202  			error: localVarHttpResponse.Status,
   203  		}
   204  		if localVarHttpResponse.StatusCode == 0 {
   205  			var v GlipGroupInfo
   206  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   207  			if err != nil {
   208  				newErr.error = err.Error()
   209  				return localVarReturnValue, localVarHttpResponse, newErr
   210  			}
   211  			newErr.model = v
   212  			return localVarReturnValue, localVarHttpResponse, newErr
   213  		}
   214  		return localVarReturnValue, localVarHttpResponse, newErr
   215  	}
   216  
   217  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   218  	if err != nil {
   219  		newErr := GenericOpenAPIError{
   220  			body:  localVarBody,
   221  			error: err.Error(),
   222  		}
   223  		return localVarReturnValue, localVarHttpResponse, newErr
   224  	}
   225  
   226  	return localVarReturnValue, localVarHttpResponse, nil
   227  }
   228  
   229  /*
   230  GlipApiService Create Post
   231  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Creates a post.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   232   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   233   * @param groupId Id of a group to send post
   234   * @param glipCreatePost JSON body
   235  @return GlipPostInfo
   236  */
   237  func (a *GlipApiService) CreatePost(ctx context.Context, groupId string, glipCreatePost GlipCreatePost) (GlipPostInfo, *http.Response, error) {
   238  	var (
   239  		localVarHttpMethod   = strings.ToUpper("Post")
   240  		localVarPostBody     interface{}
   241  		localVarFormFileName string
   242  		localVarFileName     string
   243  		localVarFileBytes    []byte
   244  		localVarReturnValue  GlipPostInfo
   245  	)
   246  
   247  	// create path and map variables
   248  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups/{groupId}/posts"
   249  	localVarPath = strings.Replace(localVarPath, "{"+"groupId"+"}", fmt.Sprintf("%v", groupId), -1)
   250  
   251  	localVarHeaderParams := make(map[string]string)
   252  	localVarQueryParams := url.Values{}
   253  	localVarFormParams := url.Values{}
   254  
   255  	// to determine the Content-Type header
   256  	localVarHttpContentTypes := []string{"application/json"}
   257  
   258  	// set Content-Type header
   259  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   260  	if localVarHttpContentType != "" {
   261  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   262  	}
   263  
   264  	// to determine the Accept header
   265  	localVarHttpHeaderAccepts := []string{"application/json"}
   266  
   267  	// set Accept header
   268  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   269  	if localVarHttpHeaderAccept != "" {
   270  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   271  	}
   272  	// body params
   273  	localVarPostBody = &glipCreatePost
   274  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   275  	if err != nil {
   276  		return localVarReturnValue, nil, err
   277  	}
   278  
   279  	localVarHttpResponse, err := a.client.callAPI(r)
   280  	if err != nil || localVarHttpResponse == nil {
   281  		return localVarReturnValue, localVarHttpResponse, err
   282  	}
   283  
   284  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   285  	localVarHttpResponse.Body.Close()
   286  	if err != nil {
   287  		return localVarReturnValue, localVarHttpResponse, err
   288  	}
   289  
   290  	if localVarHttpResponse.StatusCode >= 300 {
   291  		newErr := GenericOpenAPIError{
   292  			body:  localVarBody,
   293  			error: localVarHttpResponse.Status,
   294  		}
   295  		if localVarHttpResponse.StatusCode == 0 {
   296  			var v GlipPostInfo
   297  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   298  			if err != nil {
   299  				newErr.error = err.Error()
   300  				return localVarReturnValue, localVarHttpResponse, newErr
   301  			}
   302  			newErr.model = v
   303  			return localVarReturnValue, localVarHttpResponse, newErr
   304  		}
   305  		return localVarReturnValue, localVarHttpResponse, newErr
   306  	}
   307  
   308  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   309  	if err != nil {
   310  		newErr := GenericOpenAPIError{
   311  			body:  localVarBody,
   312  			error: err.Error(),
   313  		}
   314  		return localVarReturnValue, localVarHttpResponse, newErr
   315  	}
   316  
   317  	return localVarReturnValue, localVarHttpResponse, nil
   318  }
   319  
   320  /*
   321  GlipApiService Get Company Info
   322  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns a company by ID.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   323   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   324   * @param companyId Internal identifier of an RC account/Glip company, or tilde (~) to indicate a company the current user belongs to
   325  @return GlipCompany
   326  */
   327  func (a *GlipApiService) LoadCompany(ctx context.Context, companyId string) (GlipCompany, *http.Response, error) {
   328  	var (
   329  		localVarHttpMethod   = strings.ToUpper("Get")
   330  		localVarPostBody     interface{}
   331  		localVarFormFileName string
   332  		localVarFileName     string
   333  		localVarFileBytes    []byte
   334  		localVarReturnValue  GlipCompany
   335  	)
   336  
   337  	// create path and map variables
   338  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/companies/{companyId}"
   339  	localVarPath = strings.Replace(localVarPath, "{"+"companyId"+"}", fmt.Sprintf("%v", companyId), -1)
   340  
   341  	localVarHeaderParams := make(map[string]string)
   342  	localVarQueryParams := url.Values{}
   343  	localVarFormParams := url.Values{}
   344  
   345  	// to determine the Content-Type header
   346  	localVarHttpContentTypes := []string{}
   347  
   348  	// set Content-Type header
   349  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   350  	if localVarHttpContentType != "" {
   351  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   352  	}
   353  
   354  	// to determine the Accept header
   355  	localVarHttpHeaderAccepts := []string{"application/json"}
   356  
   357  	// set Accept header
   358  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   359  	if localVarHttpHeaderAccept != "" {
   360  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   361  	}
   362  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   363  	if err != nil {
   364  		return localVarReturnValue, nil, err
   365  	}
   366  
   367  	localVarHttpResponse, err := a.client.callAPI(r)
   368  	if err != nil || localVarHttpResponse == nil {
   369  		return localVarReturnValue, localVarHttpResponse, err
   370  	}
   371  
   372  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   373  	localVarHttpResponse.Body.Close()
   374  	if err != nil {
   375  		return localVarReturnValue, localVarHttpResponse, err
   376  	}
   377  
   378  	if localVarHttpResponse.StatusCode >= 300 {
   379  		newErr := GenericOpenAPIError{
   380  			body:  localVarBody,
   381  			error: localVarHttpResponse.Status,
   382  		}
   383  		if localVarHttpResponse.StatusCode == 0 {
   384  			var v GlipCompany
   385  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   386  			if err != nil {
   387  				newErr.error = err.Error()
   388  				return localVarReturnValue, localVarHttpResponse, newErr
   389  			}
   390  			newErr.model = v
   391  			return localVarReturnValue, localVarHttpResponse, newErr
   392  		}
   393  		return localVarReturnValue, localVarHttpResponse, newErr
   394  	}
   395  
   396  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   397  	if err != nil {
   398  		newErr := GenericOpenAPIError{
   399  			body:  localVarBody,
   400  			error: err.Error(),
   401  		}
   402  		return localVarReturnValue, localVarHttpResponse, newErr
   403  	}
   404  
   405  	return localVarReturnValue, localVarHttpResponse, nil
   406  }
   407  
   408  /*
   409  GlipApiService Get File Info
   410  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.31 (Release 9.2)&lt;/p&gt;&lt;p&gt;Returns a file.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   411   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   412   * @param fileId Internal identifier of file.
   413  @return PostGlipFile
   414  */
   415  func (a *GlipApiService) LoadGlipFile(ctx context.Context, fileId string) (PostGlipFile, *http.Response, error) {
   416  	var (
   417  		localVarHttpMethod   = strings.ToUpper("Get")
   418  		localVarPostBody     interface{}
   419  		localVarFormFileName string
   420  		localVarFileName     string
   421  		localVarFileBytes    []byte
   422  		localVarReturnValue  PostGlipFile
   423  	)
   424  
   425  	// create path and map variables
   426  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/files/{fileId}"
   427  	localVarPath = strings.Replace(localVarPath, "{"+"fileId"+"}", fmt.Sprintf("%v", fileId), -1)
   428  
   429  	localVarHeaderParams := make(map[string]string)
   430  	localVarQueryParams := url.Values{}
   431  	localVarFormParams := url.Values{}
   432  
   433  	// to determine the Content-Type header
   434  	localVarHttpContentTypes := []string{}
   435  
   436  	// set Content-Type header
   437  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   438  	if localVarHttpContentType != "" {
   439  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   440  	}
   441  
   442  	// to determine the Accept header
   443  	localVarHttpHeaderAccepts := []string{"application/json"}
   444  
   445  	// set Accept header
   446  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   447  	if localVarHttpHeaderAccept != "" {
   448  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   449  	}
   450  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   451  	if err != nil {
   452  		return localVarReturnValue, nil, err
   453  	}
   454  
   455  	localVarHttpResponse, err := a.client.callAPI(r)
   456  	if err != nil || localVarHttpResponse == nil {
   457  		return localVarReturnValue, localVarHttpResponse, err
   458  	}
   459  
   460  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   461  	localVarHttpResponse.Body.Close()
   462  	if err != nil {
   463  		return localVarReturnValue, localVarHttpResponse, err
   464  	}
   465  
   466  	if localVarHttpResponse.StatusCode >= 300 {
   467  		newErr := GenericOpenAPIError{
   468  			body:  localVarBody,
   469  			error: localVarHttpResponse.Status,
   470  		}
   471  		if localVarHttpResponse.StatusCode == 0 {
   472  			var v PostGlipFile
   473  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   474  			if err != nil {
   475  				newErr.error = err.Error()
   476  				return localVarReturnValue, localVarHttpResponse, newErr
   477  			}
   478  			newErr.model = v
   479  			return localVarReturnValue, localVarHttpResponse, newErr
   480  		}
   481  		return localVarReturnValue, localVarHttpResponse, newErr
   482  	}
   483  
   484  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   485  	if err != nil {
   486  		newErr := GenericOpenAPIError{
   487  			body:  localVarBody,
   488  			error: err.Error(),
   489  		}
   490  		return localVarReturnValue, localVarHttpResponse, newErr
   491  	}
   492  
   493  	return localVarReturnValue, localVarHttpResponse, nil
   494  }
   495  
   496  /*
   497  GlipApiService Get Group
   498  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns a group or few groups by ID(s). Batch request is supported.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   499   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   500   * @param groupId Internal identifier of a group to be returned, the maximum number of IDs is 30
   501  @return GlipGroupInfo
   502  */
   503  func (a *GlipApiService) LoadGroup(ctx context.Context, groupId string) (GlipGroupInfo, *http.Response, error) {
   504  	var (
   505  		localVarHttpMethod   = strings.ToUpper("Get")
   506  		localVarPostBody     interface{}
   507  		localVarFormFileName string
   508  		localVarFileName     string
   509  		localVarFileBytes    []byte
   510  		localVarReturnValue  GlipGroupInfo
   511  	)
   512  
   513  	// create path and map variables
   514  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups/{groupId}"
   515  	localVarPath = strings.Replace(localVarPath, "{"+"groupId"+"}", fmt.Sprintf("%v", groupId), -1)
   516  
   517  	localVarHeaderParams := make(map[string]string)
   518  	localVarQueryParams := url.Values{}
   519  	localVarFormParams := url.Values{}
   520  
   521  	// to determine the Content-Type header
   522  	localVarHttpContentTypes := []string{}
   523  
   524  	// set Content-Type header
   525  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   526  	if localVarHttpContentType != "" {
   527  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   528  	}
   529  
   530  	// to determine the Accept header
   531  	localVarHttpHeaderAccepts := []string{"application/json"}
   532  
   533  	// set Accept header
   534  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   535  	if localVarHttpHeaderAccept != "" {
   536  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   537  	}
   538  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   539  	if err != nil {
   540  		return localVarReturnValue, nil, err
   541  	}
   542  
   543  	localVarHttpResponse, err := a.client.callAPI(r)
   544  	if err != nil || localVarHttpResponse == nil {
   545  		return localVarReturnValue, localVarHttpResponse, err
   546  	}
   547  
   548  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   549  	localVarHttpResponse.Body.Close()
   550  	if err != nil {
   551  		return localVarReturnValue, localVarHttpResponse, err
   552  	}
   553  
   554  	if localVarHttpResponse.StatusCode >= 300 {
   555  		newErr := GenericOpenAPIError{
   556  			body:  localVarBody,
   557  			error: localVarHttpResponse.Status,
   558  		}
   559  		if localVarHttpResponse.StatusCode == 0 {
   560  			var v GlipGroupInfo
   561  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   562  			if err != nil {
   563  				newErr.error = err.Error()
   564  				return localVarReturnValue, localVarHttpResponse, newErr
   565  			}
   566  			newErr.model = v
   567  			return localVarReturnValue, localVarHttpResponse, newErr
   568  		}
   569  		return localVarReturnValue, localVarHttpResponse, newErr
   570  	}
   571  
   572  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   573  	if err != nil {
   574  		newErr := GenericOpenAPIError{
   575  			body:  localVarBody,
   576  			error: err.Error(),
   577  		}
   578  		return localVarReturnValue, localVarHttpResponse, newErr
   579  	}
   580  
   581  	return localVarReturnValue, localVarHttpResponse, nil
   582  }
   583  
   584  /*
   585  GlipApiService Get User Groups
   586  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns the list of groups associated with the user.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   587   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   588   * @param optional nil or *LoadGroupListOpts - Optional Parameters:
   589   * @param "Type_" (optional.Interface of []string) -  Type of a group. 'PrivateChat' is a group of 2 members. 'Group' is a chat of 2 and more participants, the membership cannot be changed after group creation. 'Team' is a chat of 1 and more participants, the membership can be modified in future
   590   * @param "PageToken" (optional.String) -  Token of a page to be returned, see Glip Navigation Info
   591   * @param "RecordCount" (optional.Int64) -  Max numbers of records to be returned. The default/maximum value is 250
   592  @return GlipGroupList
   593  */
   594  
   595  type LoadGroupListOpts struct {
   596  	Type_       optional.Interface
   597  	PageToken   optional.String
   598  	RecordCount optional.Int64
   599  }
   600  
   601  func (a *GlipApiService) LoadGroupList(ctx context.Context, localVarOptionals *LoadGroupListOpts) (GlipGroupList, *http.Response, error) {
   602  	var (
   603  		localVarHttpMethod   = strings.ToUpper("Get")
   604  		localVarPostBody     interface{}
   605  		localVarFormFileName string
   606  		localVarFileName     string
   607  		localVarFileBytes    []byte
   608  		localVarReturnValue  GlipGroupList
   609  	)
   610  
   611  	// create path and map variables
   612  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups"
   613  
   614  	localVarHeaderParams := make(map[string]string)
   615  	localVarQueryParams := url.Values{}
   616  	localVarFormParams := url.Values{}
   617  
   618  	if localVarOptionals != nil && localVarOptionals.Type_.IsSet() {
   619  		localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), "multi"))
   620  	}
   621  	if localVarOptionals != nil && localVarOptionals.PageToken.IsSet() {
   622  		localVarQueryParams.Add("pageToken", parameterToString(localVarOptionals.PageToken.Value(), ""))
   623  	}
   624  	if localVarOptionals != nil && localVarOptionals.RecordCount.IsSet() {
   625  		localVarQueryParams.Add("recordCount", parameterToString(localVarOptionals.RecordCount.Value(), ""))
   626  	}
   627  	// to determine the Content-Type header
   628  	localVarHttpContentTypes := []string{}
   629  
   630  	// set Content-Type header
   631  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   632  	if localVarHttpContentType != "" {
   633  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   634  	}
   635  
   636  	// to determine the Accept header
   637  	localVarHttpHeaderAccepts := []string{"application/json"}
   638  
   639  	// set Accept header
   640  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   641  	if localVarHttpHeaderAccept != "" {
   642  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   643  	}
   644  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   645  	if err != nil {
   646  		return localVarReturnValue, nil, err
   647  	}
   648  
   649  	localVarHttpResponse, err := a.client.callAPI(r)
   650  	if err != nil || localVarHttpResponse == nil {
   651  		return localVarReturnValue, localVarHttpResponse, err
   652  	}
   653  
   654  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   655  	localVarHttpResponse.Body.Close()
   656  	if err != nil {
   657  		return localVarReturnValue, localVarHttpResponse, err
   658  	}
   659  
   660  	if localVarHttpResponse.StatusCode >= 300 {
   661  		newErr := GenericOpenAPIError{
   662  			body:  localVarBody,
   663  			error: localVarHttpResponse.Status,
   664  		}
   665  		if localVarHttpResponse.StatusCode == 0 {
   666  			var v GlipGroupList
   667  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   668  			if err != nil {
   669  				newErr.error = err.Error()
   670  				return localVarReturnValue, localVarHttpResponse, newErr
   671  			}
   672  			newErr.model = v
   673  			return localVarReturnValue, localVarHttpResponse, newErr
   674  		}
   675  		return localVarReturnValue, localVarHttpResponse, newErr
   676  	}
   677  
   678  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   679  	if err != nil {
   680  		newErr := GenericOpenAPIError{
   681  			body:  localVarBody,
   682  			error: err.Error(),
   683  		}
   684  		return localVarReturnValue, localVarHttpResponse, newErr
   685  	}
   686  
   687  	return localVarReturnValue, localVarHttpResponse, nil
   688  }
   689  
   690  /*
   691  GlipApiService Get Person
   692  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns a user or few users by ID(s). Batch request is supported.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   693   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   694   * @param personId Internal identifier of a user to be returned, the maximum number of IDs is 30
   695  @return GlipPersonInfo
   696  */
   697  func (a *GlipApiService) LoadPerson(ctx context.Context, personId string) (GlipPersonInfo, *http.Response, error) {
   698  	var (
   699  		localVarHttpMethod   = strings.ToUpper("Get")
   700  		localVarPostBody     interface{}
   701  		localVarFormFileName string
   702  		localVarFileName     string
   703  		localVarFileBytes    []byte
   704  		localVarReturnValue  GlipPersonInfo
   705  	)
   706  
   707  	// create path and map variables
   708  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/persons/{personId}"
   709  	localVarPath = strings.Replace(localVarPath, "{"+"personId"+"}", fmt.Sprintf("%v", personId), -1)
   710  
   711  	localVarHeaderParams := make(map[string]string)
   712  	localVarQueryParams := url.Values{}
   713  	localVarFormParams := url.Values{}
   714  
   715  	// to determine the Content-Type header
   716  	localVarHttpContentTypes := []string{}
   717  
   718  	// set Content-Type header
   719  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   720  	if localVarHttpContentType != "" {
   721  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   722  	}
   723  
   724  	// to determine the Accept header
   725  	localVarHttpHeaderAccepts := []string{"application/json"}
   726  
   727  	// set Accept header
   728  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   729  	if localVarHttpHeaderAccept != "" {
   730  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   731  	}
   732  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   733  	if err != nil {
   734  		return localVarReturnValue, nil, err
   735  	}
   736  
   737  	localVarHttpResponse, err := a.client.callAPI(r)
   738  	if err != nil || localVarHttpResponse == nil {
   739  		return localVarReturnValue, localVarHttpResponse, err
   740  	}
   741  
   742  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   743  	localVarHttpResponse.Body.Close()
   744  	if err != nil {
   745  		return localVarReturnValue, localVarHttpResponse, err
   746  	}
   747  
   748  	if localVarHttpResponse.StatusCode >= 300 {
   749  		newErr := GenericOpenAPIError{
   750  			body:  localVarBody,
   751  			error: localVarHttpResponse.Status,
   752  		}
   753  		if localVarHttpResponse.StatusCode == 0 {
   754  			var v GlipPersonInfo
   755  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   756  			if err != nil {
   757  				newErr.error = err.Error()
   758  				return localVarReturnValue, localVarHttpResponse, newErr
   759  			}
   760  			newErr.model = v
   761  			return localVarReturnValue, localVarHttpResponse, newErr
   762  		}
   763  		return localVarReturnValue, localVarHttpResponse, newErr
   764  	}
   765  
   766  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   767  	if err != nil {
   768  		newErr := GenericOpenAPIError{
   769  			body:  localVarBody,
   770  			error: err.Error(),
   771  		}
   772  		return localVarReturnValue, localVarHttpResponse, newErr
   773  	}
   774  
   775  	return localVarReturnValue, localVarHttpResponse, nil
   776  }
   777  
   778  /*
   779  GlipApiService Get Posts
   780  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns list of posts.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   781   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   782   * @param groupId Identifier of a group to filter posts
   783   * @param optional nil or *LoadPostsOpts - Optional Parameters:
   784   * @param "PageToken" (optional.String) -  Token of a page to be returned, see Glip Navigation Info
   785   * @param "RecordCount" (optional.Int64) -  Max numbers of records to be returned. The default/maximum value is 250
   786  @return GlipPosts
   787  */
   788  
   789  type LoadPostsOpts struct {
   790  	PageToken   optional.String
   791  	RecordCount optional.Int64
   792  }
   793  
   794  func (a *GlipApiService) LoadPosts(ctx context.Context, groupId string, localVarOptionals *LoadPostsOpts) (GlipPosts, *http.Response, error) {
   795  	var (
   796  		localVarHttpMethod   = strings.ToUpper("Get")
   797  		localVarPostBody     interface{}
   798  		localVarFormFileName string
   799  		localVarFileName     string
   800  		localVarFileBytes    []byte
   801  		localVarReturnValue  GlipPosts
   802  	)
   803  
   804  	// create path and map variables
   805  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups/{groupId}/posts"
   806  	localVarPath = strings.Replace(localVarPath, "{"+"groupId"+"}", fmt.Sprintf("%v", groupId), -1)
   807  
   808  	localVarHeaderParams := make(map[string]string)
   809  	localVarQueryParams := url.Values{}
   810  	localVarFormParams := url.Values{}
   811  
   812  	if localVarOptionals != nil && localVarOptionals.PageToken.IsSet() {
   813  		localVarQueryParams.Add("pageToken", parameterToString(localVarOptionals.PageToken.Value(), ""))
   814  	}
   815  	if localVarOptionals != nil && localVarOptionals.RecordCount.IsSet() {
   816  		localVarQueryParams.Add("recordCount", parameterToString(localVarOptionals.RecordCount.Value(), ""))
   817  	}
   818  	// to determine the Content-Type header
   819  	localVarHttpContentTypes := []string{}
   820  
   821  	// set Content-Type header
   822  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   823  	if localVarHttpContentType != "" {
   824  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   825  	}
   826  
   827  	// to determine the Accept header
   828  	localVarHttpHeaderAccepts := []string{"application/json"}
   829  
   830  	// set Accept header
   831  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   832  	if localVarHttpHeaderAccept != "" {
   833  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   834  	}
   835  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   836  	if err != nil {
   837  		return localVarReturnValue, nil, err
   838  	}
   839  
   840  	localVarHttpResponse, err := a.client.callAPI(r)
   841  	if err != nil || localVarHttpResponse == nil {
   842  		return localVarReturnValue, localVarHttpResponse, err
   843  	}
   844  
   845  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   846  	localVarHttpResponse.Body.Close()
   847  	if err != nil {
   848  		return localVarReturnValue, localVarHttpResponse, err
   849  	}
   850  
   851  	if localVarHttpResponse.StatusCode >= 300 {
   852  		newErr := GenericOpenAPIError{
   853  			body:  localVarBody,
   854  			error: localVarHttpResponse.Status,
   855  		}
   856  		if localVarHttpResponse.StatusCode == 0 {
   857  			var v GlipPosts
   858  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   859  			if err != nil {
   860  				newErr.error = err.Error()
   861  				return localVarReturnValue, localVarHttpResponse, newErr
   862  			}
   863  			newErr.model = v
   864  			return localVarReturnValue, localVarHttpResponse, newErr
   865  		}
   866  		return localVarReturnValue, localVarHttpResponse, newErr
   867  	}
   868  
   869  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   870  	if err != nil {
   871  		newErr := GenericOpenAPIError{
   872  			body:  localVarBody,
   873  			error: err.Error(),
   874  		}
   875  		return localVarReturnValue, localVarHttpResponse, newErr
   876  	}
   877  
   878  	return localVarReturnValue, localVarHttpResponse, nil
   879  }
   880  
   881  /*
   882  GlipApiService Glip Unread Message Count
   883  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.30 (Release 9.1)&lt;/p&gt;&lt;p&gt;Returns Glip unread message count.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&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;
   884   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   885   * @param optional nil or *LoadUnreadMessageCountOpts - Optional Parameters:
   886   * @param "Fields" (optional.String) -  List of attributes to be returned. To return unread message count 'unreadPostsCount' and 'tooManyUnreadPosts' should be specified
   887  @return GlipUnreadMessageCount
   888  */
   889  
   890  type LoadUnreadMessageCountOpts struct {
   891  	Fields optional.String
   892  }
   893  
   894  func (a *GlipApiService) LoadUnreadMessageCount(ctx context.Context, localVarOptionals *LoadUnreadMessageCountOpts) (GlipUnreadMessageCount, *http.Response, error) {
   895  	var (
   896  		localVarHttpMethod   = strings.ToUpper("Get")
   897  		localVarPostBody     interface{}
   898  		localVarFormFileName string
   899  		localVarFileName     string
   900  		localVarFileBytes    []byte
   901  		localVarReturnValue  GlipUnreadMessageCount
   902  	)
   903  
   904  	// create path and map variables
   905  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/profile"
   906  
   907  	localVarHeaderParams := make(map[string]string)
   908  	localVarQueryParams := url.Values{}
   909  	localVarFormParams := url.Values{}
   910  
   911  	if localVarOptionals != nil && localVarOptionals.Fields.IsSet() {
   912  		localVarQueryParams.Add("fields", parameterToString(localVarOptionals.Fields.Value(), ""))
   913  	}
   914  	// to determine the Content-Type header
   915  	localVarHttpContentTypes := []string{}
   916  
   917  	// set Content-Type header
   918  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   919  	if localVarHttpContentType != "" {
   920  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   921  	}
   922  
   923  	// to determine the Accept header
   924  	localVarHttpHeaderAccepts := []string{"application/json"}
   925  
   926  	// set Accept header
   927  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   928  	if localVarHttpHeaderAccept != "" {
   929  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   930  	}
   931  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   932  	if err != nil {
   933  		return localVarReturnValue, nil, err
   934  	}
   935  
   936  	localVarHttpResponse, err := a.client.callAPI(r)
   937  	if err != nil || localVarHttpResponse == nil {
   938  		return localVarReturnValue, localVarHttpResponse, err
   939  	}
   940  
   941  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   942  	localVarHttpResponse.Body.Close()
   943  	if err != nil {
   944  		return localVarReturnValue, localVarHttpResponse, err
   945  	}
   946  
   947  	if localVarHttpResponse.StatusCode >= 300 {
   948  		newErr := GenericOpenAPIError{
   949  			body:  localVarBody,
   950  			error: localVarHttpResponse.Status,
   951  		}
   952  		if localVarHttpResponse.StatusCode == 0 {
   953  			var v GlipUnreadMessageCount
   954  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   955  			if err != nil {
   956  				newErr.error = err.Error()
   957  				return localVarReturnValue, localVarHttpResponse, newErr
   958  			}
   959  			newErr.model = v
   960  			return localVarReturnValue, localVarHttpResponse, newErr
   961  		}
   962  		return localVarReturnValue, localVarHttpResponse, newErr
   963  	}
   964  
   965  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   966  	if err != nil {
   967  		newErr := GenericOpenAPIError{
   968  			body:  localVarBody,
   969  			error: err.Error(),
   970  		}
   971  		return localVarReturnValue, localVarHttpResponse, newErr
   972  	}
   973  
   974  	return localVarReturnValue, localVarHttpResponse, nil
   975  }
   976  
   977  /*
   978  GlipApiService Edit Group Members
   979  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Updates group members. Please note: Only groups of &#39;Team&#39; type can be updated. Currently only one operation at a time (either adding or removal) is supported.&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;Glip&lt;/td&gt;&lt;td&gt;Availability of Glip&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;API Group&lt;/h4&gt;&lt;p&gt;Medium&lt;/p&gt;
   980   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   981   * @param groupId Internal identifier of a group to be edited
   982   * @param editGroupRequest JSON body
   983  @return GlipGroupInfo
   984  */
   985  func (a *GlipApiService) UpdateGroup(ctx context.Context, groupId string, editGroupRequest EditGroupRequest) (GlipGroupInfo, *http.Response, error) {
   986  	var (
   987  		localVarHttpMethod   = strings.ToUpper("Post")
   988  		localVarPostBody     interface{}
   989  		localVarFormFileName string
   990  		localVarFileName     string
   991  		localVarFileBytes    []byte
   992  		localVarReturnValue  GlipGroupInfo
   993  	)
   994  
   995  	// create path and map variables
   996  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/glip/groups/{groupId}/bulk-assign"
   997  	localVarPath = strings.Replace(localVarPath, "{"+"groupId"+"}", fmt.Sprintf("%v", groupId), -1)
   998  
   999  	localVarHeaderParams := make(map[string]string)
  1000  	localVarQueryParams := url.Values{}
  1001  	localVarFormParams := url.Values{}
  1002  
  1003  	// to determine the Content-Type header
  1004  	localVarHttpContentTypes := []string{"application/json"}
  1005  
  1006  	// set Content-Type header
  1007  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
  1008  	if localVarHttpContentType != "" {
  1009  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
  1010  	}
  1011  
  1012  	// to determine the Accept header
  1013  	localVarHttpHeaderAccepts := []string{"application/json"}
  1014  
  1015  	// set Accept header
  1016  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
  1017  	if localVarHttpHeaderAccept != "" {
  1018  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
  1019  	}
  1020  	// body params
  1021  	localVarPostBody = &editGroupRequest
  1022  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
  1023  	if err != nil {
  1024  		return localVarReturnValue, nil, err
  1025  	}
  1026  
  1027  	localVarHttpResponse, err := a.client.callAPI(r)
  1028  	if err != nil || localVarHttpResponse == nil {
  1029  		return localVarReturnValue, localVarHttpResponse, err
  1030  	}
  1031  
  1032  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
  1033  	localVarHttpResponse.Body.Close()
  1034  	if err != nil {
  1035  		return localVarReturnValue, localVarHttpResponse, err
  1036  	}
  1037  
  1038  	if localVarHttpResponse.StatusCode >= 300 {
  1039  		newErr := GenericOpenAPIError{
  1040  			body:  localVarBody,
  1041  			error: localVarHttpResponse.Status,
  1042  		}
  1043  		if localVarHttpResponse.StatusCode == 0 {
  1044  			var v GlipGroupInfo
  1045  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1046  			if err != nil {
  1047  				newErr.error = err.Error()
  1048  				return localVarReturnValue, localVarHttpResponse, newErr
  1049  			}
  1050  			newErr.model = v
  1051  			return localVarReturnValue, localVarHttpResponse, newErr
  1052  		}
  1053  		return localVarReturnValue, localVarHttpResponse, newErr
  1054  	}
  1055  
  1056  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
  1057  	if err != nil {
  1058  		newErr := GenericOpenAPIError{
  1059  			body:  localVarBody,
  1060  			error: err.Error(),
  1061  		}
  1062  		return localVarReturnValue, localVarHttpResponse, newErr
  1063  	}
  1064  
  1065  	return localVarReturnValue, localVarHttpResponse, nil
  1066  }