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