github.com/grokify/go-ringcentral-client@v0.3.31/office/v1/client/api_roles_and_permissions.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  	"strings"
    20  )
    21  
    22  // Linger please
    23  var (
    24  	_ context.Context
    25  )
    26  
    27  type RolesAndPermissionsApiService service
    28  
    29  /*
    30  RolesAndPermissionsApiService Check User Permissions
    31   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    32   * @param extensionId
    33   * @param accountId
    34   * @param optional nil or *CheckPermissionOpts - Optional Parameters:
    35   * @param "PermissionId" (optional.String) -
    36   * @param "TargetExtensionId" (optional.String) -
    37  @return AuthProfileCheckResource
    38  */
    39  
    40  type CheckPermissionOpts struct {
    41  	PermissionId      optional.String
    42  	TargetExtensionId optional.String
    43  }
    44  
    45  func (a *RolesAndPermissionsApiService) CheckPermission(ctx context.Context, extensionId string, accountId string, localVarOptionals *CheckPermissionOpts) (AuthProfileCheckResource, *http.Response, error) {
    46  	var (
    47  		localVarHttpMethod   = strings.ToUpper("Get")
    48  		localVarPostBody     interface{}
    49  		localVarFormFileName string
    50  		localVarFileName     string
    51  		localVarFileBytes    []byte
    52  		localVarReturnValue  AuthProfileCheckResource
    53  	)
    54  
    55  	// create path and map variables
    56  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile/check"
    57  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
    58  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
    59  
    60  	localVarHeaderParams := make(map[string]string)
    61  	localVarQueryParams := url.Values{}
    62  	localVarFormParams := url.Values{}
    63  
    64  	if localVarOptionals != nil && localVarOptionals.PermissionId.IsSet() {
    65  		localVarQueryParams.Add("permissionId", parameterToString(localVarOptionals.PermissionId.Value(), ""))
    66  	}
    67  	if localVarOptionals != nil && localVarOptionals.TargetExtensionId.IsSet() {
    68  		localVarQueryParams.Add("targetExtensionId", parameterToString(localVarOptionals.TargetExtensionId.Value(), ""))
    69  	}
    70  	// to determine the Content-Type header
    71  	localVarHttpContentTypes := []string{}
    72  
    73  	// set Content-Type header
    74  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    75  	if localVarHttpContentType != "" {
    76  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    77  	}
    78  
    79  	// to determine the Accept header
    80  	localVarHttpHeaderAccepts := []string{"application/json"}
    81  
    82  	// set Accept header
    83  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    84  	if localVarHttpHeaderAccept != "" {
    85  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    86  	}
    87  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    88  	if err != nil {
    89  		return localVarReturnValue, nil, err
    90  	}
    91  
    92  	localVarHttpResponse, err := a.client.callAPI(r)
    93  	if err != nil || localVarHttpResponse == nil {
    94  		return localVarReturnValue, localVarHttpResponse, err
    95  	}
    96  
    97  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    98  	localVarHttpResponse.Body.Close()
    99  	if err != nil {
   100  		return localVarReturnValue, localVarHttpResponse, err
   101  	}
   102  
   103  	if localVarHttpResponse.StatusCode >= 300 {
   104  		newErr := GenericOpenAPIError{
   105  			body:  localVarBody,
   106  			error: localVarHttpResponse.Status,
   107  		}
   108  		if localVarHttpResponse.StatusCode == 0 {
   109  			var v AuthProfileCheckResource
   110  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   111  			if err != nil {
   112  				newErr.error = err.Error()
   113  				return localVarReturnValue, localVarHttpResponse, newErr
   114  			}
   115  			newErr.model = v
   116  			return localVarReturnValue, localVarHttpResponse, newErr
   117  		}
   118  		return localVarReturnValue, localVarHttpResponse, newErr
   119  	}
   120  
   121  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   122  	if err != nil {
   123  		newErr := GenericOpenAPIError{
   124  			body:  localVarBody,
   125  			error: err.Error(),
   126  		}
   127  		return localVarReturnValue, localVarHttpResponse, newErr
   128  	}
   129  
   130  	return localVarReturnValue, localVarHttpResponse, nil
   131  }
   132  
   133  /*
   134  RolesAndPermissionsApiService Get Permission Info
   135   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   136   * @param permissionId
   137  @return PermissionResource
   138  */
   139  func (a *RolesAndPermissionsApiService) GetPermission(ctx context.Context, permissionId string) (PermissionResource, *http.Response, error) {
   140  	var (
   141  		localVarHttpMethod   = strings.ToUpper("Get")
   142  		localVarPostBody     interface{}
   143  		localVarFormFileName string
   144  		localVarFileName     string
   145  		localVarFileBytes    []byte
   146  		localVarReturnValue  PermissionResource
   147  	)
   148  
   149  	// create path and map variables
   150  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/permission/{permissionId}"
   151  	localVarPath = strings.Replace(localVarPath, "{"+"permissionId"+"}", fmt.Sprintf("%v", permissionId), -1)
   152  
   153  	localVarHeaderParams := make(map[string]string)
   154  	localVarQueryParams := url.Values{}
   155  	localVarFormParams := url.Values{}
   156  
   157  	// to determine the Content-Type header
   158  	localVarHttpContentTypes := []string{}
   159  
   160  	// set Content-Type header
   161  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   162  	if localVarHttpContentType != "" {
   163  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   164  	}
   165  
   166  	// to determine the Accept header
   167  	localVarHttpHeaderAccepts := []string{"application/json"}
   168  
   169  	// set Accept header
   170  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   171  	if localVarHttpHeaderAccept != "" {
   172  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   173  	}
   174  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   175  	if err != nil {
   176  		return localVarReturnValue, nil, err
   177  	}
   178  
   179  	localVarHttpResponse, err := a.client.callAPI(r)
   180  	if err != nil || localVarHttpResponse == nil {
   181  		return localVarReturnValue, localVarHttpResponse, err
   182  	}
   183  
   184  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   185  	localVarHttpResponse.Body.Close()
   186  	if err != nil {
   187  		return localVarReturnValue, localVarHttpResponse, err
   188  	}
   189  
   190  	if localVarHttpResponse.StatusCode >= 300 {
   191  		newErr := GenericOpenAPIError{
   192  			body:  localVarBody,
   193  			error: localVarHttpResponse.Status,
   194  		}
   195  		if localVarHttpResponse.StatusCode == 0 {
   196  			var v PermissionResource
   197  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   198  			if err != nil {
   199  				newErr.error = err.Error()
   200  				return localVarReturnValue, localVarHttpResponse, newErr
   201  			}
   202  			newErr.model = v
   203  			return localVarReturnValue, localVarHttpResponse, newErr
   204  		}
   205  		return localVarReturnValue, localVarHttpResponse, newErr
   206  	}
   207  
   208  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   209  	if err != nil {
   210  		newErr := GenericOpenAPIError{
   211  			body:  localVarBody,
   212  			error: err.Error(),
   213  		}
   214  		return localVarReturnValue, localVarHttpResponse, newErr
   215  	}
   216  
   217  	return localVarReturnValue, localVarHttpResponse, nil
   218  }
   219  
   220  /*
   221  RolesAndPermissionsApiService Get Permission Category
   222   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   223   * @param permissionCategoryId
   224  @return PermissionCategoryResource
   225  */
   226  func (a *RolesAndPermissionsApiService) GetPermissionCategory(ctx context.Context, permissionCategoryId string) (PermissionCategoryResource, *http.Response, error) {
   227  	var (
   228  		localVarHttpMethod   = strings.ToUpper("Get")
   229  		localVarPostBody     interface{}
   230  		localVarFormFileName string
   231  		localVarFileName     string
   232  		localVarFileBytes    []byte
   233  		localVarReturnValue  PermissionCategoryResource
   234  	)
   235  
   236  	// create path and map variables
   237  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/permission-category/{permissionCategoryId}"
   238  	localVarPath = strings.Replace(localVarPath, "{"+"permissionCategoryId"+"}", fmt.Sprintf("%v", permissionCategoryId), -1)
   239  
   240  	localVarHeaderParams := make(map[string]string)
   241  	localVarQueryParams := url.Values{}
   242  	localVarFormParams := url.Values{}
   243  
   244  	// to determine the Content-Type header
   245  	localVarHttpContentTypes := []string{}
   246  
   247  	// set Content-Type header
   248  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   249  	if localVarHttpContentType != "" {
   250  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   251  	}
   252  
   253  	// to determine the Accept header
   254  	localVarHttpHeaderAccepts := []string{"application/json"}
   255  
   256  	// set Accept header
   257  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   258  	if localVarHttpHeaderAccept != "" {
   259  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   260  	}
   261  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   262  	if err != nil {
   263  		return localVarReturnValue, nil, err
   264  	}
   265  
   266  	localVarHttpResponse, err := a.client.callAPI(r)
   267  	if err != nil || localVarHttpResponse == nil {
   268  		return localVarReturnValue, localVarHttpResponse, err
   269  	}
   270  
   271  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   272  	localVarHttpResponse.Body.Close()
   273  	if err != nil {
   274  		return localVarReturnValue, localVarHttpResponse, err
   275  	}
   276  
   277  	if localVarHttpResponse.StatusCode >= 300 {
   278  		newErr := GenericOpenAPIError{
   279  			body:  localVarBody,
   280  			error: localVarHttpResponse.Status,
   281  		}
   282  		if localVarHttpResponse.StatusCode == 0 {
   283  			var v PermissionCategoryResource
   284  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   285  			if err != nil {
   286  				newErr.error = err.Error()
   287  				return localVarReturnValue, localVarHttpResponse, newErr
   288  			}
   289  			newErr.model = v
   290  			return localVarReturnValue, localVarHttpResponse, newErr
   291  		}
   292  		return localVarReturnValue, localVarHttpResponse, newErr
   293  	}
   294  
   295  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   296  	if err != nil {
   297  		newErr := GenericOpenAPIError{
   298  			body:  localVarBody,
   299  			error: err.Error(),
   300  		}
   301  		return localVarReturnValue, localVarHttpResponse, newErr
   302  	}
   303  
   304  	return localVarReturnValue, localVarHttpResponse, nil
   305  }
   306  
   307  /*
   308  RolesAndPermissionsApiService Get User Permissions
   309   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   310   * @param extensionId
   311   * @param accountId
   312  @return AuthProfileResource
   313  */
   314  func (a *RolesAndPermissionsApiService) GetProfile(ctx context.Context, extensionId string, accountId string) (AuthProfileResource, *http.Response, error) {
   315  	var (
   316  		localVarHttpMethod   = strings.ToUpper("Get")
   317  		localVarPostBody     interface{}
   318  		localVarFormFileName string
   319  		localVarFileName     string
   320  		localVarFileBytes    []byte
   321  		localVarReturnValue  AuthProfileResource
   322  	)
   323  
   324  	// create path and map variables
   325  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/extension/{extensionId}/authz-profile"
   326  	localVarPath = strings.Replace(localVarPath, "{"+"extensionId"+"}", fmt.Sprintf("%v", extensionId), -1)
   327  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   328  
   329  	localVarHeaderParams := make(map[string]string)
   330  	localVarQueryParams := url.Values{}
   331  	localVarFormParams := url.Values{}
   332  
   333  	// to determine the Content-Type header
   334  	localVarHttpContentTypes := []string{}
   335  
   336  	// set Content-Type header
   337  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   338  	if localVarHttpContentType != "" {
   339  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   340  	}
   341  
   342  	// to determine the Accept header
   343  	localVarHttpHeaderAccepts := []string{"application/json"}
   344  
   345  	// set Accept header
   346  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   347  	if localVarHttpHeaderAccept != "" {
   348  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   349  	}
   350  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   351  	if err != nil {
   352  		return localVarReturnValue, nil, err
   353  	}
   354  
   355  	localVarHttpResponse, err := a.client.callAPI(r)
   356  	if err != nil || localVarHttpResponse == nil {
   357  		return localVarReturnValue, localVarHttpResponse, err
   358  	}
   359  
   360  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   361  	localVarHttpResponse.Body.Close()
   362  	if err != nil {
   363  		return localVarReturnValue, localVarHttpResponse, err
   364  	}
   365  
   366  	if localVarHttpResponse.StatusCode >= 300 {
   367  		newErr := GenericOpenAPIError{
   368  			body:  localVarBody,
   369  			error: localVarHttpResponse.Status,
   370  		}
   371  		if localVarHttpResponse.StatusCode == 0 {
   372  			var v AuthProfileResource
   373  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   374  			if err != nil {
   375  				newErr.error = err.Error()
   376  				return localVarReturnValue, localVarHttpResponse, newErr
   377  			}
   378  			newErr.model = v
   379  			return localVarReturnValue, localVarHttpResponse, newErr
   380  		}
   381  		return localVarReturnValue, localVarHttpResponse, newErr
   382  	}
   383  
   384  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   385  	if err != nil {
   386  		newErr := GenericOpenAPIError{
   387  			body:  localVarBody,
   388  			error: err.Error(),
   389  		}
   390  		return localVarReturnValue, localVarHttpResponse, newErr
   391  	}
   392  
   393  	return localVarReturnValue, localVarHttpResponse, nil
   394  }
   395  
   396  /*
   397  RolesAndPermissionsApiService Get User Role
   398   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   399   * @param roleId
   400  @return RoleResource
   401  */
   402  func (a *RolesAndPermissionsApiService) GetSystemRole(ctx context.Context, roleId string) (RoleResource, *http.Response, error) {
   403  	var (
   404  		localVarHttpMethod   = strings.ToUpper("Get")
   405  		localVarPostBody     interface{}
   406  		localVarFormFileName string
   407  		localVarFileName     string
   408  		localVarFileBytes    []byte
   409  		localVarReturnValue  RoleResource
   410  	)
   411  
   412  	// create path and map variables
   413  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/user-role/{roleId}"
   414  	localVarPath = strings.Replace(localVarPath, "{"+"roleId"+"}", fmt.Sprintf("%v", roleId), -1)
   415  
   416  	localVarHeaderParams := make(map[string]string)
   417  	localVarQueryParams := url.Values{}
   418  	localVarFormParams := url.Values{}
   419  
   420  	// to determine the Content-Type header
   421  	localVarHttpContentTypes := []string{}
   422  
   423  	// set Content-Type header
   424  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   425  	if localVarHttpContentType != "" {
   426  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   427  	}
   428  
   429  	// to determine the Accept header
   430  	localVarHttpHeaderAccepts := []string{"application/json"}
   431  
   432  	// set Accept header
   433  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   434  	if localVarHttpHeaderAccept != "" {
   435  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   436  	}
   437  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   438  	if err != nil {
   439  		return localVarReturnValue, nil, err
   440  	}
   441  
   442  	localVarHttpResponse, err := a.client.callAPI(r)
   443  	if err != nil || localVarHttpResponse == nil {
   444  		return localVarReturnValue, localVarHttpResponse, err
   445  	}
   446  
   447  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   448  	localVarHttpResponse.Body.Close()
   449  	if err != nil {
   450  		return localVarReturnValue, localVarHttpResponse, err
   451  	}
   452  
   453  	if localVarHttpResponse.StatusCode >= 300 {
   454  		newErr := GenericOpenAPIError{
   455  			body:  localVarBody,
   456  			error: localVarHttpResponse.Status,
   457  		}
   458  		if localVarHttpResponse.StatusCode == 0 {
   459  			var v RoleResource
   460  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   461  			if err != nil {
   462  				newErr.error = err.Error()
   463  				return localVarReturnValue, localVarHttpResponse, newErr
   464  			}
   465  			newErr.model = v
   466  			return localVarReturnValue, localVarHttpResponse, newErr
   467  		}
   468  		return localVarReturnValue, localVarHttpResponse, newErr
   469  	}
   470  
   471  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   472  	if err != nil {
   473  		newErr := GenericOpenAPIError{
   474  			body:  localVarBody,
   475  			error: err.Error(),
   476  		}
   477  		return localVarReturnValue, localVarHttpResponse, newErr
   478  	}
   479  
   480  	return localVarReturnValue, localVarHttpResponse, nil
   481  }
   482  
   483  /*
   484  RolesAndPermissionsApiService Get Permissions Categories
   485   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   486   * @param optional nil or *ListPermissionCategoriesOpts - Optional Parameters:
   487   * @param "Page" (optional.String) -
   488   * @param "PerPage" (optional.String) -
   489   * @param "ServicePlanId" (optional.String) -
   490  @return PermissionCategoryCollectionResource
   491  */
   492  
   493  type ListPermissionCategoriesOpts struct {
   494  	Page          optional.String
   495  	PerPage       optional.String
   496  	ServicePlanId optional.String
   497  }
   498  
   499  func (a *RolesAndPermissionsApiService) ListPermissionCategories(ctx context.Context, localVarOptionals *ListPermissionCategoriesOpts) (PermissionCategoryCollectionResource, *http.Response, error) {
   500  	var (
   501  		localVarHttpMethod   = strings.ToUpper("Get")
   502  		localVarPostBody     interface{}
   503  		localVarFormFileName string
   504  		localVarFileName     string
   505  		localVarFileBytes    []byte
   506  		localVarReturnValue  PermissionCategoryCollectionResource
   507  	)
   508  
   509  	// create path and map variables
   510  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/permission-category"
   511  
   512  	localVarHeaderParams := make(map[string]string)
   513  	localVarQueryParams := url.Values{}
   514  	localVarFormParams := url.Values{}
   515  
   516  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   517  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   518  	}
   519  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   520  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   521  	}
   522  	if localVarOptionals != nil && localVarOptionals.ServicePlanId.IsSet() {
   523  		localVarQueryParams.Add("servicePlanId", parameterToString(localVarOptionals.ServicePlanId.Value(), ""))
   524  	}
   525  	// to determine the Content-Type header
   526  	localVarHttpContentTypes := []string{}
   527  
   528  	// set Content-Type header
   529  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   530  	if localVarHttpContentType != "" {
   531  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   532  	}
   533  
   534  	// to determine the Accept header
   535  	localVarHttpHeaderAccepts := []string{"application/json"}
   536  
   537  	// set Accept header
   538  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   539  	if localVarHttpHeaderAccept != "" {
   540  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   541  	}
   542  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   543  	if err != nil {
   544  		return localVarReturnValue, nil, err
   545  	}
   546  
   547  	localVarHttpResponse, err := a.client.callAPI(r)
   548  	if err != nil || localVarHttpResponse == nil {
   549  		return localVarReturnValue, localVarHttpResponse, err
   550  	}
   551  
   552  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   553  	localVarHttpResponse.Body.Close()
   554  	if err != nil {
   555  		return localVarReturnValue, localVarHttpResponse, err
   556  	}
   557  
   558  	if localVarHttpResponse.StatusCode >= 300 {
   559  		newErr := GenericOpenAPIError{
   560  			body:  localVarBody,
   561  			error: localVarHttpResponse.Status,
   562  		}
   563  		if localVarHttpResponse.StatusCode == 0 {
   564  			var v PermissionCategoryCollectionResource
   565  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   566  			if err != nil {
   567  				newErr.error = err.Error()
   568  				return localVarReturnValue, localVarHttpResponse, newErr
   569  			}
   570  			newErr.model = v
   571  			return localVarReturnValue, localVarHttpResponse, newErr
   572  		}
   573  		return localVarReturnValue, localVarHttpResponse, newErr
   574  	}
   575  
   576  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   577  	if err != nil {
   578  		newErr := GenericOpenAPIError{
   579  			body:  localVarBody,
   580  			error: err.Error(),
   581  		}
   582  		return localVarReturnValue, localVarHttpResponse, newErr
   583  	}
   584  
   585  	return localVarReturnValue, localVarHttpResponse, nil
   586  }
   587  
   588  /*
   589  RolesAndPermissionsApiService Get Permissions
   590   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   591   * @param optional nil or *ListPermissionsOpts - Optional Parameters:
   592   * @param "Page" (optional.String) -
   593   * @param "PerPage" (optional.String) -
   594   * @param "Assignable" (optional.Bool) -
   595   * @param "ServicePlanId" (optional.String) -
   596  @return PermissionCollectionResource
   597  */
   598  
   599  type ListPermissionsOpts struct {
   600  	Page          optional.String
   601  	PerPage       optional.String
   602  	Assignable    optional.Bool
   603  	ServicePlanId optional.String
   604  }
   605  
   606  func (a *RolesAndPermissionsApiService) ListPermissions(ctx context.Context, localVarOptionals *ListPermissionsOpts) (PermissionCollectionResource, *http.Response, error) {
   607  	var (
   608  		localVarHttpMethod   = strings.ToUpper("Get")
   609  		localVarPostBody     interface{}
   610  		localVarFormFileName string
   611  		localVarFileName     string
   612  		localVarFileBytes    []byte
   613  		localVarReturnValue  PermissionCollectionResource
   614  	)
   615  
   616  	// create path and map variables
   617  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/permission"
   618  
   619  	localVarHeaderParams := make(map[string]string)
   620  	localVarQueryParams := url.Values{}
   621  	localVarFormParams := url.Values{}
   622  
   623  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   624  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   625  	}
   626  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   627  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   628  	}
   629  	if localVarOptionals != nil && localVarOptionals.Assignable.IsSet() {
   630  		localVarQueryParams.Add("assignable", parameterToString(localVarOptionals.Assignable.Value(), ""))
   631  	}
   632  	if localVarOptionals != nil && localVarOptionals.ServicePlanId.IsSet() {
   633  		localVarQueryParams.Add("servicePlanId", parameterToString(localVarOptionals.ServicePlanId.Value(), ""))
   634  	}
   635  	// to determine the Content-Type header
   636  	localVarHttpContentTypes := []string{}
   637  
   638  	// set Content-Type header
   639  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   640  	if localVarHttpContentType != "" {
   641  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   642  	}
   643  
   644  	// to determine the Accept header
   645  	localVarHttpHeaderAccepts := []string{"application/json"}
   646  
   647  	// set Accept header
   648  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   649  	if localVarHttpHeaderAccept != "" {
   650  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   651  	}
   652  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   653  	if err != nil {
   654  		return localVarReturnValue, nil, err
   655  	}
   656  
   657  	localVarHttpResponse, err := a.client.callAPI(r)
   658  	if err != nil || localVarHttpResponse == nil {
   659  		return localVarReturnValue, localVarHttpResponse, err
   660  	}
   661  
   662  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   663  	localVarHttpResponse.Body.Close()
   664  	if err != nil {
   665  		return localVarReturnValue, localVarHttpResponse, err
   666  	}
   667  
   668  	if localVarHttpResponse.StatusCode >= 300 {
   669  		newErr := GenericOpenAPIError{
   670  			body:  localVarBody,
   671  			error: localVarHttpResponse.Status,
   672  		}
   673  		if localVarHttpResponse.StatusCode == 0 {
   674  			var v PermissionCollectionResource
   675  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   676  			if err != nil {
   677  				newErr.error = err.Error()
   678  				return localVarReturnValue, localVarHttpResponse, newErr
   679  			}
   680  			newErr.model = v
   681  			return localVarReturnValue, localVarHttpResponse, newErr
   682  		}
   683  		return localVarReturnValue, localVarHttpResponse, newErr
   684  	}
   685  
   686  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   687  	if err != nil {
   688  		newErr := GenericOpenAPIError{
   689  			body:  localVarBody,
   690  			error: err.Error(),
   691  		}
   692  		return localVarReturnValue, localVarHttpResponse, newErr
   693  	}
   694  
   695  	return localVarReturnValue, localVarHttpResponse, nil
   696  }
   697  
   698  /*
   699  RolesAndPermissionsApiService Get Standard User Roles
   700   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   701   * @param optional nil or *ListSystemRolesOpts - Optional Parameters:
   702   * @param "Page" (optional.String) -
   703   * @param "PerPage" (optional.String) -
   704   * @param "ServicePlanId" (optional.String) -
   705  @return RolesCollectionResource
   706  */
   707  
   708  type ListSystemRolesOpts struct {
   709  	Page          optional.String
   710  	PerPage       optional.String
   711  	ServicePlanId optional.String
   712  }
   713  
   714  func (a *RolesAndPermissionsApiService) ListSystemRoles(ctx context.Context, localVarOptionals *ListSystemRolesOpts) (RolesCollectionResource, *http.Response, error) {
   715  	var (
   716  		localVarHttpMethod   = strings.ToUpper("Get")
   717  		localVarPostBody     interface{}
   718  		localVarFormFileName string
   719  		localVarFileName     string
   720  		localVarFileBytes    []byte
   721  		localVarReturnValue  RolesCollectionResource
   722  	)
   723  
   724  	// create path and map variables
   725  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/dictionary/user-role"
   726  
   727  	localVarHeaderParams := make(map[string]string)
   728  	localVarQueryParams := url.Values{}
   729  	localVarFormParams := url.Values{}
   730  
   731  	if localVarOptionals != nil && localVarOptionals.Page.IsSet() {
   732  		localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page.Value(), ""))
   733  	}
   734  	if localVarOptionals != nil && localVarOptionals.PerPage.IsSet() {
   735  		localVarQueryParams.Add("perPage", parameterToString(localVarOptionals.PerPage.Value(), ""))
   736  	}
   737  	if localVarOptionals != nil && localVarOptionals.ServicePlanId.IsSet() {
   738  		localVarQueryParams.Add("servicePlanId", parameterToString(localVarOptionals.ServicePlanId.Value(), ""))
   739  	}
   740  	// to determine the Content-Type header
   741  	localVarHttpContentTypes := []string{}
   742  
   743  	// set Content-Type header
   744  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   745  	if localVarHttpContentType != "" {
   746  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   747  	}
   748  
   749  	// to determine the Accept header
   750  	localVarHttpHeaderAccepts := []string{"application/json"}
   751  
   752  	// set Accept header
   753  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   754  	if localVarHttpHeaderAccept != "" {
   755  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   756  	}
   757  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   758  	if err != nil {
   759  		return localVarReturnValue, nil, err
   760  	}
   761  
   762  	localVarHttpResponse, err := a.client.callAPI(r)
   763  	if err != nil || localVarHttpResponse == nil {
   764  		return localVarReturnValue, localVarHttpResponse, err
   765  	}
   766  
   767  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   768  	localVarHttpResponse.Body.Close()
   769  	if err != nil {
   770  		return localVarReturnValue, localVarHttpResponse, err
   771  	}
   772  
   773  	if localVarHttpResponse.StatusCode >= 300 {
   774  		newErr := GenericOpenAPIError{
   775  			body:  localVarBody,
   776  			error: localVarHttpResponse.Status,
   777  		}
   778  		if localVarHttpResponse.StatusCode == 0 {
   779  			var v RolesCollectionResource
   780  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   781  			if err != nil {
   782  				newErr.error = err.Error()
   783  				return localVarReturnValue, localVarHttpResponse, newErr
   784  			}
   785  			newErr.model = v
   786  			return localVarReturnValue, localVarHttpResponse, newErr
   787  		}
   788  		return localVarReturnValue, localVarHttpResponse, newErr
   789  	}
   790  
   791  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   792  	if err != nil {
   793  		newErr := GenericOpenAPIError{
   794  			body:  localVarBody,
   795  			error: err.Error(),
   796  		}
   797  		return localVarReturnValue, localVarHttpResponse, newErr
   798  	}
   799  
   800  	return localVarReturnValue, localVarHttpResponse, nil
   801  }
   802  
   803  /*
   804  RolesAndPermissionsApiService Get Default User Role
   805  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.28 (Release 8.4)&lt;/p&gt;&lt;p&gt;Returns account default user role.&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;RoleManagement&lt;/td&gt;&lt;td&gt;Editing and assignment of user roles&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;
   806   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   807   * @param accountId Internal identifier of an account
   808  */
   809  func (a *RolesAndPermissionsApiService) LoadUserRole(ctx context.Context, accountId string) (*http.Response, error) {
   810  	var (
   811  		localVarHttpMethod   = strings.ToUpper("Get")
   812  		localVarPostBody     interface{}
   813  		localVarFormFileName string
   814  		localVarFileName     string
   815  		localVarFileBytes    []byte
   816  	)
   817  
   818  	// create path and map variables
   819  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/user-role/default"
   820  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   821  
   822  	localVarHeaderParams := make(map[string]string)
   823  	localVarQueryParams := url.Values{}
   824  	localVarFormParams := url.Values{}
   825  
   826  	// to determine the Content-Type header
   827  	localVarHttpContentTypes := []string{}
   828  
   829  	// set Content-Type header
   830  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   831  	if localVarHttpContentType != "" {
   832  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   833  	}
   834  
   835  	// to determine the Accept header
   836  	localVarHttpHeaderAccepts := []string{}
   837  
   838  	// set Accept header
   839  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   840  	if localVarHttpHeaderAccept != "" {
   841  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   842  	}
   843  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   844  	if err != nil {
   845  		return nil, err
   846  	}
   847  
   848  	localVarHttpResponse, err := a.client.callAPI(r)
   849  	if err != nil || localVarHttpResponse == nil {
   850  		return localVarHttpResponse, err
   851  	}
   852  
   853  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   854  	localVarHttpResponse.Body.Close()
   855  	if err != nil {
   856  		return localVarHttpResponse, err
   857  	}
   858  
   859  	if localVarHttpResponse.StatusCode >= 300 {
   860  		newErr := GenericOpenAPIError{
   861  			body:  localVarBody,
   862  			error: localVarHttpResponse.Status,
   863  		}
   864  		return localVarHttpResponse, newErr
   865  	}
   866  
   867  	return localVarHttpResponse, nil
   868  }
   869  
   870  /*
   871  RolesAndPermissionsApiService Set Default User Role
   872  &lt;p style&#x3D;&#39;font-style:italic;&#39;&gt;Since 1.0.30 (Release 9.1)&lt;/p&gt;&lt;p&gt;Updates account default user role.&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;RoleManagement&lt;/td&gt;&lt;td&gt;Editing and assignment of user roles&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;
   873   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   874   * @param accountId Internal identifier of an account
   875   * @param defaultUserRoleRequest JSON body
   876  */
   877  func (a *RolesAndPermissionsApiService) UpdateUserRole(ctx context.Context, accountId string, defaultUserRoleRequest DefaultUserRoleRequest) (*http.Response, error) {
   878  	var (
   879  		localVarHttpMethod   = strings.ToUpper("Put")
   880  		localVarPostBody     interface{}
   881  		localVarFormFileName string
   882  		localVarFileName     string
   883  		localVarFileBytes    []byte
   884  	)
   885  
   886  	// create path and map variables
   887  	localVarPath := a.client.cfg.BasePath + "/restapi/v1.0/account/{accountId}/user-role/default"
   888  	localVarPath = strings.Replace(localVarPath, "{"+"accountId"+"}", fmt.Sprintf("%v", accountId), -1)
   889  
   890  	localVarHeaderParams := make(map[string]string)
   891  	localVarQueryParams := url.Values{}
   892  	localVarFormParams := url.Values{}
   893  
   894  	// to determine the Content-Type header
   895  	localVarHttpContentTypes := []string{"application/json"}
   896  
   897  	// set Content-Type header
   898  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   899  	if localVarHttpContentType != "" {
   900  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   901  	}
   902  
   903  	// to determine the Accept header
   904  	localVarHttpHeaderAccepts := []string{}
   905  
   906  	// set Accept header
   907  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   908  	if localVarHttpHeaderAccept != "" {
   909  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   910  	}
   911  	// body params
   912  	localVarPostBody = &defaultUserRoleRequest
   913  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   914  	if err != nil {
   915  		return nil, err
   916  	}
   917  
   918  	localVarHttpResponse, err := a.client.callAPI(r)
   919  	if err != nil || localVarHttpResponse == nil {
   920  		return localVarHttpResponse, err
   921  	}
   922  
   923  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   924  	localVarHttpResponse.Body.Close()
   925  	if err != nil {
   926  		return localVarHttpResponse, err
   927  	}
   928  
   929  	if localVarHttpResponse.StatusCode >= 300 {
   930  		newErr := GenericOpenAPIError{
   931  			body:  localVarBody,
   932  			error: localVarHttpResponse.Status,
   933  		}
   934  		return localVarHttpResponse, newErr
   935  	}
   936  
   937  	return localVarHttpResponse, nil
   938  }