github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_folders.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 FoldersApiService service
    29  
    30  /*
    31  FoldersApiService Creating a folder
    32  This method creates a new folder. In case of success it renders the created folder, otherwise an error (422 HTTP code).
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param optional nil or *CreateFolderOpts - Optional Parameters:
    35   * @param "Label" (optional.String) -  Folder’s label (mandatory).
    36   * @param "ParentId" (optional.String) -  ID of the parent folder.
    37   * @param "Position" (optional.Int32) -  position of the folder.
    38   * @param "Query" (optional.String) -  query of the folder as described in ​Search API documentation.​\\n\\nExample: “​active_and_assigned_to_me:true”
    39   * @param "RenderThreadsCount" (optional.Bool) -  boolean describing display of the number of threads.
    40   * @param "RoleRestrictionOnly" (optional.Interface of []string) -  list of roles allowed to see this folder. This parameter has to be a hash otherwise it will raise a 400 error. The key should be \"only\". For example: `&role_restriction[only][]=4e5596cdae70f677b5000002`
    41   * @param "TeamRestrictionOnly" (optional.Interface of []string) -  list of teams allowed to see this folder. Same thing as role_restriction: team_restriction parameter has to be a hash with the key \"only\".
    42  @return Folder
    43  */
    44  
    45  type CreateFolderOpts struct {
    46  	Label               optional.String
    47  	ParentId            optional.String
    48  	Position            optional.Int32
    49  	Query               optional.String
    50  	RenderThreadsCount  optional.Bool
    51  	RoleRestrictionOnly optional.Interface
    52  	TeamRestrictionOnly optional.Interface
    53  }
    54  
    55  func (a *FoldersApiService) CreateFolder(ctx context.Context, localVarOptionals *CreateFolderOpts) (Folder, *http.Response, error) {
    56  	var (
    57  		localVarHttpMethod   = http.MethodPost
    58  		localVarPostBody     interface{}
    59  		localVarFormFileName string
    60  		localVarFileName     string
    61  		localVarFileBytes    []byte
    62  		localVarReturnValue  Folder
    63  	)
    64  
    65  	// create path and map variables
    66  	localVarPath := a.client.cfg.BasePath + "/folders"
    67  
    68  	localVarHeaderParams := make(map[string]string)
    69  	localVarQueryParams := url.Values{}
    70  	localVarFormParams := url.Values{}
    71  
    72  	if localVarOptionals != nil && localVarOptionals.Label.IsSet() {
    73  		localVarQueryParams.Add("label", parameterToString(localVarOptionals.Label.Value(), ""))
    74  	}
    75  	if localVarOptionals != nil && localVarOptionals.ParentId.IsSet() {
    76  		localVarQueryParams.Add("parent_id", parameterToString(localVarOptionals.ParentId.Value(), ""))
    77  	}
    78  	if localVarOptionals != nil && localVarOptionals.Position.IsSet() {
    79  		localVarQueryParams.Add("position", parameterToString(localVarOptionals.Position.Value(), ""))
    80  	}
    81  	if localVarOptionals != nil && localVarOptionals.Query.IsSet() {
    82  		localVarQueryParams.Add("query", parameterToString(localVarOptionals.Query.Value(), ""))
    83  	}
    84  	if localVarOptionals != nil && localVarOptionals.RenderThreadsCount.IsSet() {
    85  		localVarQueryParams.Add("render_threads_count", parameterToString(localVarOptionals.RenderThreadsCount.Value(), ""))
    86  	}
    87  	if localVarOptionals != nil && localVarOptionals.RoleRestrictionOnly.IsSet() {
    88  		t := localVarOptionals.RoleRestrictionOnly.Value()
    89  		if reflect.TypeOf(t).Kind() == reflect.Slice {
    90  			s := reflect.ValueOf(t)
    91  			for i := 0; i < s.Len(); i++ {
    92  				localVarQueryParams.Add("role_restriction[only][]", parameterToString(s.Index(i), "multi"))
    93  			}
    94  		} else {
    95  			localVarQueryParams.Add("role_restriction[only][]", parameterToString(t, "multi"))
    96  		}
    97  	}
    98  	if localVarOptionals != nil && localVarOptionals.TeamRestrictionOnly.IsSet() {
    99  		t := localVarOptionals.TeamRestrictionOnly.Value()
   100  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   101  			s := reflect.ValueOf(t)
   102  			for i := 0; i < s.Len(); i++ {
   103  				localVarQueryParams.Add("team_restriction[only][]", parameterToString(s.Index(i), "multi"))
   104  			}
   105  		} else {
   106  			localVarQueryParams.Add("team_restriction[only][]", parameterToString(t, "multi"))
   107  		}
   108  	}
   109  	// to determine the Content-Type header
   110  	localVarHttpContentTypes := []string{}
   111  
   112  	// set Content-Type header
   113  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   114  	if localVarHttpContentType != "" {
   115  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   116  	}
   117  
   118  	// to determine the Accept header
   119  	localVarHttpHeaderAccepts := []string{"application/json"}
   120  
   121  	// set Accept header
   122  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   123  	if localVarHttpHeaderAccept != "" {
   124  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   125  	}
   126  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   127  	if err != nil {
   128  		return localVarReturnValue, nil, err
   129  	}
   130  
   131  	localVarHttpResponse, err := a.client.callAPI(r)
   132  	if err != nil || localVarHttpResponse == nil {
   133  		return localVarReturnValue, localVarHttpResponse, err
   134  	}
   135  
   136  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   137  	localVarHttpResponse.Body.Close()
   138  	if err != nil {
   139  		return localVarReturnValue, localVarHttpResponse, err
   140  	}
   141  
   142  	if localVarHttpResponse.StatusCode >= 300 {
   143  		newErr := GenericOpenAPIError{
   144  			body:  localVarBody,
   145  			error: localVarHttpResponse.Status,
   146  		}
   147  		if localVarHttpResponse.StatusCode == 200 {
   148  			var v Folder
   149  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   150  			if err != nil {
   151  				newErr.error = err.Error()
   152  				return localVarReturnValue, localVarHttpResponse, newErr
   153  			}
   154  			newErr.model = v
   155  			return localVarReturnValue, localVarHttpResponse, newErr
   156  		}
   157  		return localVarReturnValue, localVarHttpResponse, newErr
   158  	}
   159  
   160  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   161  	if err != nil {
   162  		newErr := GenericOpenAPIError{
   163  			body:  localVarBody,
   164  			error: err.Error(),
   165  		}
   166  		return localVarReturnValue, localVarHttpResponse, newErr
   167  	}
   168  
   169  	return localVarReturnValue, localVarHttpResponse, nil
   170  }
   171  
   172  /*
   173  FoldersApiService Deleting a folder
   174  This method destroys an existing folder. It renders the folder itself. It renders a 404 if id is invalid.
   175   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   176   * @param folderId
   177  @return Folder
   178  */
   179  func (a *FoldersApiService) DeleteFolder(ctx context.Context, folderId string) (Folder, *http.Response, error) {
   180  	var (
   181  		localVarHttpMethod   = http.MethodDelete
   182  		localVarPostBody     interface{}
   183  		localVarFormFileName string
   184  		localVarFileName     string
   185  		localVarFileBytes    []byte
   186  		localVarReturnValue  Folder
   187  	)
   188  
   189  	// create path and map variables
   190  	localVarPath := a.client.cfg.BasePath + "/folders/{folderId}"
   191  	localVarPath = strings.Replace(localVarPath, "{"+"folderId"+"}", fmt.Sprintf("%v", folderId), -1)
   192  
   193  	localVarHeaderParams := make(map[string]string)
   194  	localVarQueryParams := url.Values{}
   195  	localVarFormParams := url.Values{}
   196  
   197  	// to determine the Content-Type header
   198  	localVarHttpContentTypes := []string{}
   199  
   200  	// set Content-Type header
   201  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   202  	if localVarHttpContentType != "" {
   203  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   204  	}
   205  
   206  	// to determine the Accept header
   207  	localVarHttpHeaderAccepts := []string{"application/json"}
   208  
   209  	// set Accept header
   210  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   211  	if localVarHttpHeaderAccept != "" {
   212  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   213  	}
   214  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   215  	if err != nil {
   216  		return localVarReturnValue, nil, err
   217  	}
   218  
   219  	localVarHttpResponse, err := a.client.callAPI(r)
   220  	if err != nil || localVarHttpResponse == nil {
   221  		return localVarReturnValue, localVarHttpResponse, err
   222  	}
   223  
   224  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   225  	localVarHttpResponse.Body.Close()
   226  	if err != nil {
   227  		return localVarReturnValue, localVarHttpResponse, err
   228  	}
   229  
   230  	if localVarHttpResponse.StatusCode >= 300 {
   231  		newErr := GenericOpenAPIError{
   232  			body:  localVarBody,
   233  			error: localVarHttpResponse.Status,
   234  		}
   235  		if localVarHttpResponse.StatusCode == 200 {
   236  			var v Folder
   237  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   238  			if err != nil {
   239  				newErr.error = err.Error()
   240  				return localVarReturnValue, localVarHttpResponse, newErr
   241  			}
   242  			newErr.model = v
   243  			return localVarReturnValue, localVarHttpResponse, newErr
   244  		}
   245  		return localVarReturnValue, localVarHttpResponse, newErr
   246  	}
   247  
   248  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   249  	if err != nil {
   250  		newErr := GenericOpenAPIError{
   251  			body:  localVarBody,
   252  			error: err.Error(),
   253  		}
   254  		return localVarReturnValue, localVarHttpResponse, newErr
   255  	}
   256  
   257  	return localVarReturnValue, localVarHttpResponse, nil
   258  }
   259  
   260  /*
   261  FoldersApiService Getting all folders
   262  This method renders folders.
   263   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   264   * @param optional nil or *GetAllFoldersOpts - Optional Parameters:
   265   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
   266   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
   267  @return GetAllFoldersResponse
   268  */
   269  
   270  type GetAllFoldersOpts struct {
   271  	Offset optional.Int32
   272  	Limit  optional.Int32
   273  }
   274  
   275  func (a *FoldersApiService) GetAllFolders(ctx context.Context, localVarOptionals *GetAllFoldersOpts) (GetAllFoldersResponse, *http.Response, error) {
   276  	var (
   277  		localVarHttpMethod   = http.MethodGet
   278  		localVarPostBody     interface{}
   279  		localVarFormFileName string
   280  		localVarFileName     string
   281  		localVarFileBytes    []byte
   282  		localVarReturnValue  GetAllFoldersResponse
   283  	)
   284  
   285  	// create path and map variables
   286  	localVarPath := a.client.cfg.BasePath + "/folders"
   287  
   288  	localVarHeaderParams := make(map[string]string)
   289  	localVarQueryParams := url.Values{}
   290  	localVarFormParams := url.Values{}
   291  
   292  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
   293  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
   294  	}
   295  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
   296  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
   297  	}
   298  	// to determine the Content-Type header
   299  	localVarHttpContentTypes := []string{}
   300  
   301  	// set Content-Type header
   302  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   303  	if localVarHttpContentType != "" {
   304  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   305  	}
   306  
   307  	// to determine the Accept header
   308  	localVarHttpHeaderAccepts := []string{"application/json"}
   309  
   310  	// set Accept header
   311  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   312  	if localVarHttpHeaderAccept != "" {
   313  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   314  	}
   315  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   316  	if err != nil {
   317  		return localVarReturnValue, nil, err
   318  	}
   319  
   320  	localVarHttpResponse, err := a.client.callAPI(r)
   321  	if err != nil || localVarHttpResponse == nil {
   322  		return localVarReturnValue, localVarHttpResponse, err
   323  	}
   324  
   325  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   326  	localVarHttpResponse.Body.Close()
   327  	if err != nil {
   328  		return localVarReturnValue, localVarHttpResponse, err
   329  	}
   330  
   331  	if localVarHttpResponse.StatusCode >= 300 {
   332  		newErr := GenericOpenAPIError{
   333  			body:  localVarBody,
   334  			error: localVarHttpResponse.Status,
   335  		}
   336  		if localVarHttpResponse.StatusCode == 200 {
   337  			var v GetAllFoldersResponse
   338  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   339  			if err != nil {
   340  				newErr.error = err.Error()
   341  				return localVarReturnValue, localVarHttpResponse, newErr
   342  			}
   343  			newErr.model = v
   344  			return localVarReturnValue, localVarHttpResponse, newErr
   345  		}
   346  		return localVarReturnValue, localVarHttpResponse, newErr
   347  	}
   348  
   349  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   350  	if err != nil {
   351  		newErr := GenericOpenAPIError{
   352  			body:  localVarBody,
   353  			error: err.Error(),
   354  		}
   355  		return localVarReturnValue, localVarHttpResponse, newErr
   356  	}
   357  
   358  	return localVarReturnValue, localVarHttpResponse, nil
   359  }
   360  
   361  /*
   362  FoldersApiService Getting a folder from its id
   363  This method renders a folder from given id.
   364   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   365   * @param folderId
   366  @return Folder
   367  */
   368  func (a *FoldersApiService) GetFolder(ctx context.Context, folderId string) (Folder, *http.Response, error) {
   369  	var (
   370  		localVarHttpMethod   = http.MethodGet
   371  		localVarPostBody     interface{}
   372  		localVarFormFileName string
   373  		localVarFileName     string
   374  		localVarFileBytes    []byte
   375  		localVarReturnValue  Folder
   376  	)
   377  
   378  	// create path and map variables
   379  	localVarPath := a.client.cfg.BasePath + "/folders/{folderId}"
   380  	localVarPath = strings.Replace(localVarPath, "{"+"folderId"+"}", fmt.Sprintf("%v", folderId), -1)
   381  
   382  	localVarHeaderParams := make(map[string]string)
   383  	localVarQueryParams := url.Values{}
   384  	localVarFormParams := url.Values{}
   385  
   386  	// to determine the Content-Type header
   387  	localVarHttpContentTypes := []string{}
   388  
   389  	// set Content-Type header
   390  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   391  	if localVarHttpContentType != "" {
   392  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   393  	}
   394  
   395  	// to determine the Accept header
   396  	localVarHttpHeaderAccepts := []string{"application/json"}
   397  
   398  	// set Accept header
   399  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   400  	if localVarHttpHeaderAccept != "" {
   401  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   402  	}
   403  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   404  	if err != nil {
   405  		return localVarReturnValue, nil, err
   406  	}
   407  
   408  	localVarHttpResponse, err := a.client.callAPI(r)
   409  	if err != nil || localVarHttpResponse == nil {
   410  		return localVarReturnValue, localVarHttpResponse, err
   411  	}
   412  
   413  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   414  	localVarHttpResponse.Body.Close()
   415  	if err != nil {
   416  		return localVarReturnValue, localVarHttpResponse, err
   417  	}
   418  
   419  	if localVarHttpResponse.StatusCode >= 300 {
   420  		newErr := GenericOpenAPIError{
   421  			body:  localVarBody,
   422  			error: localVarHttpResponse.Status,
   423  		}
   424  		if localVarHttpResponse.StatusCode == 200 {
   425  			var v Folder
   426  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   427  			if err != nil {
   428  				newErr.error = err.Error()
   429  				return localVarReturnValue, localVarHttpResponse, newErr
   430  			}
   431  			newErr.model = v
   432  			return localVarReturnValue, localVarHttpResponse, newErr
   433  		}
   434  		return localVarReturnValue, localVarHttpResponse, newErr
   435  	}
   436  
   437  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   438  	if err != nil {
   439  		newErr := GenericOpenAPIError{
   440  			body:  localVarBody,
   441  			error: err.Error(),
   442  		}
   443  		return localVarReturnValue, localVarHttpResponse, newErr
   444  	}
   445  
   446  	return localVarReturnValue, localVarHttpResponse, nil
   447  }
   448  
   449  /*
   450  FoldersApiService Updating a folder
   451  This method updates an existing folder from given attributes and renders it in case of success.
   452   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   453   * @param folderId
   454   * @param optional nil or *UpdateFolderOpts - Optional Parameters:
   455   * @param "Label" (optional.String) -  Folder’s label (mandatory).
   456   * @param "ParentId" (optional.String) -  ID of the parent folder.
   457   * @param "Position" (optional.Int32) -  position of the folder.
   458   * @param "Query" (optional.String) -  query of the folder as described in ​Search API documentation.​\\n\\nExample: “​active_and_assigned_to_me:true”
   459   * @param "RenderThreadsCount" (optional.Bool) -  boolean describing display of the number of threads.
   460   * @param "RoleRestrictionOnly" (optional.Interface of []string) -  list of roles allowed to see this folder. This parameter has to be a hash otherwise it will raise a 400 error. The key should be \"only\". For example: `&role_restriction[only][]=4e5596cdae70f677b5000002`
   461   * @param "TeamRestrictionOnly" (optional.Interface of []string) -  list of teams allowed to see this folder. Same thing as role_restriction: team_restriction parameter has to be a hash with the key \"only\".
   462  @return Folder
   463  */
   464  
   465  type UpdateFolderOpts struct {
   466  	Label               optional.String
   467  	ParentId            optional.String
   468  	Position            optional.Int32
   469  	Query               optional.String
   470  	RenderThreadsCount  optional.Bool
   471  	RoleRestrictionOnly optional.Interface
   472  	TeamRestrictionOnly optional.Interface
   473  }
   474  
   475  func (a *FoldersApiService) UpdateFolder(ctx context.Context, folderId string, localVarOptionals *UpdateFolderOpts) (Folder, *http.Response, error) {
   476  	var (
   477  		localVarHttpMethod   = http.MethodPut
   478  		localVarPostBody     interface{}
   479  		localVarFormFileName string
   480  		localVarFileName     string
   481  		localVarFileBytes    []byte
   482  		localVarReturnValue  Folder
   483  	)
   484  
   485  	// create path and map variables
   486  	localVarPath := a.client.cfg.BasePath + "/folders/{folderId}"
   487  	localVarPath = strings.Replace(localVarPath, "{"+"folderId"+"}", fmt.Sprintf("%v", folderId), -1)
   488  
   489  	localVarHeaderParams := make(map[string]string)
   490  	localVarQueryParams := url.Values{}
   491  	localVarFormParams := url.Values{}
   492  
   493  	if localVarOptionals != nil && localVarOptionals.Label.IsSet() {
   494  		localVarQueryParams.Add("label", parameterToString(localVarOptionals.Label.Value(), ""))
   495  	}
   496  	if localVarOptionals != nil && localVarOptionals.ParentId.IsSet() {
   497  		localVarQueryParams.Add("parent_id", parameterToString(localVarOptionals.ParentId.Value(), ""))
   498  	}
   499  	if localVarOptionals != nil && localVarOptionals.Position.IsSet() {
   500  		localVarQueryParams.Add("position", parameterToString(localVarOptionals.Position.Value(), ""))
   501  	}
   502  	if localVarOptionals != nil && localVarOptionals.Query.IsSet() {
   503  		localVarQueryParams.Add("query", parameterToString(localVarOptionals.Query.Value(), ""))
   504  	}
   505  	if localVarOptionals != nil && localVarOptionals.RenderThreadsCount.IsSet() {
   506  		localVarQueryParams.Add("render_threads_count", parameterToString(localVarOptionals.RenderThreadsCount.Value(), ""))
   507  	}
   508  	if localVarOptionals != nil && localVarOptionals.RoleRestrictionOnly.IsSet() {
   509  		t := localVarOptionals.RoleRestrictionOnly.Value()
   510  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   511  			s := reflect.ValueOf(t)
   512  			for i := 0; i < s.Len(); i++ {
   513  				localVarQueryParams.Add("role_restriction[only][]", parameterToString(s.Index(i), "multi"))
   514  			}
   515  		} else {
   516  			localVarQueryParams.Add("role_restriction[only][]", parameterToString(t, "multi"))
   517  		}
   518  	}
   519  	if localVarOptionals != nil && localVarOptionals.TeamRestrictionOnly.IsSet() {
   520  		t := localVarOptionals.TeamRestrictionOnly.Value()
   521  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   522  			s := reflect.ValueOf(t)
   523  			for i := 0; i < s.Len(); i++ {
   524  				localVarQueryParams.Add("team_restriction[only][]", parameterToString(s.Index(i), "multi"))
   525  			}
   526  		} else {
   527  			localVarQueryParams.Add("team_restriction[only][]", parameterToString(t, "multi"))
   528  		}
   529  	}
   530  	// to determine the Content-Type header
   531  	localVarHttpContentTypes := []string{}
   532  
   533  	// set Content-Type header
   534  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   535  	if localVarHttpContentType != "" {
   536  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   537  	}
   538  
   539  	// to determine the Accept header
   540  	localVarHttpHeaderAccepts := []string{"application/json"}
   541  
   542  	// set Accept header
   543  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   544  	if localVarHttpHeaderAccept != "" {
   545  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   546  	}
   547  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   548  	if err != nil {
   549  		return localVarReturnValue, nil, err
   550  	}
   551  
   552  	localVarHttpResponse, err := a.client.callAPI(r)
   553  	if err != nil || localVarHttpResponse == nil {
   554  		return localVarReturnValue, localVarHttpResponse, err
   555  	}
   556  
   557  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   558  	localVarHttpResponse.Body.Close()
   559  	if err != nil {
   560  		return localVarReturnValue, localVarHttpResponse, err
   561  	}
   562  
   563  	if localVarHttpResponse.StatusCode >= 300 {
   564  		newErr := GenericOpenAPIError{
   565  			body:  localVarBody,
   566  			error: localVarHttpResponse.Status,
   567  		}
   568  		if localVarHttpResponse.StatusCode == 200 {
   569  			var v Folder
   570  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   571  			if err != nil {
   572  				newErr.error = err.Error()
   573  				return localVarReturnValue, localVarHttpResponse, newErr
   574  			}
   575  			newErr.model = v
   576  			return localVarReturnValue, localVarHttpResponse, newErr
   577  		}
   578  		return localVarReturnValue, localVarHttpResponse, newErr
   579  	}
   580  
   581  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   582  	if err != nil {
   583  		newErr := GenericOpenAPIError{
   584  			body:  localVarBody,
   585  			error: err.Error(),
   586  		}
   587  		return localVarReturnValue, localVarHttpResponse, newErr
   588  	}
   589  
   590  	return localVarReturnValue, localVarHttpResponse, nil
   591  }