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 }