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