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