github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_team_members.go (about) 1 2 /* 3 * LaunchDarkly REST API 4 * 5 * Build custom integrations with the LaunchDarkly REST API 6 * 7 * API version: 5.3.0 8 * Contact: support@launchdarkly.com 9 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 */ 11 12 package ldapi 13 14 import ( 15 "context" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 "fmt" 21 "github.com/antihax/optional" 22 ) 23 24 // Linger please 25 var ( 26 _ context.Context 27 ) 28 29 type TeamMembersApiService service 30 31 /* 32 TeamMembersApiService Delete a team member by ID. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param memberId The member ID. 35 36 37 */ 38 func (a *TeamMembersApiService) DeleteMember(ctx context.Context, memberId string) (*http.Response, error) { 39 var ( 40 localVarHttpMethod = strings.ToUpper("Delete") 41 localVarPostBody interface{} 42 localVarFileName string 43 localVarFileBytes []byte 44 45 ) 46 47 // create path and map variables 48 localVarPath := a.client.cfg.BasePath + "/members/{memberId}" 49 localVarPath = strings.Replace(localVarPath, "{"+"memberId"+"}", fmt.Sprintf("%v", memberId), -1) 50 51 localVarHeaderParams := make(map[string]string) 52 localVarQueryParams := url.Values{} 53 localVarFormParams := url.Values{} 54 55 // to determine the Content-Type header 56 localVarHttpContentTypes := []string{"application/json"} 57 58 // set Content-Type header 59 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 60 if localVarHttpContentType != "" { 61 localVarHeaderParams["Content-Type"] = localVarHttpContentType 62 } 63 64 // to determine the Accept header 65 localVarHttpHeaderAccepts := []string{"application/json"} 66 67 // set Accept header 68 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 69 if localVarHttpHeaderAccept != "" { 70 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 71 } 72 if ctx != nil { 73 // API Key Authentication 74 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 75 var key string 76 if auth.Prefix != "" { 77 key = auth.Prefix + " " + auth.Key 78 } else { 79 key = auth.Key 80 } 81 localVarHeaderParams["Authorization"] = key 82 83 } 84 } 85 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 86 if err != nil { 87 return nil, err 88 } 89 90 localVarHttpResponse, err := a.client.callAPI(r) 91 if err != nil || localVarHttpResponse == nil { 92 return localVarHttpResponse, err 93 } 94 95 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 96 localVarHttpResponse.Body.Close() 97 if err != nil { 98 return localVarHttpResponse, err 99 } 100 101 102 if localVarHttpResponse.StatusCode >= 300 { 103 newErr := GenericSwaggerError{ 104 body: localVarBody, 105 error: localVarHttpResponse.Status, 106 } 107 108 return localVarHttpResponse, newErr 109 } 110 111 return localVarHttpResponse, nil 112 } 113 114 /* 115 TeamMembersApiService Get the current team member associated with the token 116 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 117 118 @return Member 119 */ 120 func (a *TeamMembersApiService) GetMe(ctx context.Context) (Member, *http.Response, error) { 121 var ( 122 localVarHttpMethod = strings.ToUpper("Get") 123 localVarPostBody interface{} 124 localVarFileName string 125 localVarFileBytes []byte 126 localVarReturnValue Member 127 ) 128 129 // create path and map variables 130 localVarPath := a.client.cfg.BasePath + "/members/me" 131 132 localVarHeaderParams := make(map[string]string) 133 localVarQueryParams := url.Values{} 134 localVarFormParams := url.Values{} 135 136 // to determine the Content-Type header 137 localVarHttpContentTypes := []string{"application/json"} 138 139 // set Content-Type header 140 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 141 if localVarHttpContentType != "" { 142 localVarHeaderParams["Content-Type"] = localVarHttpContentType 143 } 144 145 // to determine the Accept header 146 localVarHttpHeaderAccepts := []string{"application/json"} 147 148 // set Accept header 149 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 150 if localVarHttpHeaderAccept != "" { 151 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 152 } 153 if ctx != nil { 154 // API Key Authentication 155 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 156 var key string 157 if auth.Prefix != "" { 158 key = auth.Prefix + " " + auth.Key 159 } else { 160 key = auth.Key 161 } 162 localVarHeaderParams["Authorization"] = key 163 164 } 165 } 166 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 167 if err != nil { 168 return localVarReturnValue, nil, err 169 } 170 171 localVarHttpResponse, err := a.client.callAPI(r) 172 if err != nil || localVarHttpResponse == nil { 173 return localVarReturnValue, localVarHttpResponse, err 174 } 175 176 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 177 localVarHttpResponse.Body.Close() 178 if err != nil { 179 return localVarReturnValue, localVarHttpResponse, err 180 } 181 182 if localVarHttpResponse.StatusCode < 300 { 183 // If we succeed, return the data, otherwise pass on to decode error. 184 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 185 return localVarReturnValue, localVarHttpResponse, err 186 } 187 188 if localVarHttpResponse.StatusCode >= 300 { 189 newErr := GenericSwaggerError{ 190 body: localVarBody, 191 error: localVarHttpResponse.Status, 192 } 193 194 if localVarHttpResponse.StatusCode == 200 { 195 var v Member 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 205 return localVarReturnValue, localVarHttpResponse, newErr 206 } 207 208 return localVarReturnValue, localVarHttpResponse, nil 209 } 210 211 /* 212 TeamMembersApiService Get a single team member by ID. 213 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 214 * @param memberId The member ID. 215 216 @return Member 217 */ 218 func (a *TeamMembersApiService) GetMember(ctx context.Context, memberId string) (Member, *http.Response, error) { 219 var ( 220 localVarHttpMethod = strings.ToUpper("Get") 221 localVarPostBody interface{} 222 localVarFileName string 223 localVarFileBytes []byte 224 localVarReturnValue Member 225 ) 226 227 // create path and map variables 228 localVarPath := a.client.cfg.BasePath + "/members/{memberId}" 229 localVarPath = strings.Replace(localVarPath, "{"+"memberId"+"}", fmt.Sprintf("%v", memberId), -1) 230 231 localVarHeaderParams := make(map[string]string) 232 localVarQueryParams := url.Values{} 233 localVarFormParams := url.Values{} 234 235 // to determine the Content-Type header 236 localVarHttpContentTypes := []string{"application/json"} 237 238 // set Content-Type header 239 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 240 if localVarHttpContentType != "" { 241 localVarHeaderParams["Content-Type"] = localVarHttpContentType 242 } 243 244 // to determine the Accept header 245 localVarHttpHeaderAccepts := []string{"application/json"} 246 247 // set Accept header 248 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 249 if localVarHttpHeaderAccept != "" { 250 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 251 } 252 if ctx != nil { 253 // API Key Authentication 254 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 255 var key string 256 if auth.Prefix != "" { 257 key = auth.Prefix + " " + auth.Key 258 } else { 259 key = auth.Key 260 } 261 localVarHeaderParams["Authorization"] = key 262 263 } 264 } 265 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 266 if err != nil { 267 return localVarReturnValue, nil, err 268 } 269 270 localVarHttpResponse, err := a.client.callAPI(r) 271 if err != nil || localVarHttpResponse == nil { 272 return localVarReturnValue, localVarHttpResponse, err 273 } 274 275 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 276 localVarHttpResponse.Body.Close() 277 if err != nil { 278 return localVarReturnValue, localVarHttpResponse, err 279 } 280 281 if localVarHttpResponse.StatusCode < 300 { 282 // If we succeed, return the data, otherwise pass on to decode error. 283 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 284 return localVarReturnValue, localVarHttpResponse, err 285 } 286 287 if localVarHttpResponse.StatusCode >= 300 { 288 newErr := GenericSwaggerError{ 289 body: localVarBody, 290 error: localVarHttpResponse.Status, 291 } 292 293 if localVarHttpResponse.StatusCode == 200 { 294 var v Member 295 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 296 if err != nil { 297 newErr.error = err.Error() 298 return localVarReturnValue, localVarHttpResponse, newErr 299 } 300 newErr.model = v 301 return localVarReturnValue, localVarHttpResponse, newErr 302 } 303 304 return localVarReturnValue, localVarHttpResponse, newErr 305 } 306 307 return localVarReturnValue, localVarHttpResponse, nil 308 } 309 310 /* 311 TeamMembersApiService Returns a list of all members in the account. 312 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 313 * @param optional nil or *TeamMembersApiGetMembersOpts - Optional Parameters: 314 * @param "Limit" (optional.Float32) - The number of objects to return. Defaults to -1, which returns everything. 315 * @param "Offset" (optional.Float32) - Where to start in the list. This is for use with pagination. For example, an offset of 10 would skip the first 10 items and then return the next limit items. 316 * @param "Filter" (optional.String) - A comma-separated list of filters. Each filter is of the form field:value. 317 * @param "Sort" (optional.String) - A comma-separated list of fields to sort by. A field prefixed by a - will be sorted in descending order. 318 319 @return Members 320 */ 321 322 type TeamMembersApiGetMembersOpts struct { 323 Limit optional.Float32 324 Offset optional.Float32 325 Filter optional.String 326 Sort optional.String 327 } 328 329 func (a *TeamMembersApiService) GetMembers(ctx context.Context, localVarOptionals *TeamMembersApiGetMembersOpts) (Members, *http.Response, error) { 330 var ( 331 localVarHttpMethod = strings.ToUpper("Get") 332 localVarPostBody interface{} 333 localVarFileName string 334 localVarFileBytes []byte 335 localVarReturnValue Members 336 ) 337 338 // create path and map variables 339 localVarPath := a.client.cfg.BasePath + "/members" 340 341 localVarHeaderParams := make(map[string]string) 342 localVarQueryParams := url.Values{} 343 localVarFormParams := url.Values{} 344 345 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 346 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 347 } 348 if localVarOptionals != nil && localVarOptionals.Offset.IsSet() { 349 localVarQueryParams.Add("offset", parameterToString(localVarOptionals.Offset.Value(), "")) 350 } 351 if localVarOptionals != nil && localVarOptionals.Filter.IsSet() { 352 localVarQueryParams.Add("filter", parameterToString(localVarOptionals.Filter.Value(), "")) 353 } 354 if localVarOptionals != nil && localVarOptionals.Sort.IsSet() { 355 localVarQueryParams.Add("sort", parameterToString(localVarOptionals.Sort.Value(), "")) 356 } 357 // to determine the Content-Type header 358 localVarHttpContentTypes := []string{"application/json"} 359 360 // set Content-Type header 361 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 362 if localVarHttpContentType != "" { 363 localVarHeaderParams["Content-Type"] = localVarHttpContentType 364 } 365 366 // to determine the Accept header 367 localVarHttpHeaderAccepts := []string{"application/json"} 368 369 // set Accept header 370 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 371 if localVarHttpHeaderAccept != "" { 372 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 373 } 374 if ctx != nil { 375 // API Key Authentication 376 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 377 var key string 378 if auth.Prefix != "" { 379 key = auth.Prefix + " " + auth.Key 380 } else { 381 key = auth.Key 382 } 383 localVarHeaderParams["Authorization"] = key 384 385 } 386 } 387 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 388 if err != nil { 389 return localVarReturnValue, nil, err 390 } 391 392 localVarHttpResponse, err := a.client.callAPI(r) 393 if err != nil || localVarHttpResponse == nil { 394 return localVarReturnValue, localVarHttpResponse, err 395 } 396 397 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 398 localVarHttpResponse.Body.Close() 399 if err != nil { 400 return localVarReturnValue, localVarHttpResponse, err 401 } 402 403 if localVarHttpResponse.StatusCode < 300 { 404 // If we succeed, return the data, otherwise pass on to decode error. 405 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 406 return localVarReturnValue, localVarHttpResponse, err 407 } 408 409 if localVarHttpResponse.StatusCode >= 300 { 410 newErr := GenericSwaggerError{ 411 body: localVarBody, 412 error: localVarHttpResponse.Status, 413 } 414 415 if localVarHttpResponse.StatusCode == 200 { 416 var v Members 417 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 418 if err != nil { 419 newErr.error = err.Error() 420 return localVarReturnValue, localVarHttpResponse, newErr 421 } 422 newErr.model = v 423 return localVarReturnValue, localVarHttpResponse, newErr 424 } 425 426 return localVarReturnValue, localVarHttpResponse, newErr 427 } 428 429 return localVarReturnValue, localVarHttpResponse, nil 430 } 431 432 /* 433 TeamMembersApiService Modify a team member by ID. 434 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 435 * @param memberId The member ID. 436 * @param patchDelta Requires a JSON Patch representation of the desired changes to the project. 'http://jsonpatch.com/' 437 438 @return Member 439 */ 440 func (a *TeamMembersApiService) PatchMember(ctx context.Context, memberId string, patchDelta []PatchOperation) (Member, *http.Response, error) { 441 var ( 442 localVarHttpMethod = strings.ToUpper("Patch") 443 localVarPostBody interface{} 444 localVarFileName string 445 localVarFileBytes []byte 446 localVarReturnValue Member 447 ) 448 449 // create path and map variables 450 localVarPath := a.client.cfg.BasePath + "/members/{memberId}" 451 localVarPath = strings.Replace(localVarPath, "{"+"memberId"+"}", fmt.Sprintf("%v", memberId), -1) 452 453 localVarHeaderParams := make(map[string]string) 454 localVarQueryParams := url.Values{} 455 localVarFormParams := url.Values{} 456 457 // to determine the Content-Type header 458 localVarHttpContentTypes := []string{"application/json"} 459 460 // set Content-Type header 461 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 462 if localVarHttpContentType != "" { 463 localVarHeaderParams["Content-Type"] = localVarHttpContentType 464 } 465 466 // to determine the Accept header 467 localVarHttpHeaderAccepts := []string{"application/json"} 468 469 // set Accept header 470 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 471 if localVarHttpHeaderAccept != "" { 472 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 473 } 474 // body params 475 localVarPostBody = &patchDelta 476 if ctx != nil { 477 // API Key Authentication 478 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 479 var key string 480 if auth.Prefix != "" { 481 key = auth.Prefix + " " + auth.Key 482 } else { 483 key = auth.Key 484 } 485 localVarHeaderParams["Authorization"] = key 486 487 } 488 } 489 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 490 if err != nil { 491 return localVarReturnValue, nil, err 492 } 493 494 localVarHttpResponse, err := a.client.callAPI(r) 495 if err != nil || localVarHttpResponse == nil { 496 return localVarReturnValue, localVarHttpResponse, err 497 } 498 499 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 500 localVarHttpResponse.Body.Close() 501 if err != nil { 502 return localVarReturnValue, localVarHttpResponse, err 503 } 504 505 if localVarHttpResponse.StatusCode < 300 { 506 // If we succeed, return the data, otherwise pass on to decode error. 507 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 508 return localVarReturnValue, localVarHttpResponse, err 509 } 510 511 if localVarHttpResponse.StatusCode >= 300 { 512 newErr := GenericSwaggerError{ 513 body: localVarBody, 514 error: localVarHttpResponse.Status, 515 } 516 517 if localVarHttpResponse.StatusCode == 200 { 518 var v Member 519 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 520 if err != nil { 521 newErr.error = err.Error() 522 return localVarReturnValue, localVarHttpResponse, newErr 523 } 524 newErr.model = v 525 return localVarReturnValue, localVarHttpResponse, newErr 526 } 527 528 return localVarReturnValue, localVarHttpResponse, newErr 529 } 530 531 return localVarReturnValue, localVarHttpResponse, nil 532 } 533 534 /* 535 TeamMembersApiService Invite new members. 536 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 537 * @param membersBody New members to invite. 538 539 @return Members 540 */ 541 func (a *TeamMembersApiService) PostMembers(ctx context.Context, membersBody []MembersBody) (Members, *http.Response, error) { 542 var ( 543 localVarHttpMethod = strings.ToUpper("Post") 544 localVarPostBody interface{} 545 localVarFileName string 546 localVarFileBytes []byte 547 localVarReturnValue Members 548 ) 549 550 // create path and map variables 551 localVarPath := a.client.cfg.BasePath + "/members" 552 553 localVarHeaderParams := make(map[string]string) 554 localVarQueryParams := url.Values{} 555 localVarFormParams := url.Values{} 556 557 // to determine the Content-Type header 558 localVarHttpContentTypes := []string{"application/json"} 559 560 // set Content-Type header 561 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 562 if localVarHttpContentType != "" { 563 localVarHeaderParams["Content-Type"] = localVarHttpContentType 564 } 565 566 // to determine the Accept header 567 localVarHttpHeaderAccepts := []string{"application/json"} 568 569 // set Accept header 570 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 571 if localVarHttpHeaderAccept != "" { 572 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 573 } 574 // body params 575 localVarPostBody = &membersBody 576 if ctx != nil { 577 // API Key Authentication 578 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 579 var key string 580 if auth.Prefix != "" { 581 key = auth.Prefix + " " + auth.Key 582 } else { 583 key = auth.Key 584 } 585 localVarHeaderParams["Authorization"] = key 586 587 } 588 } 589 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 590 if err != nil { 591 return localVarReturnValue, nil, err 592 } 593 594 localVarHttpResponse, err := a.client.callAPI(r) 595 if err != nil || localVarHttpResponse == nil { 596 return localVarReturnValue, localVarHttpResponse, err 597 } 598 599 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 600 localVarHttpResponse.Body.Close() 601 if err != nil { 602 return localVarReturnValue, localVarHttpResponse, err 603 } 604 605 if localVarHttpResponse.StatusCode < 300 { 606 // If we succeed, return the data, otherwise pass on to decode error. 607 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 608 return localVarReturnValue, localVarHttpResponse, err 609 } 610 611 if localVarHttpResponse.StatusCode >= 300 { 612 newErr := GenericSwaggerError{ 613 body: localVarBody, 614 error: localVarHttpResponse.Status, 615 } 616 617 if localVarHttpResponse.StatusCode == 201 { 618 var v Members 619 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 620 if err != nil { 621 newErr.error = err.Error() 622 return localVarReturnValue, localVarHttpResponse, newErr 623 } 624 newErr.model = v 625 return localVarReturnValue, localVarHttpResponse, newErr 626 } 627 628 return localVarReturnValue, localVarHttpResponse, newErr 629 } 630 631 return localVarReturnValue, localVarHttpResponse, nil 632 } 633