github.com/yaegashi/msgraph.go@v0.1.4/beta/ActionList.go (about) 1 // Code generated by msgraph.go/gen DO NOT EDIT. 2 3 package msgraph 4 5 import ( 6 "context" 7 "fmt" 8 "io/ioutil" 9 "net/http" 10 11 "github.com/yaegashi/msgraph.go/jsonx" 12 ) 13 14 // ListItemVersionRestoreVersionRequestParameter undocumented 15 type ListItemVersionRestoreVersionRequestParameter struct { 16 } 17 18 // Activities returns request builder for ItemActivityOLD collection 19 func (b *ListRequestBuilder) Activities() *ListActivitiesCollectionRequestBuilder { 20 bb := &ListActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 21 bb.baseURL += "/activities" 22 return bb 23 } 24 25 // ListActivitiesCollectionRequestBuilder is request builder for ItemActivityOLD collection 26 type ListActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder } 27 28 // Request returns request for ItemActivityOLD collection 29 func (b *ListActivitiesCollectionRequestBuilder) Request() *ListActivitiesCollectionRequest { 30 return &ListActivitiesCollectionRequest{ 31 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 32 } 33 } 34 35 // ID returns request builder for ItemActivityOLD item 36 func (b *ListActivitiesCollectionRequestBuilder) ID(id string) *ItemActivityOLDRequestBuilder { 37 bb := &ItemActivityOLDRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 38 bb.baseURL += "/" + id 39 return bb 40 } 41 42 // ListActivitiesCollectionRequest is request for ItemActivityOLD collection 43 type ListActivitiesCollectionRequest struct{ BaseRequest } 44 45 // Paging perfoms paging operation for ItemActivityOLD collection 46 func (r *ListActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivityOLD, error) { 47 req, err := r.NewJSONRequest(method, path, obj) 48 if err != nil { 49 return nil, err 50 } 51 if ctx != nil { 52 req = req.WithContext(ctx) 53 } 54 res, err := r.client.Do(req) 55 if err != nil { 56 return nil, err 57 } 58 var values []ItemActivityOLD 59 for { 60 if res.StatusCode != http.StatusOK { 61 b, _ := ioutil.ReadAll(res.Body) 62 res.Body.Close() 63 errRes := &ErrorResponse{Response: res} 64 err := jsonx.Unmarshal(b, errRes) 65 if err != nil { 66 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 67 } 68 return nil, errRes 69 } 70 var ( 71 paging Paging 72 value []ItemActivityOLD 73 ) 74 err := jsonx.NewDecoder(res.Body).Decode(&paging) 75 res.Body.Close() 76 if err != nil { 77 return nil, err 78 } 79 err = jsonx.Unmarshal(paging.Value, &value) 80 if err != nil { 81 return nil, err 82 } 83 values = append(values, value...) 84 if n >= 0 { 85 n-- 86 } 87 if n == 0 || len(paging.NextLink) == 0 { 88 return values, nil 89 } 90 req, err = http.NewRequest("GET", paging.NextLink, nil) 91 if ctx != nil { 92 req = req.WithContext(ctx) 93 } 94 res, err = r.client.Do(req) 95 if err != nil { 96 return nil, err 97 } 98 } 99 } 100 101 // GetN performs GET request for ItemActivityOLD collection, max N pages 102 func (r *ListActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivityOLD, error) { 103 var query string 104 if r.query != nil { 105 query = "?" + r.query.Encode() 106 } 107 return r.Paging(ctx, "GET", query, nil, n) 108 } 109 110 // Get performs GET request for ItemActivityOLD collection 111 func (r *ListActivitiesCollectionRequest) Get(ctx context.Context) ([]ItemActivityOLD, error) { 112 return r.GetN(ctx, 0) 113 } 114 115 // Add performs POST request for ItemActivityOLD collection 116 func (r *ListActivitiesCollectionRequest) Add(ctx context.Context, reqObj *ItemActivityOLD) (resObj *ItemActivityOLD, err error) { 117 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 118 return 119 } 120 121 // Columns returns request builder for ColumnDefinition collection 122 func (b *ListRequestBuilder) Columns() *ListColumnsCollectionRequestBuilder { 123 bb := &ListColumnsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 124 bb.baseURL += "/columns" 125 return bb 126 } 127 128 // ListColumnsCollectionRequestBuilder is request builder for ColumnDefinition collection 129 type ListColumnsCollectionRequestBuilder struct{ BaseRequestBuilder } 130 131 // Request returns request for ColumnDefinition collection 132 func (b *ListColumnsCollectionRequestBuilder) Request() *ListColumnsCollectionRequest { 133 return &ListColumnsCollectionRequest{ 134 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 135 } 136 } 137 138 // ID returns request builder for ColumnDefinition item 139 func (b *ListColumnsCollectionRequestBuilder) ID(id string) *ColumnDefinitionRequestBuilder { 140 bb := &ColumnDefinitionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 141 bb.baseURL += "/" + id 142 return bb 143 } 144 145 // ListColumnsCollectionRequest is request for ColumnDefinition collection 146 type ListColumnsCollectionRequest struct{ BaseRequest } 147 148 // Paging perfoms paging operation for ColumnDefinition collection 149 func (r *ListColumnsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ColumnDefinition, error) { 150 req, err := r.NewJSONRequest(method, path, obj) 151 if err != nil { 152 return nil, err 153 } 154 if ctx != nil { 155 req = req.WithContext(ctx) 156 } 157 res, err := r.client.Do(req) 158 if err != nil { 159 return nil, err 160 } 161 var values []ColumnDefinition 162 for { 163 if res.StatusCode != http.StatusOK { 164 b, _ := ioutil.ReadAll(res.Body) 165 res.Body.Close() 166 errRes := &ErrorResponse{Response: res} 167 err := jsonx.Unmarshal(b, errRes) 168 if err != nil { 169 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 170 } 171 return nil, errRes 172 } 173 var ( 174 paging Paging 175 value []ColumnDefinition 176 ) 177 err := jsonx.NewDecoder(res.Body).Decode(&paging) 178 res.Body.Close() 179 if err != nil { 180 return nil, err 181 } 182 err = jsonx.Unmarshal(paging.Value, &value) 183 if err != nil { 184 return nil, err 185 } 186 values = append(values, value...) 187 if n >= 0 { 188 n-- 189 } 190 if n == 0 || len(paging.NextLink) == 0 { 191 return values, nil 192 } 193 req, err = http.NewRequest("GET", paging.NextLink, nil) 194 if ctx != nil { 195 req = req.WithContext(ctx) 196 } 197 res, err = r.client.Do(req) 198 if err != nil { 199 return nil, err 200 } 201 } 202 } 203 204 // GetN performs GET request for ColumnDefinition collection, max N pages 205 func (r *ListColumnsCollectionRequest) GetN(ctx context.Context, n int) ([]ColumnDefinition, error) { 206 var query string 207 if r.query != nil { 208 query = "?" + r.query.Encode() 209 } 210 return r.Paging(ctx, "GET", query, nil, n) 211 } 212 213 // Get performs GET request for ColumnDefinition collection 214 func (r *ListColumnsCollectionRequest) Get(ctx context.Context) ([]ColumnDefinition, error) { 215 return r.GetN(ctx, 0) 216 } 217 218 // Add performs POST request for ColumnDefinition collection 219 func (r *ListColumnsCollectionRequest) Add(ctx context.Context, reqObj *ColumnDefinition) (resObj *ColumnDefinition, err error) { 220 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 221 return 222 } 223 224 // ContentTypes returns request builder for ContentType collection 225 func (b *ListRequestBuilder) ContentTypes() *ListContentTypesCollectionRequestBuilder { 226 bb := &ListContentTypesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 227 bb.baseURL += "/contentTypes" 228 return bb 229 } 230 231 // ListContentTypesCollectionRequestBuilder is request builder for ContentType collection 232 type ListContentTypesCollectionRequestBuilder struct{ BaseRequestBuilder } 233 234 // Request returns request for ContentType collection 235 func (b *ListContentTypesCollectionRequestBuilder) Request() *ListContentTypesCollectionRequest { 236 return &ListContentTypesCollectionRequest{ 237 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 238 } 239 } 240 241 // ID returns request builder for ContentType item 242 func (b *ListContentTypesCollectionRequestBuilder) ID(id string) *ContentTypeRequestBuilder { 243 bb := &ContentTypeRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 244 bb.baseURL += "/" + id 245 return bb 246 } 247 248 // ListContentTypesCollectionRequest is request for ContentType collection 249 type ListContentTypesCollectionRequest struct{ BaseRequest } 250 251 // Paging perfoms paging operation for ContentType collection 252 func (r *ListContentTypesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ContentType, error) { 253 req, err := r.NewJSONRequest(method, path, obj) 254 if err != nil { 255 return nil, err 256 } 257 if ctx != nil { 258 req = req.WithContext(ctx) 259 } 260 res, err := r.client.Do(req) 261 if err != nil { 262 return nil, err 263 } 264 var values []ContentType 265 for { 266 if res.StatusCode != http.StatusOK { 267 b, _ := ioutil.ReadAll(res.Body) 268 res.Body.Close() 269 errRes := &ErrorResponse{Response: res} 270 err := jsonx.Unmarshal(b, errRes) 271 if err != nil { 272 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 273 } 274 return nil, errRes 275 } 276 var ( 277 paging Paging 278 value []ContentType 279 ) 280 err := jsonx.NewDecoder(res.Body).Decode(&paging) 281 res.Body.Close() 282 if err != nil { 283 return nil, err 284 } 285 err = jsonx.Unmarshal(paging.Value, &value) 286 if err != nil { 287 return nil, err 288 } 289 values = append(values, value...) 290 if n >= 0 { 291 n-- 292 } 293 if n == 0 || len(paging.NextLink) == 0 { 294 return values, nil 295 } 296 req, err = http.NewRequest("GET", paging.NextLink, nil) 297 if ctx != nil { 298 req = req.WithContext(ctx) 299 } 300 res, err = r.client.Do(req) 301 if err != nil { 302 return nil, err 303 } 304 } 305 } 306 307 // GetN performs GET request for ContentType collection, max N pages 308 func (r *ListContentTypesCollectionRequest) GetN(ctx context.Context, n int) ([]ContentType, error) { 309 var query string 310 if r.query != nil { 311 query = "?" + r.query.Encode() 312 } 313 return r.Paging(ctx, "GET", query, nil, n) 314 } 315 316 // Get performs GET request for ContentType collection 317 func (r *ListContentTypesCollectionRequest) Get(ctx context.Context) ([]ContentType, error) { 318 return r.GetN(ctx, 0) 319 } 320 321 // Add performs POST request for ContentType collection 322 func (r *ListContentTypesCollectionRequest) Add(ctx context.Context, reqObj *ContentType) (resObj *ContentType, err error) { 323 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 324 return 325 } 326 327 // Drive is navigation property 328 func (b *ListRequestBuilder) Drive() *DriveRequestBuilder { 329 bb := &DriveRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 330 bb.baseURL += "/drive" 331 return bb 332 } 333 334 // Items returns request builder for ListItem collection 335 func (b *ListRequestBuilder) Items() *ListItemsCollectionRequestBuilder { 336 bb := &ListItemsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 337 bb.baseURL += "/items" 338 return bb 339 } 340 341 // ListItemsCollectionRequestBuilder is request builder for ListItem collection 342 type ListItemsCollectionRequestBuilder struct{ BaseRequestBuilder } 343 344 // Request returns request for ListItem collection 345 func (b *ListItemsCollectionRequestBuilder) Request() *ListItemsCollectionRequest { 346 return &ListItemsCollectionRequest{ 347 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 348 } 349 } 350 351 // ID returns request builder for ListItem item 352 func (b *ListItemsCollectionRequestBuilder) ID(id string) *ListItemRequestBuilder { 353 bb := &ListItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 354 bb.baseURL += "/" + id 355 return bb 356 } 357 358 // ListItemsCollectionRequest is request for ListItem collection 359 type ListItemsCollectionRequest struct{ BaseRequest } 360 361 // Paging perfoms paging operation for ListItem collection 362 func (r *ListItemsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ListItem, error) { 363 req, err := r.NewJSONRequest(method, path, obj) 364 if err != nil { 365 return nil, err 366 } 367 if ctx != nil { 368 req = req.WithContext(ctx) 369 } 370 res, err := r.client.Do(req) 371 if err != nil { 372 return nil, err 373 } 374 var values []ListItem 375 for { 376 if res.StatusCode != http.StatusOK { 377 b, _ := ioutil.ReadAll(res.Body) 378 res.Body.Close() 379 errRes := &ErrorResponse{Response: res} 380 err := jsonx.Unmarshal(b, errRes) 381 if err != nil { 382 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 383 } 384 return nil, errRes 385 } 386 var ( 387 paging Paging 388 value []ListItem 389 ) 390 err := jsonx.NewDecoder(res.Body).Decode(&paging) 391 res.Body.Close() 392 if err != nil { 393 return nil, err 394 } 395 err = jsonx.Unmarshal(paging.Value, &value) 396 if err != nil { 397 return nil, err 398 } 399 values = append(values, value...) 400 if n >= 0 { 401 n-- 402 } 403 if n == 0 || len(paging.NextLink) == 0 { 404 return values, nil 405 } 406 req, err = http.NewRequest("GET", paging.NextLink, nil) 407 if ctx != nil { 408 req = req.WithContext(ctx) 409 } 410 res, err = r.client.Do(req) 411 if err != nil { 412 return nil, err 413 } 414 } 415 } 416 417 // GetN performs GET request for ListItem collection, max N pages 418 func (r *ListItemsCollectionRequest) GetN(ctx context.Context, n int) ([]ListItem, error) { 419 var query string 420 if r.query != nil { 421 query = "?" + r.query.Encode() 422 } 423 return r.Paging(ctx, "GET", query, nil, n) 424 } 425 426 // Get performs GET request for ListItem collection 427 func (r *ListItemsCollectionRequest) Get(ctx context.Context) ([]ListItem, error) { 428 return r.GetN(ctx, 0) 429 } 430 431 // Add performs POST request for ListItem collection 432 func (r *ListItemsCollectionRequest) Add(ctx context.Context, reqObj *ListItem) (resObj *ListItem, err error) { 433 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 434 return 435 } 436 437 // Subscriptions returns request builder for Subscription collection 438 func (b *ListRequestBuilder) Subscriptions() *ListSubscriptionsCollectionRequestBuilder { 439 bb := &ListSubscriptionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 440 bb.baseURL += "/subscriptions" 441 return bb 442 } 443 444 // ListSubscriptionsCollectionRequestBuilder is request builder for Subscription collection 445 type ListSubscriptionsCollectionRequestBuilder struct{ BaseRequestBuilder } 446 447 // Request returns request for Subscription collection 448 func (b *ListSubscriptionsCollectionRequestBuilder) Request() *ListSubscriptionsCollectionRequest { 449 return &ListSubscriptionsCollectionRequest{ 450 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 451 } 452 } 453 454 // ID returns request builder for Subscription item 455 func (b *ListSubscriptionsCollectionRequestBuilder) ID(id string) *SubscriptionRequestBuilder { 456 bb := &SubscriptionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 457 bb.baseURL += "/" + id 458 return bb 459 } 460 461 // ListSubscriptionsCollectionRequest is request for Subscription collection 462 type ListSubscriptionsCollectionRequest struct{ BaseRequest } 463 464 // Paging perfoms paging operation for Subscription collection 465 func (r *ListSubscriptionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Subscription, error) { 466 req, err := r.NewJSONRequest(method, path, obj) 467 if err != nil { 468 return nil, err 469 } 470 if ctx != nil { 471 req = req.WithContext(ctx) 472 } 473 res, err := r.client.Do(req) 474 if err != nil { 475 return nil, err 476 } 477 var values []Subscription 478 for { 479 if res.StatusCode != http.StatusOK { 480 b, _ := ioutil.ReadAll(res.Body) 481 res.Body.Close() 482 errRes := &ErrorResponse{Response: res} 483 err := jsonx.Unmarshal(b, errRes) 484 if err != nil { 485 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 486 } 487 return nil, errRes 488 } 489 var ( 490 paging Paging 491 value []Subscription 492 ) 493 err := jsonx.NewDecoder(res.Body).Decode(&paging) 494 res.Body.Close() 495 if err != nil { 496 return nil, err 497 } 498 err = jsonx.Unmarshal(paging.Value, &value) 499 if err != nil { 500 return nil, err 501 } 502 values = append(values, value...) 503 if n >= 0 { 504 n-- 505 } 506 if n == 0 || len(paging.NextLink) == 0 { 507 return values, nil 508 } 509 req, err = http.NewRequest("GET", paging.NextLink, nil) 510 if ctx != nil { 511 req = req.WithContext(ctx) 512 } 513 res, err = r.client.Do(req) 514 if err != nil { 515 return nil, err 516 } 517 } 518 } 519 520 // GetN performs GET request for Subscription collection, max N pages 521 func (r *ListSubscriptionsCollectionRequest) GetN(ctx context.Context, n int) ([]Subscription, error) { 522 var query string 523 if r.query != nil { 524 query = "?" + r.query.Encode() 525 } 526 return r.Paging(ctx, "GET", query, nil, n) 527 } 528 529 // Get performs GET request for Subscription collection 530 func (r *ListSubscriptionsCollectionRequest) Get(ctx context.Context) ([]Subscription, error) { 531 return r.GetN(ctx, 0) 532 } 533 534 // Add performs POST request for Subscription collection 535 func (r *ListSubscriptionsCollectionRequest) Add(ctx context.Context, reqObj *Subscription) (resObj *Subscription, err error) { 536 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 537 return 538 } 539 540 // Activities returns request builder for ItemActivityOLD collection 541 func (b *ListItemRequestBuilder) Activities() *ListItemActivitiesCollectionRequestBuilder { 542 bb := &ListItemActivitiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 543 bb.baseURL += "/activities" 544 return bb 545 } 546 547 // ListItemActivitiesCollectionRequestBuilder is request builder for ItemActivityOLD collection 548 type ListItemActivitiesCollectionRequestBuilder struct{ BaseRequestBuilder } 549 550 // Request returns request for ItemActivityOLD collection 551 func (b *ListItemActivitiesCollectionRequestBuilder) Request() *ListItemActivitiesCollectionRequest { 552 return &ListItemActivitiesCollectionRequest{ 553 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 554 } 555 } 556 557 // ID returns request builder for ItemActivityOLD item 558 func (b *ListItemActivitiesCollectionRequestBuilder) ID(id string) *ItemActivityOLDRequestBuilder { 559 bb := &ItemActivityOLDRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 560 bb.baseURL += "/" + id 561 return bb 562 } 563 564 // ListItemActivitiesCollectionRequest is request for ItemActivityOLD collection 565 type ListItemActivitiesCollectionRequest struct{ BaseRequest } 566 567 // Paging perfoms paging operation for ItemActivityOLD collection 568 func (r *ListItemActivitiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ItemActivityOLD, error) { 569 req, err := r.NewJSONRequest(method, path, obj) 570 if err != nil { 571 return nil, err 572 } 573 if ctx != nil { 574 req = req.WithContext(ctx) 575 } 576 res, err := r.client.Do(req) 577 if err != nil { 578 return nil, err 579 } 580 var values []ItemActivityOLD 581 for { 582 if res.StatusCode != http.StatusOK { 583 b, _ := ioutil.ReadAll(res.Body) 584 res.Body.Close() 585 errRes := &ErrorResponse{Response: res} 586 err := jsonx.Unmarshal(b, errRes) 587 if err != nil { 588 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 589 } 590 return nil, errRes 591 } 592 var ( 593 paging Paging 594 value []ItemActivityOLD 595 ) 596 err := jsonx.NewDecoder(res.Body).Decode(&paging) 597 res.Body.Close() 598 if err != nil { 599 return nil, err 600 } 601 err = jsonx.Unmarshal(paging.Value, &value) 602 if err != nil { 603 return nil, err 604 } 605 values = append(values, value...) 606 if n >= 0 { 607 n-- 608 } 609 if n == 0 || len(paging.NextLink) == 0 { 610 return values, nil 611 } 612 req, err = http.NewRequest("GET", paging.NextLink, nil) 613 if ctx != nil { 614 req = req.WithContext(ctx) 615 } 616 res, err = r.client.Do(req) 617 if err != nil { 618 return nil, err 619 } 620 } 621 } 622 623 // GetN performs GET request for ItemActivityOLD collection, max N pages 624 func (r *ListItemActivitiesCollectionRequest) GetN(ctx context.Context, n int) ([]ItemActivityOLD, error) { 625 var query string 626 if r.query != nil { 627 query = "?" + r.query.Encode() 628 } 629 return r.Paging(ctx, "GET", query, nil, n) 630 } 631 632 // Get performs GET request for ItemActivityOLD collection 633 func (r *ListItemActivitiesCollectionRequest) Get(ctx context.Context) ([]ItemActivityOLD, error) { 634 return r.GetN(ctx, 0) 635 } 636 637 // Add performs POST request for ItemActivityOLD collection 638 func (r *ListItemActivitiesCollectionRequest) Add(ctx context.Context, reqObj *ItemActivityOLD) (resObj *ItemActivityOLD, err error) { 639 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 640 return 641 } 642 643 // Analytics is navigation property 644 func (b *ListItemRequestBuilder) Analytics() *ItemAnalyticsRequestBuilder { 645 bb := &ItemAnalyticsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 646 bb.baseURL += "/analytics" 647 return bb 648 } 649 650 // DriveItem is navigation property 651 func (b *ListItemRequestBuilder) DriveItem() *DriveItemRequestBuilder { 652 bb := &DriveItemRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 653 bb.baseURL += "/driveItem" 654 return bb 655 } 656 657 // Fields is navigation property 658 func (b *ListItemRequestBuilder) Fields() *FieldValueSetRequestBuilder { 659 bb := &FieldValueSetRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 660 bb.baseURL += "/fields" 661 return bb 662 } 663 664 // Versions returns request builder for ListItemVersion collection 665 func (b *ListItemRequestBuilder) Versions() *ListItemVersionsCollectionRequestBuilder { 666 bb := &ListItemVersionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 667 bb.baseURL += "/versions" 668 return bb 669 } 670 671 // ListItemVersionsCollectionRequestBuilder is request builder for ListItemVersion collection 672 type ListItemVersionsCollectionRequestBuilder struct{ BaseRequestBuilder } 673 674 // Request returns request for ListItemVersion collection 675 func (b *ListItemVersionsCollectionRequestBuilder) Request() *ListItemVersionsCollectionRequest { 676 return &ListItemVersionsCollectionRequest{ 677 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 678 } 679 } 680 681 // ID returns request builder for ListItemVersion item 682 func (b *ListItemVersionsCollectionRequestBuilder) ID(id string) *ListItemVersionRequestBuilder { 683 bb := &ListItemVersionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 684 bb.baseURL += "/" + id 685 return bb 686 } 687 688 // ListItemVersionsCollectionRequest is request for ListItemVersion collection 689 type ListItemVersionsCollectionRequest struct{ BaseRequest } 690 691 // Paging perfoms paging operation for ListItemVersion collection 692 func (r *ListItemVersionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ListItemVersion, error) { 693 req, err := r.NewJSONRequest(method, path, obj) 694 if err != nil { 695 return nil, err 696 } 697 if ctx != nil { 698 req = req.WithContext(ctx) 699 } 700 res, err := r.client.Do(req) 701 if err != nil { 702 return nil, err 703 } 704 var values []ListItemVersion 705 for { 706 if res.StatusCode != http.StatusOK { 707 b, _ := ioutil.ReadAll(res.Body) 708 res.Body.Close() 709 errRes := &ErrorResponse{Response: res} 710 err := jsonx.Unmarshal(b, errRes) 711 if err != nil { 712 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 713 } 714 return nil, errRes 715 } 716 var ( 717 paging Paging 718 value []ListItemVersion 719 ) 720 err := jsonx.NewDecoder(res.Body).Decode(&paging) 721 res.Body.Close() 722 if err != nil { 723 return nil, err 724 } 725 err = jsonx.Unmarshal(paging.Value, &value) 726 if err != nil { 727 return nil, err 728 } 729 values = append(values, value...) 730 if n >= 0 { 731 n-- 732 } 733 if n == 0 || len(paging.NextLink) == 0 { 734 return values, nil 735 } 736 req, err = http.NewRequest("GET", paging.NextLink, nil) 737 if ctx != nil { 738 req = req.WithContext(ctx) 739 } 740 res, err = r.client.Do(req) 741 if err != nil { 742 return nil, err 743 } 744 } 745 } 746 747 // GetN performs GET request for ListItemVersion collection, max N pages 748 func (r *ListItemVersionsCollectionRequest) GetN(ctx context.Context, n int) ([]ListItemVersion, error) { 749 var query string 750 if r.query != nil { 751 query = "?" + r.query.Encode() 752 } 753 return r.Paging(ctx, "GET", query, nil, n) 754 } 755 756 // Get performs GET request for ListItemVersion collection 757 func (r *ListItemVersionsCollectionRequest) Get(ctx context.Context) ([]ListItemVersion, error) { 758 return r.GetN(ctx, 0) 759 } 760 761 // Add performs POST request for ListItemVersion collection 762 func (r *ListItemVersionsCollectionRequest) Add(ctx context.Context, reqObj *ListItemVersion) (resObj *ListItemVersion, err error) { 763 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 764 return 765 } 766 767 // Fields is navigation property 768 func (b *ListItemVersionRequestBuilder) Fields() *FieldValueSetRequestBuilder { 769 bb := &FieldValueSetRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 770 bb.baseURL += "/fields" 771 return bb 772 }