github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_settings.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  	"github.com/antihax/optional"
    15  	"io/ioutil"
    16  	"net/http"
    17  	"net/url"
    18  	"reflect"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type SettingsApiService service
    27  
    28  /*
    29  SettingsApiService Getting all settings
    30  This method renders all settings of your domain.  Authorization​: only users that can update settings.
    31   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    32  @return Settings
    33  */
    34  func (a *SettingsApiService) GetAllSettings(ctx context.Context) (Settings, *http.Response, error) {
    35  	var (
    36  		localVarHttpMethod   = http.MethodGet
    37  		localVarPostBody     interface{}
    38  		localVarFormFileName string
    39  		localVarFileName     string
    40  		localVarFileBytes    []byte
    41  		localVarReturnValue  Settings
    42  	)
    43  
    44  	// create path and map variables
    45  	localVarPath := a.client.cfg.BasePath + "/settings"
    46  
    47  	localVarHeaderParams := make(map[string]string)
    48  	localVarQueryParams := url.Values{}
    49  	localVarFormParams := url.Values{}
    50  
    51  	// to determine the Content-Type header
    52  	localVarHttpContentTypes := []string{}
    53  
    54  	// set Content-Type header
    55  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    56  	if localVarHttpContentType != "" {
    57  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    58  	}
    59  
    60  	// to determine the Accept header
    61  	localVarHttpHeaderAccepts := []string{"application/json"}
    62  
    63  	// set Accept header
    64  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    65  	if localVarHttpHeaderAccept != "" {
    66  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    67  	}
    68  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    69  	if err != nil {
    70  		return localVarReturnValue, nil, err
    71  	}
    72  
    73  	localVarHttpResponse, err := a.client.callAPI(r)
    74  	if err != nil || localVarHttpResponse == nil {
    75  		return localVarReturnValue, localVarHttpResponse, err
    76  	}
    77  
    78  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    79  	localVarHttpResponse.Body.Close()
    80  	if err != nil {
    81  		return localVarReturnValue, localVarHttpResponse, err
    82  	}
    83  
    84  	if localVarHttpResponse.StatusCode >= 300 {
    85  		newErr := GenericOpenAPIError{
    86  			body:  localVarBody,
    87  			error: localVarHttpResponse.Status,
    88  		}
    89  		if localVarHttpResponse.StatusCode == 200 {
    90  			var v Settings
    91  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
    92  			if err != nil {
    93  				newErr.error = err.Error()
    94  				return localVarReturnValue, localVarHttpResponse, newErr
    95  			}
    96  			newErr.model = v
    97  			return localVarReturnValue, localVarHttpResponse, newErr
    98  		}
    99  		return localVarReturnValue, localVarHttpResponse, newErr
   100  	}
   101  
   102  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   103  	if err != nil {
   104  		newErr := GenericOpenAPIError{
   105  			body:  localVarBody,
   106  			error: err.Error(),
   107  		}
   108  		return localVarReturnValue, localVarHttpResponse, newErr
   109  	}
   110  
   111  	return localVarReturnValue, localVarHttpResponse, nil
   112  }
   113  
   114  /*
   115  SettingsApiService Updating settings
   116  This method updates the current domain settings.  Authorization​: only users that can update settings.
   117   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   118   * @param optional nil or *UpdateSettingsOpts - Optional Parameters:
   119   * @param "ActivityPresenceThreshold" (optional.Int32) -  (in hours).
   120   * @param "ActivityTracking" (optional.Bool) -  ​Enable activity tracking (Boolean)
   121   * @param "BeginningOfWeek" (optional.String) -  (Day of week)
   122   * @param "CategoryTagging" (optional.Bool) -  A​ ctivate the forced categorization by source.​ (Boolean)
   123   * @param "ContentLanguages" (optional.String) -  (See format)
   124   * @param "Dashboard" (optional.Bool) -  Activate the dashboard (Boolean)
   125   * @param "DenyIframeIntegration" (optional.Bool) -  Prevent the DD to be embed by other websites (Boolean)
   126   * @param "DisablePasswordAutocomplete" (optional.Bool) -  (Boolean)
   127   * @param "ExpirePasswordAfter" (optional.Int32) -  password expiration delay (in seconds)
   128   * @param "ExpirePasswordEnabled" (optional.Bool) -  enable password expiration (Boolean)
   129   * @param "ExportInSeconds" (optional.Bool) -  provide durations in seconds in export (Boolean)
   130   * @param "FoldUselessContents" (optional.Bool) -  fold archived contents (Boolean)
   131   * @param "FteDuration" (optional.Int32) -  FTE data period (in hours)
   132   * @param "IdentityMerge" (optional.Bool) -  enable identity merge (Boolean)
   133   * @param "InterventionDeferRates" (optional.Interface of []int32) -  (Array of times in seconds)
   134   * @param "InterventionDeferThreshold" (optional.Int32) -  (in seconds)
   135   * @param "InterventionRates" (optional.Interface of []int32) -  (Array of times in seconds)
   136   * @param "Locale" (optional.String) -  locale code (String)
   137   * @param "MultiLang" (optional.Bool) -  activate multi language support for messages (Boolean)
   138   * @param "Name" (optional.String) -  Name of the Dimelo Digital (String)
   139   * @param "PasswordArchivableEnabled" (optional.Bool) -  prohibit reusing old passwords (Boolean)
   140   * @param "PasswordArchivableSize" (optional.Int32) -  number of archived passwords
   141   * @param "PasswordMinLength" (optional.Int32) -  minimum character length
   142   * @param "PasswordNonWord" (optional.Bool) -  should contain at least 1 non alphanumeric char (Boolean)
   143   * @param "PasswordNumbers" (optional.Bool) -  should contain at least 1 number (Boolean)
   144   * @param "PasswordRecoveryDisabled" (optional.Bool) -  disable password recovery by email (Boolean)
   145   * @param "PushEnabled" (optional.Bool) -  Enable push mode (Boolean)
   146   * @param "ReplyAsAnyIdentity" (optional.Bool) -  Enable reply as any identity (Boolean)
   147   * @param "RtlSupport" (optional.Bool) -  Enable right to left support (Boolean)
   148   * @param "SelfApprovalRequired" (optional.Bool) -  ​Allow authors to ask approval of their messages (Boolean)
   149   * @param "SessionTimeout" (optional.Int32) -  Session timeout (in minutes)
   150   * @param "Spellchecking" (optional.Bool) -  Enable spellchecking (Boolean)
   151   * @param "Style" (optional.String) -  Defines the DD’s design (String)
   152   * @param "ThirdPartyServicesDisabled" (optional.Bool) -  Disable third-party services (tracking...) (Boolean)
   153   * @param "Timezone" (optional.String) -  Use the timezone endpoint to get the timezone name (String)
   154   * @param "TrackJs" (optional.Bool) -  Track JS errors (Boolean)
   155   * @param "Type_" (optional.String) -  Can be ‘demo’, ‘production’ or ‘archived’
   156   * @param "UrgentTaskThreshold" (optional.Int32) -  Chat max response time (in seconds)
   157   * @param "UseSystemFont" (optional.Bool) -  Experimental (Boolean)
   158  @return Settings
   159  */
   160  
   161  type UpdateSettingsOpts struct {
   162  	ActivityPresenceThreshold   optional.Int32
   163  	ActivityTracking            optional.Bool
   164  	BeginningOfWeek             optional.String
   165  	CategoryTagging             optional.Bool
   166  	ContentLanguages            optional.String
   167  	Dashboard                   optional.Bool
   168  	DenyIframeIntegration       optional.Bool
   169  	DisablePasswordAutocomplete optional.Bool
   170  	ExpirePasswordAfter         optional.Int32
   171  	ExpirePasswordEnabled       optional.Bool
   172  	ExportInSeconds             optional.Bool
   173  	FoldUselessContents         optional.Bool
   174  	FteDuration                 optional.Int32
   175  	IdentityMerge               optional.Bool
   176  	InterventionDeferRates      optional.Interface
   177  	InterventionDeferThreshold  optional.Int32
   178  	InterventionRates           optional.Interface
   179  	Locale                      optional.String
   180  	MultiLang                   optional.Bool
   181  	Name                        optional.String
   182  	PasswordArchivableEnabled   optional.Bool
   183  	PasswordArchivableSize      optional.Int32
   184  	PasswordMinLength           optional.Int32
   185  	PasswordNonWord             optional.Bool
   186  	PasswordNumbers             optional.Bool
   187  	PasswordRecoveryDisabled    optional.Bool
   188  	PushEnabled                 optional.Bool
   189  	ReplyAsAnyIdentity          optional.Bool
   190  	RtlSupport                  optional.Bool
   191  	SelfApprovalRequired        optional.Bool
   192  	SessionTimeout              optional.Int32
   193  	Spellchecking               optional.Bool
   194  	Style                       optional.String
   195  	ThirdPartyServicesDisabled  optional.Bool
   196  	Timezone                    optional.String
   197  	TrackJs                     optional.Bool
   198  	Type_                       optional.String
   199  	UrgentTaskThreshold         optional.Int32
   200  	UseSystemFont               optional.Bool
   201  }
   202  
   203  func (a *SettingsApiService) UpdateSettings(ctx context.Context, localVarOptionals *UpdateSettingsOpts) (Settings, *http.Response, error) {
   204  	var (
   205  		localVarHttpMethod   = http.MethodPut
   206  		localVarPostBody     interface{}
   207  		localVarFormFileName string
   208  		localVarFileName     string
   209  		localVarFileBytes    []byte
   210  		localVarReturnValue  Settings
   211  	)
   212  
   213  	// create path and map variables
   214  	localVarPath := a.client.cfg.BasePath + "/settings"
   215  
   216  	localVarHeaderParams := make(map[string]string)
   217  	localVarQueryParams := url.Values{}
   218  	localVarFormParams := url.Values{}
   219  
   220  	if localVarOptionals != nil && localVarOptionals.ActivityPresenceThreshold.IsSet() {
   221  		localVarQueryParams.Add("activity_presence_threshold", parameterToString(localVarOptionals.ActivityPresenceThreshold.Value(), ""))
   222  	}
   223  	if localVarOptionals != nil && localVarOptionals.ActivityTracking.IsSet() {
   224  		localVarQueryParams.Add("activity_tracking", parameterToString(localVarOptionals.ActivityTracking.Value(), ""))
   225  	}
   226  	if localVarOptionals != nil && localVarOptionals.BeginningOfWeek.IsSet() {
   227  		localVarQueryParams.Add("beginning_of_week", parameterToString(localVarOptionals.BeginningOfWeek.Value(), ""))
   228  	}
   229  	if localVarOptionals != nil && localVarOptionals.CategoryTagging.IsSet() {
   230  		localVarQueryParams.Add("category_tagging", parameterToString(localVarOptionals.CategoryTagging.Value(), ""))
   231  	}
   232  	if localVarOptionals != nil && localVarOptionals.ContentLanguages.IsSet() {
   233  		localVarQueryParams.Add("content_languages", parameterToString(localVarOptionals.ContentLanguages.Value(), ""))
   234  	}
   235  	if localVarOptionals != nil && localVarOptionals.Dashboard.IsSet() {
   236  		localVarQueryParams.Add("dashboard", parameterToString(localVarOptionals.Dashboard.Value(), ""))
   237  	}
   238  	if localVarOptionals != nil && localVarOptionals.DenyIframeIntegration.IsSet() {
   239  		localVarQueryParams.Add("deny_iframe_integration", parameterToString(localVarOptionals.DenyIframeIntegration.Value(), ""))
   240  	}
   241  	if localVarOptionals != nil && localVarOptionals.DisablePasswordAutocomplete.IsSet() {
   242  		localVarQueryParams.Add("disable_password_autocomplete", parameterToString(localVarOptionals.DisablePasswordAutocomplete.Value(), ""))
   243  	}
   244  	if localVarOptionals != nil && localVarOptionals.ExpirePasswordAfter.IsSet() {
   245  		localVarQueryParams.Add("expire_password_after", parameterToString(localVarOptionals.ExpirePasswordAfter.Value(), ""))
   246  	}
   247  	if localVarOptionals != nil && localVarOptionals.ExpirePasswordEnabled.IsSet() {
   248  		localVarQueryParams.Add("expire_password_enabled", parameterToString(localVarOptionals.ExpirePasswordEnabled.Value(), ""))
   249  	}
   250  	if localVarOptionals != nil && localVarOptionals.ExportInSeconds.IsSet() {
   251  		localVarQueryParams.Add("export_in_seconds", parameterToString(localVarOptionals.ExportInSeconds.Value(), ""))
   252  	}
   253  	if localVarOptionals != nil && localVarOptionals.FoldUselessContents.IsSet() {
   254  		localVarQueryParams.Add("fold_useless_contents", parameterToString(localVarOptionals.FoldUselessContents.Value(), ""))
   255  	}
   256  	if localVarOptionals != nil && localVarOptionals.FteDuration.IsSet() {
   257  		localVarQueryParams.Add("fte_duration", parameterToString(localVarOptionals.FteDuration.Value(), ""))
   258  	}
   259  	if localVarOptionals != nil && localVarOptionals.IdentityMerge.IsSet() {
   260  		localVarQueryParams.Add("identity_merge", parameterToString(localVarOptionals.IdentityMerge.Value(), ""))
   261  	}
   262  	if localVarOptionals != nil && localVarOptionals.InterventionDeferRates.IsSet() {
   263  		t := localVarOptionals.InterventionDeferRates.Value()
   264  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   265  			s := reflect.ValueOf(t)
   266  			for i := 0; i < s.Len(); i++ {
   267  				localVarQueryParams.Add("intervention_defer_rates[]", parameterToString(s.Index(i), "multi"))
   268  			}
   269  		} else {
   270  			localVarQueryParams.Add("intervention_defer_rates[]", parameterToString(t, "multi"))
   271  		}
   272  	}
   273  	if localVarOptionals != nil && localVarOptionals.InterventionDeferThreshold.IsSet() {
   274  		localVarQueryParams.Add("intervention_defer_threshold", parameterToString(localVarOptionals.InterventionDeferThreshold.Value(), ""))
   275  	}
   276  	if localVarOptionals != nil && localVarOptionals.InterventionRates.IsSet() {
   277  		t := localVarOptionals.InterventionRates.Value()
   278  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   279  			s := reflect.ValueOf(t)
   280  			for i := 0; i < s.Len(); i++ {
   281  				localVarQueryParams.Add("intervention_rates", parameterToString(s.Index(i), "multi"))
   282  			}
   283  		} else {
   284  			localVarQueryParams.Add("intervention_rates", parameterToString(t, "multi"))
   285  		}
   286  	}
   287  	if localVarOptionals != nil && localVarOptionals.Locale.IsSet() {
   288  		localVarQueryParams.Add("locale", parameterToString(localVarOptionals.Locale.Value(), ""))
   289  	}
   290  	if localVarOptionals != nil && localVarOptionals.MultiLang.IsSet() {
   291  		localVarQueryParams.Add("multi_lang", parameterToString(localVarOptionals.MultiLang.Value(), ""))
   292  	}
   293  	if localVarOptionals != nil && localVarOptionals.Name.IsSet() {
   294  		localVarQueryParams.Add("name", parameterToString(localVarOptionals.Name.Value(), ""))
   295  	}
   296  	if localVarOptionals != nil && localVarOptionals.PasswordArchivableEnabled.IsSet() {
   297  		localVarQueryParams.Add("password_archivable_enabled", parameterToString(localVarOptionals.PasswordArchivableEnabled.Value(), ""))
   298  	}
   299  	if localVarOptionals != nil && localVarOptionals.PasswordArchivableSize.IsSet() {
   300  		localVarQueryParams.Add("password_archivable_size", parameterToString(localVarOptionals.PasswordArchivableSize.Value(), ""))
   301  	}
   302  	if localVarOptionals != nil && localVarOptionals.PasswordMinLength.IsSet() {
   303  		localVarQueryParams.Add("password_min_length", parameterToString(localVarOptionals.PasswordMinLength.Value(), ""))
   304  	}
   305  	if localVarOptionals != nil && localVarOptionals.PasswordNonWord.IsSet() {
   306  		localVarQueryParams.Add("password_non_word", parameterToString(localVarOptionals.PasswordNonWord.Value(), ""))
   307  	}
   308  	if localVarOptionals != nil && localVarOptionals.PasswordNumbers.IsSet() {
   309  		localVarQueryParams.Add("password_numbers", parameterToString(localVarOptionals.PasswordNumbers.Value(), ""))
   310  	}
   311  	if localVarOptionals != nil && localVarOptionals.PasswordRecoveryDisabled.IsSet() {
   312  		localVarQueryParams.Add("password_recovery_disabled", parameterToString(localVarOptionals.PasswordRecoveryDisabled.Value(), ""))
   313  	}
   314  	if localVarOptionals != nil && localVarOptionals.PushEnabled.IsSet() {
   315  		localVarQueryParams.Add("push_enabled", parameterToString(localVarOptionals.PushEnabled.Value(), ""))
   316  	}
   317  	if localVarOptionals != nil && localVarOptionals.ReplyAsAnyIdentity.IsSet() {
   318  		localVarQueryParams.Add("reply_as_any_identity", parameterToString(localVarOptionals.ReplyAsAnyIdentity.Value(), ""))
   319  	}
   320  	if localVarOptionals != nil && localVarOptionals.RtlSupport.IsSet() {
   321  		localVarQueryParams.Add("rtl_support", parameterToString(localVarOptionals.RtlSupport.Value(), ""))
   322  	}
   323  	if localVarOptionals != nil && localVarOptionals.SelfApprovalRequired.IsSet() {
   324  		localVarQueryParams.Add("self_approval_required", parameterToString(localVarOptionals.SelfApprovalRequired.Value(), ""))
   325  	}
   326  	if localVarOptionals != nil && localVarOptionals.SessionTimeout.IsSet() {
   327  		localVarQueryParams.Add("session_timeout", parameterToString(localVarOptionals.SessionTimeout.Value(), ""))
   328  	}
   329  	if localVarOptionals != nil && localVarOptionals.Spellchecking.IsSet() {
   330  		localVarQueryParams.Add("spellchecking", parameterToString(localVarOptionals.Spellchecking.Value(), ""))
   331  	}
   332  	if localVarOptionals != nil && localVarOptionals.Style.IsSet() {
   333  		localVarQueryParams.Add("style", parameterToString(localVarOptionals.Style.Value(), ""))
   334  	}
   335  	if localVarOptionals != nil && localVarOptionals.ThirdPartyServicesDisabled.IsSet() {
   336  		localVarQueryParams.Add("third_party_services_disabled", parameterToString(localVarOptionals.ThirdPartyServicesDisabled.Value(), ""))
   337  	}
   338  	if localVarOptionals != nil && localVarOptionals.Timezone.IsSet() {
   339  		localVarQueryParams.Add("timezone", parameterToString(localVarOptionals.Timezone.Value(), ""))
   340  	}
   341  	if localVarOptionals != nil && localVarOptionals.TrackJs.IsSet() {
   342  		localVarQueryParams.Add("track_js", parameterToString(localVarOptionals.TrackJs.Value(), ""))
   343  	}
   344  	if localVarOptionals != nil && localVarOptionals.Type_.IsSet() {
   345  		localVarQueryParams.Add("type", parameterToString(localVarOptionals.Type_.Value(), ""))
   346  	}
   347  	if localVarOptionals != nil && localVarOptionals.UrgentTaskThreshold.IsSet() {
   348  		localVarQueryParams.Add("urgent_task_threshold", parameterToString(localVarOptionals.UrgentTaskThreshold.Value(), ""))
   349  	}
   350  	if localVarOptionals != nil && localVarOptionals.UseSystemFont.IsSet() {
   351  		localVarQueryParams.Add("use_system_font", parameterToString(localVarOptionals.UseSystemFont.Value(), ""))
   352  	}
   353  	// to determine the Content-Type header
   354  	localVarHttpContentTypes := []string{}
   355  
   356  	// set Content-Type header
   357  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   358  	if localVarHttpContentType != "" {
   359  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   360  	}
   361  
   362  	// to determine the Accept header
   363  	localVarHttpHeaderAccepts := []string{"application/json"}
   364  
   365  	// set Accept header
   366  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   367  	if localVarHttpHeaderAccept != "" {
   368  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   369  	}
   370  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   371  	if err != nil {
   372  		return localVarReturnValue, nil, err
   373  	}
   374  
   375  	localVarHttpResponse, err := a.client.callAPI(r)
   376  	if err != nil || localVarHttpResponse == nil {
   377  		return localVarReturnValue, localVarHttpResponse, err
   378  	}
   379  
   380  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   381  	localVarHttpResponse.Body.Close()
   382  	if err != nil {
   383  		return localVarReturnValue, localVarHttpResponse, err
   384  	}
   385  
   386  	if localVarHttpResponse.StatusCode >= 300 {
   387  		newErr := GenericOpenAPIError{
   388  			body:  localVarBody,
   389  			error: localVarHttpResponse.Status,
   390  		}
   391  		if localVarHttpResponse.StatusCode == 200 {
   392  			var v Settings
   393  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   394  			if err != nil {
   395  				newErr.error = err.Error()
   396  				return localVarReturnValue, localVarHttpResponse, newErr
   397  			}
   398  			newErr.model = v
   399  			return localVarReturnValue, localVarHttpResponse, newErr
   400  		}
   401  		return localVarReturnValue, localVarHttpResponse, newErr
   402  	}
   403  
   404  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   405  	if err != nil {
   406  		newErr := GenericOpenAPIError{
   407  			body:  localVarBody,
   408  			error: err.Error(),
   409  		}
   410  		return localVarReturnValue, localVarHttpResponse, newErr
   411  	}
   412  
   413  	return localVarReturnValue, localVarHttpResponse, nil
   414  }