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