github.com/grokify/go-ringcentral-client@v0.3.31/engagedigital/v1/client/api_sources.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 SourcesApiService service
    29  
    30  /*
    31  SourcesApiService Getting all sources
    32  This method renders sources ordered by creation date (ascending).
    33   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
    34   * @param optional nil or *GetAllSourcesOpts - Optional Parameters:
    35   * @param "Offset" (optional.Int32) -  The record index to start. Default value is 0.
    36   * @param "Limit" (optional.Int32) -  The max number of records to return. Default value is 30, max value is 150.
    37  @return GetAllSourcesResponse
    38  */
    39  
    40  type GetAllSourcesOpts struct {
    41  	Offset optional.Int32
    42  	Limit  optional.Int32
    43  }
    44  
    45  func (a *SourcesApiService) GetAllSources(ctx context.Context, localVarOptionals *GetAllSourcesOpts) (GetAllSourcesResponse, *http.Response, error) {
    46  	var (
    47  		localVarHttpMethod   = http.MethodGet
    48  		localVarPostBody     interface{}
    49  		localVarFormFileName string
    50  		localVarFileName     string
    51  		localVarFileBytes    []byte
    52  		localVarReturnValue  GetAllSourcesResponse
    53  	)
    54  
    55  	// create path and map variables
    56  	localVarPath := a.client.cfg.BasePath + "/content_sources"
    57  
    58  	localVarHeaderParams := make(map[string]string)
    59  	localVarQueryParams := url.Values{}
    60  	localVarFormParams := url.Values{}
    61  
    62  	if localVarOptionals != nil && localVarOptionals.Offset.IsSet() {
    63  		localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), ""))
    64  	}
    65  	if localVarOptionals != nil && localVarOptionals.Limit.IsSet() {
    66  		localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), ""))
    67  	}
    68  	// to determine the Content-Type header
    69  	localVarHttpContentTypes := []string{}
    70  
    71  	// set Content-Type header
    72  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    73  	if localVarHttpContentType != "" {
    74  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    75  	}
    76  
    77  	// to determine the Accept header
    78  	localVarHttpHeaderAccepts := []string{"application/json"}
    79  
    80  	// set Accept header
    81  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    82  	if localVarHttpHeaderAccept != "" {
    83  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    84  	}
    85  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
    86  	if err != nil {
    87  		return localVarReturnValue, nil, err
    88  	}
    89  
    90  	localVarHttpResponse, err := a.client.callAPI(r)
    91  	if err != nil || localVarHttpResponse == nil {
    92  		return localVarReturnValue, localVarHttpResponse, err
    93  	}
    94  
    95  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
    96  	localVarHttpResponse.Body.Close()
    97  	if err != nil {
    98  		return localVarReturnValue, localVarHttpResponse, err
    99  	}
   100  
   101  	if localVarHttpResponse.StatusCode >= 300 {
   102  		newErr := GenericOpenAPIError{
   103  			body:  localVarBody,
   104  			error: localVarHttpResponse.Status,
   105  		}
   106  		if localVarHttpResponse.StatusCode == 200 {
   107  			var v GetAllSourcesResponse
   108  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   109  			if err != nil {
   110  				newErr.error = err.Error()
   111  				return localVarReturnValue, localVarHttpResponse, newErr
   112  			}
   113  			newErr.model = v
   114  			return localVarReturnValue, localVarHttpResponse, newErr
   115  		}
   116  		return localVarReturnValue, localVarHttpResponse, newErr
   117  	}
   118  
   119  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   120  	if err != nil {
   121  		newErr := GenericOpenAPIError{
   122  			body:  localVarBody,
   123  			error: err.Error(),
   124  		}
   125  		return localVarReturnValue, localVarHttpResponse, newErr
   126  	}
   127  
   128  	return localVarReturnValue, localVarHttpResponse, nil
   129  }
   130  
   131  /*
   132  SourcesApiService Getting a source from its id
   133  This method renders a source from given id.
   134   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   135   * @param sourceId
   136  @return Source
   137  */
   138  func (a *SourcesApiService) GetSource(ctx context.Context, sourceId string) (Source, *http.Response, error) {
   139  	var (
   140  		localVarHttpMethod   = http.MethodGet
   141  		localVarPostBody     interface{}
   142  		localVarFormFileName string
   143  		localVarFileName     string
   144  		localVarFileBytes    []byte
   145  		localVarReturnValue  Source
   146  	)
   147  
   148  	// create path and map variables
   149  	localVarPath := a.client.cfg.BasePath + "/content_sources/{sourceId}"
   150  	localVarPath = strings.Replace(localVarPath, "{"+"sourceId"+"}", fmt.Sprintf("%v", sourceId), -1)
   151  
   152  	localVarHeaderParams := make(map[string]string)
   153  	localVarQueryParams := url.Values{}
   154  	localVarFormParams := url.Values{}
   155  
   156  	// to determine the Content-Type header
   157  	localVarHttpContentTypes := []string{}
   158  
   159  	// set Content-Type header
   160  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   161  	if localVarHttpContentType != "" {
   162  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   163  	}
   164  
   165  	// to determine the Accept header
   166  	localVarHttpHeaderAccepts := []string{"application/json"}
   167  
   168  	// set Accept header
   169  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   170  	if localVarHttpHeaderAccept != "" {
   171  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   172  	}
   173  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   174  	if err != nil {
   175  		return localVarReturnValue, nil, err
   176  	}
   177  
   178  	localVarHttpResponse, err := a.client.callAPI(r)
   179  	if err != nil || localVarHttpResponse == nil {
   180  		return localVarReturnValue, localVarHttpResponse, err
   181  	}
   182  
   183  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   184  	localVarHttpResponse.Body.Close()
   185  	if err != nil {
   186  		return localVarReturnValue, localVarHttpResponse, err
   187  	}
   188  
   189  	if localVarHttpResponse.StatusCode >= 300 {
   190  		newErr := GenericOpenAPIError{
   191  			body:  localVarBody,
   192  			error: localVarHttpResponse.Status,
   193  		}
   194  		if localVarHttpResponse.StatusCode == 200 {
   195  			var v Source
   196  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   197  			if err != nil {
   198  				newErr.error = err.Error()
   199  				return localVarReturnValue, localVarHttpResponse, newErr
   200  			}
   201  			newErr.model = v
   202  			return localVarReturnValue, localVarHttpResponse, newErr
   203  		}
   204  		return localVarReturnValue, localVarHttpResponse, newErr
   205  	}
   206  
   207  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   208  	if err != nil {
   209  		newErr := GenericOpenAPIError{
   210  			body:  localVarBody,
   211  			error: err.Error(),
   212  		}
   213  		return localVarReturnValue, localVarHttpResponse, newErr
   214  	}
   215  
   216  	return localVarReturnValue, localVarHttpResponse, nil
   217  }
   218  
   219  /*
   220  SourcesApiService Updating a source
   221  This method updates an existing source from given attributes and renders it in case of success.
   222   * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
   223   * @param sourceId
   224   * @param optional nil or *UpdateSourceOpts - Optional Parameters:
   225   * @param "Name" (optional.String) -  Source name
   226   * @param "Active" (optional.Bool) -  Activate/deactivate the source (Boolean)
   227   * @param "ChannelId" (optional.String) -  Channel
   228   * @param "Color" (optional.Int32) -  Color of the icon (see S​ ource colors​) (Integer)
   229   * @param "SlaResponse" (optional.Int32) -  Response time (seconds)
   230   * @param "SlaExpiredStrategy" (optional.String) -  SLA expired strategy (\"max\", \"half\" or \"base\")
   231   * @param "InterventionMessagesBoost" (optional.Int32) -  Priority boost of messages with intervention (Integer)
   232   * @param "TransferredTasksBoost" (optional.Int32) -  Priority boost of transferred tasks (Integer)
   233   * @param "HiddenFromStats" (optional.Bool) -  Hide from statistics (Boolean)
   234   * @param "DefaultCategoryIds" (optional.Interface of []string) -  Default categories
   235   * @param "UserThreadDefaultCategoryIds" (optional.Interface of []string) -  Default categories (agent messages)
   236   * @param "DefaultContentLanguage" (optional.String) -  Default content language
   237   * @param "AutoDetectContentLanguage" (optional.Bool) -  Auto-detect content language (Boolean)
   238   * @param "ContentArchiving" (optional.Bool) -  Automatic archiving of old contents (Boolean)
   239   * @param "ContentArchivingPeriod" (optional.Int32) -  Archive contents older than (seconds)
   240  @return Source
   241  */
   242  
   243  type UpdateSourceOpts struct {
   244  	Name                         optional.String
   245  	Active                       optional.Bool
   246  	ChannelId                    optional.String
   247  	Color                        optional.Int32
   248  	SlaResponse                  optional.Int32
   249  	SlaExpiredStrategy           optional.String
   250  	InterventionMessagesBoost    optional.Int32
   251  	TransferredTasksBoost        optional.Int32
   252  	HiddenFromStats              optional.Bool
   253  	DefaultCategoryIds           optional.Interface
   254  	UserThreadDefaultCategoryIds optional.Interface
   255  	DefaultContentLanguage       optional.String
   256  	AutoDetectContentLanguage    optional.Bool
   257  	ContentArchiving             optional.Bool
   258  	ContentArchivingPeriod       optional.Int32
   259  }
   260  
   261  func (a *SourcesApiService) UpdateSource(ctx context.Context, sourceId string, localVarOptionals *UpdateSourceOpts) (Source, *http.Response, error) {
   262  	var (
   263  		localVarHttpMethod   = http.MethodPut
   264  		localVarPostBody     interface{}
   265  		localVarFormFileName string
   266  		localVarFileName     string
   267  		localVarFileBytes    []byte
   268  		localVarReturnValue  Source
   269  	)
   270  
   271  	// create path and map variables
   272  	localVarPath := a.client.cfg.BasePath + "/content_sources/{sourceId}"
   273  	localVarPath = strings.Replace(localVarPath, "{"+"sourceId"+"}", fmt.Sprintf("%v", sourceId), -1)
   274  
   275  	localVarHeaderParams := make(map[string]string)
   276  	localVarQueryParams := url.Values{}
   277  	localVarFormParams := url.Values{}
   278  
   279  	if localVarOptionals != nil && localVarOptionals.Name.IsSet() {
   280  		localVarQueryParams.Add("name", parameterToString(localVarOptionals.Name.Value(), ""))
   281  	}
   282  	if localVarOptionals != nil && localVarOptionals.Active.IsSet() {
   283  		localVarQueryParams.Add("active", parameterToString(localVarOptionals.Active.Value(), ""))
   284  	}
   285  	if localVarOptionals != nil && localVarOptionals.ChannelId.IsSet() {
   286  		localVarQueryParams.Add("channel_id", parameterToString(localVarOptionals.ChannelId.Value(), ""))
   287  	}
   288  	if localVarOptionals != nil && localVarOptionals.Color.IsSet() {
   289  		localVarQueryParams.Add("color", parameterToString(localVarOptionals.Color.Value(), ""))
   290  	}
   291  	if localVarOptionals != nil && localVarOptionals.SlaResponse.IsSet() {
   292  		localVarQueryParams.Add("sla_response", parameterToString(localVarOptionals.SlaResponse.Value(), ""))
   293  	}
   294  	if localVarOptionals != nil && localVarOptionals.SlaExpiredStrategy.IsSet() {
   295  		localVarQueryParams.Add("sla_expired_strategy", parameterToString(localVarOptionals.SlaExpiredStrategy.Value(), ""))
   296  	}
   297  	if localVarOptionals != nil && localVarOptionals.InterventionMessagesBoost.IsSet() {
   298  		localVarQueryParams.Add("intervention_messages_boost", parameterToString(localVarOptionals.InterventionMessagesBoost.Value(), ""))
   299  	}
   300  	if localVarOptionals != nil && localVarOptionals.TransferredTasksBoost.IsSet() {
   301  		localVarQueryParams.Add("transferred_tasks_boost", parameterToString(localVarOptionals.TransferredTasksBoost.Value(), ""))
   302  	}
   303  	if localVarOptionals != nil && localVarOptionals.HiddenFromStats.IsSet() {
   304  		localVarQueryParams.Add("hidden_from_stats", parameterToString(localVarOptionals.HiddenFromStats.Value(), ""))
   305  	}
   306  	if localVarOptionals != nil && localVarOptionals.DefaultCategoryIds.IsSet() {
   307  		t := localVarOptionals.DefaultCategoryIds.Value()
   308  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   309  			s := reflect.ValueOf(t)
   310  			for i := 0; i < s.Len(); i++ {
   311  				localVarQueryParams.Add("default_category_ids[]", parameterToString(s.Index(i), "multi"))
   312  			}
   313  		} else {
   314  			localVarQueryParams.Add("default_category_ids[]", parameterToString(t, "multi"))
   315  		}
   316  	}
   317  	if localVarOptionals != nil && localVarOptionals.UserThreadDefaultCategoryIds.IsSet() {
   318  		t := localVarOptionals.UserThreadDefaultCategoryIds.Value()
   319  		if reflect.TypeOf(t).Kind() == reflect.Slice {
   320  			s := reflect.ValueOf(t)
   321  			for i := 0; i < s.Len(); i++ {
   322  				localVarQueryParams.Add("user_thread_default_category_ids[]", parameterToString(s.Index(i), "multi"))
   323  			}
   324  		} else {
   325  			localVarQueryParams.Add("user_thread_default_category_ids[]", parameterToString(t, "multi"))
   326  		}
   327  	}
   328  	if localVarOptionals != nil && localVarOptionals.DefaultContentLanguage.IsSet() {
   329  		localVarQueryParams.Add("default_content_language", parameterToString(localVarOptionals.DefaultContentLanguage.Value(), ""))
   330  	}
   331  	if localVarOptionals != nil && localVarOptionals.AutoDetectContentLanguage.IsSet() {
   332  		localVarQueryParams.Add("auto_detect_content_language", parameterToString(localVarOptionals.AutoDetectContentLanguage.Value(), ""))
   333  	}
   334  	if localVarOptionals != nil && localVarOptionals.ContentArchiving.IsSet() {
   335  		localVarQueryParams.Add("content_archiving", parameterToString(localVarOptionals.ContentArchiving.Value(), ""))
   336  	}
   337  	if localVarOptionals != nil && localVarOptionals.ContentArchivingPeriod.IsSet() {
   338  		localVarQueryParams.Add("content_archiving_period", parameterToString(localVarOptionals.ContentArchivingPeriod.Value(), ""))
   339  	}
   340  	// to determine the Content-Type header
   341  	localVarHttpContentTypes := []string{}
   342  
   343  	// set Content-Type header
   344  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   345  	if localVarHttpContentType != "" {
   346  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   347  	}
   348  
   349  	// to determine the Accept header
   350  	localVarHttpHeaderAccepts := []string{"application/json"}
   351  
   352  	// set Accept header
   353  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   354  	if localVarHttpHeaderAccept != "" {
   355  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   356  	}
   357  	r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
   358  	if err != nil {
   359  		return localVarReturnValue, nil, err
   360  	}
   361  
   362  	localVarHttpResponse, err := a.client.callAPI(r)
   363  	if err != nil || localVarHttpResponse == nil {
   364  		return localVarReturnValue, localVarHttpResponse, err
   365  	}
   366  
   367  	localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
   368  	localVarHttpResponse.Body.Close()
   369  	if err != nil {
   370  		return localVarReturnValue, localVarHttpResponse, err
   371  	}
   372  
   373  	if localVarHttpResponse.StatusCode >= 300 {
   374  		newErr := GenericOpenAPIError{
   375  			body:  localVarBody,
   376  			error: localVarHttpResponse.Status,
   377  		}
   378  		if localVarHttpResponse.StatusCode == 200 {
   379  			var v Source
   380  			err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   381  			if err != nil {
   382  				newErr.error = err.Error()
   383  				return localVarReturnValue, localVarHttpResponse, newErr
   384  			}
   385  			newErr.model = v
   386  			return localVarReturnValue, localVarHttpResponse, newErr
   387  		}
   388  		return localVarReturnValue, localVarHttpResponse, newErr
   389  	}
   390  
   391  	err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"))
   392  	if err != nil {
   393  		newErr := GenericOpenAPIError{
   394  			body:  localVarBody,
   395  			error: err.Error(),
   396  		}
   397  		return localVarReturnValue, localVarHttpResponse, newErr
   398  	}
   399  
   400  	return localVarReturnValue, localVarHttpResponse, nil
   401  }