github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ActionPlanner.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 // Buckets returns request builder for PlannerBucket collection 15 func (b *PlannerRequestBuilder) Buckets() *PlannerBucketsCollectionRequestBuilder { 16 bb := &PlannerBucketsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 17 bb.baseURL += "/buckets" 18 return bb 19 } 20 21 // PlannerBucketsCollectionRequestBuilder is request builder for PlannerBucket collection 22 type PlannerBucketsCollectionRequestBuilder struct{ BaseRequestBuilder } 23 24 // Request returns request for PlannerBucket collection 25 func (b *PlannerBucketsCollectionRequestBuilder) Request() *PlannerBucketsCollectionRequest { 26 return &PlannerBucketsCollectionRequest{ 27 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 28 } 29 } 30 31 // ID returns request builder for PlannerBucket item 32 func (b *PlannerBucketsCollectionRequestBuilder) ID(id string) *PlannerBucketRequestBuilder { 33 bb := &PlannerBucketRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 34 bb.baseURL += "/" + id 35 return bb 36 } 37 38 // PlannerBucketsCollectionRequest is request for PlannerBucket collection 39 type PlannerBucketsCollectionRequest struct{ BaseRequest } 40 41 // Paging perfoms paging operation for PlannerBucket collection 42 func (r *PlannerBucketsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerBucket, error) { 43 req, err := r.NewJSONRequest(method, path, obj) 44 if err != nil { 45 return nil, err 46 } 47 if ctx != nil { 48 req = req.WithContext(ctx) 49 } 50 res, err := r.client.Do(req) 51 if err != nil { 52 return nil, err 53 } 54 var values []PlannerBucket 55 for { 56 if res.StatusCode != http.StatusOK { 57 b, _ := ioutil.ReadAll(res.Body) 58 res.Body.Close() 59 errRes := &ErrorResponse{Response: res} 60 err := jsonx.Unmarshal(b, errRes) 61 if err != nil { 62 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 63 } 64 return nil, errRes 65 } 66 var ( 67 paging Paging 68 value []PlannerBucket 69 ) 70 err := jsonx.NewDecoder(res.Body).Decode(&paging) 71 res.Body.Close() 72 if err != nil { 73 return nil, err 74 } 75 err = jsonx.Unmarshal(paging.Value, &value) 76 if err != nil { 77 return nil, err 78 } 79 values = append(values, value...) 80 if n >= 0 { 81 n-- 82 } 83 if n == 0 || len(paging.NextLink) == 0 { 84 return values, nil 85 } 86 req, err = http.NewRequest("GET", paging.NextLink, nil) 87 if ctx != nil { 88 req = req.WithContext(ctx) 89 } 90 res, err = r.client.Do(req) 91 if err != nil { 92 return nil, err 93 } 94 } 95 } 96 97 // GetN performs GET request for PlannerBucket collection, max N pages 98 func (r *PlannerBucketsCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerBucket, error) { 99 var query string 100 if r.query != nil { 101 query = "?" + r.query.Encode() 102 } 103 return r.Paging(ctx, "GET", query, nil, n) 104 } 105 106 // Get performs GET request for PlannerBucket collection 107 func (r *PlannerBucketsCollectionRequest) Get(ctx context.Context) ([]PlannerBucket, error) { 108 return r.GetN(ctx, 0) 109 } 110 111 // Add performs POST request for PlannerBucket collection 112 func (r *PlannerBucketsCollectionRequest) Add(ctx context.Context, reqObj *PlannerBucket) (resObj *PlannerBucket, err error) { 113 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 114 return 115 } 116 117 // Plans returns request builder for PlannerPlan collection 118 func (b *PlannerRequestBuilder) Plans() *PlannerPlansCollectionRequestBuilder { 119 bb := &PlannerPlansCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 120 bb.baseURL += "/plans" 121 return bb 122 } 123 124 // PlannerPlansCollectionRequestBuilder is request builder for PlannerPlan collection 125 type PlannerPlansCollectionRequestBuilder struct{ BaseRequestBuilder } 126 127 // Request returns request for PlannerPlan collection 128 func (b *PlannerPlansCollectionRequestBuilder) Request() *PlannerPlansCollectionRequest { 129 return &PlannerPlansCollectionRequest{ 130 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 131 } 132 } 133 134 // ID returns request builder for PlannerPlan item 135 func (b *PlannerPlansCollectionRequestBuilder) ID(id string) *PlannerPlanRequestBuilder { 136 bb := &PlannerPlanRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 137 bb.baseURL += "/" + id 138 return bb 139 } 140 141 // PlannerPlansCollectionRequest is request for PlannerPlan collection 142 type PlannerPlansCollectionRequest struct{ BaseRequest } 143 144 // Paging perfoms paging operation for PlannerPlan collection 145 func (r *PlannerPlansCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerPlan, error) { 146 req, err := r.NewJSONRequest(method, path, obj) 147 if err != nil { 148 return nil, err 149 } 150 if ctx != nil { 151 req = req.WithContext(ctx) 152 } 153 res, err := r.client.Do(req) 154 if err != nil { 155 return nil, err 156 } 157 var values []PlannerPlan 158 for { 159 if res.StatusCode != http.StatusOK { 160 b, _ := ioutil.ReadAll(res.Body) 161 res.Body.Close() 162 errRes := &ErrorResponse{Response: res} 163 err := jsonx.Unmarshal(b, errRes) 164 if err != nil { 165 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 166 } 167 return nil, errRes 168 } 169 var ( 170 paging Paging 171 value []PlannerPlan 172 ) 173 err := jsonx.NewDecoder(res.Body).Decode(&paging) 174 res.Body.Close() 175 if err != nil { 176 return nil, err 177 } 178 err = jsonx.Unmarshal(paging.Value, &value) 179 if err != nil { 180 return nil, err 181 } 182 values = append(values, value...) 183 if n >= 0 { 184 n-- 185 } 186 if n == 0 || len(paging.NextLink) == 0 { 187 return values, nil 188 } 189 req, err = http.NewRequest("GET", paging.NextLink, nil) 190 if ctx != nil { 191 req = req.WithContext(ctx) 192 } 193 res, err = r.client.Do(req) 194 if err != nil { 195 return nil, err 196 } 197 } 198 } 199 200 // GetN performs GET request for PlannerPlan collection, max N pages 201 func (r *PlannerPlansCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerPlan, error) { 202 var query string 203 if r.query != nil { 204 query = "?" + r.query.Encode() 205 } 206 return r.Paging(ctx, "GET", query, nil, n) 207 } 208 209 // Get performs GET request for PlannerPlan collection 210 func (r *PlannerPlansCollectionRequest) Get(ctx context.Context) ([]PlannerPlan, error) { 211 return r.GetN(ctx, 0) 212 } 213 214 // Add performs POST request for PlannerPlan collection 215 func (r *PlannerPlansCollectionRequest) Add(ctx context.Context, reqObj *PlannerPlan) (resObj *PlannerPlan, err error) { 216 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 217 return 218 } 219 220 // Tasks returns request builder for PlannerTask collection 221 func (b *PlannerRequestBuilder) Tasks() *PlannerTasksCollectionRequestBuilder { 222 bb := &PlannerTasksCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 223 bb.baseURL += "/tasks" 224 return bb 225 } 226 227 // PlannerTasksCollectionRequestBuilder is request builder for PlannerTask collection 228 type PlannerTasksCollectionRequestBuilder struct{ BaseRequestBuilder } 229 230 // Request returns request for PlannerTask collection 231 func (b *PlannerTasksCollectionRequestBuilder) Request() *PlannerTasksCollectionRequest { 232 return &PlannerTasksCollectionRequest{ 233 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 234 } 235 } 236 237 // ID returns request builder for PlannerTask item 238 func (b *PlannerTasksCollectionRequestBuilder) ID(id string) *PlannerTaskRequestBuilder { 239 bb := &PlannerTaskRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 240 bb.baseURL += "/" + id 241 return bb 242 } 243 244 // PlannerTasksCollectionRequest is request for PlannerTask collection 245 type PlannerTasksCollectionRequest struct{ BaseRequest } 246 247 // Paging perfoms paging operation for PlannerTask collection 248 func (r *PlannerTasksCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerTask, error) { 249 req, err := r.NewJSONRequest(method, path, obj) 250 if err != nil { 251 return nil, err 252 } 253 if ctx != nil { 254 req = req.WithContext(ctx) 255 } 256 res, err := r.client.Do(req) 257 if err != nil { 258 return nil, err 259 } 260 var values []PlannerTask 261 for { 262 if res.StatusCode != http.StatusOK { 263 b, _ := ioutil.ReadAll(res.Body) 264 res.Body.Close() 265 errRes := &ErrorResponse{Response: res} 266 err := jsonx.Unmarshal(b, errRes) 267 if err != nil { 268 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 269 } 270 return nil, errRes 271 } 272 var ( 273 paging Paging 274 value []PlannerTask 275 ) 276 err := jsonx.NewDecoder(res.Body).Decode(&paging) 277 res.Body.Close() 278 if err != nil { 279 return nil, err 280 } 281 err = jsonx.Unmarshal(paging.Value, &value) 282 if err != nil { 283 return nil, err 284 } 285 values = append(values, value...) 286 if n >= 0 { 287 n-- 288 } 289 if n == 0 || len(paging.NextLink) == 0 { 290 return values, nil 291 } 292 req, err = http.NewRequest("GET", paging.NextLink, nil) 293 if ctx != nil { 294 req = req.WithContext(ctx) 295 } 296 res, err = r.client.Do(req) 297 if err != nil { 298 return nil, err 299 } 300 } 301 } 302 303 // GetN performs GET request for PlannerTask collection, max N pages 304 func (r *PlannerTasksCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerTask, error) { 305 var query string 306 if r.query != nil { 307 query = "?" + r.query.Encode() 308 } 309 return r.Paging(ctx, "GET", query, nil, n) 310 } 311 312 // Get performs GET request for PlannerTask collection 313 func (r *PlannerTasksCollectionRequest) Get(ctx context.Context) ([]PlannerTask, error) { 314 return r.GetN(ctx, 0) 315 } 316 317 // Add performs POST request for PlannerTask collection 318 func (r *PlannerTasksCollectionRequest) Add(ctx context.Context, reqObj *PlannerTask) (resObj *PlannerTask, err error) { 319 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 320 return 321 } 322 323 // Tasks returns request builder for PlannerTask collection 324 func (b *PlannerBucketRequestBuilder) Tasks() *PlannerBucketTasksCollectionRequestBuilder { 325 bb := &PlannerBucketTasksCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 326 bb.baseURL += "/tasks" 327 return bb 328 } 329 330 // PlannerBucketTasksCollectionRequestBuilder is request builder for PlannerTask collection 331 type PlannerBucketTasksCollectionRequestBuilder struct{ BaseRequestBuilder } 332 333 // Request returns request for PlannerTask collection 334 func (b *PlannerBucketTasksCollectionRequestBuilder) Request() *PlannerBucketTasksCollectionRequest { 335 return &PlannerBucketTasksCollectionRequest{ 336 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 337 } 338 } 339 340 // ID returns request builder for PlannerTask item 341 func (b *PlannerBucketTasksCollectionRequestBuilder) ID(id string) *PlannerTaskRequestBuilder { 342 bb := &PlannerTaskRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 343 bb.baseURL += "/" + id 344 return bb 345 } 346 347 // PlannerBucketTasksCollectionRequest is request for PlannerTask collection 348 type PlannerBucketTasksCollectionRequest struct{ BaseRequest } 349 350 // Paging perfoms paging operation for PlannerTask collection 351 func (r *PlannerBucketTasksCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerTask, error) { 352 req, err := r.NewJSONRequest(method, path, obj) 353 if err != nil { 354 return nil, err 355 } 356 if ctx != nil { 357 req = req.WithContext(ctx) 358 } 359 res, err := r.client.Do(req) 360 if err != nil { 361 return nil, err 362 } 363 var values []PlannerTask 364 for { 365 if res.StatusCode != http.StatusOK { 366 b, _ := ioutil.ReadAll(res.Body) 367 res.Body.Close() 368 errRes := &ErrorResponse{Response: res} 369 err := jsonx.Unmarshal(b, errRes) 370 if err != nil { 371 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 372 } 373 return nil, errRes 374 } 375 var ( 376 paging Paging 377 value []PlannerTask 378 ) 379 err := jsonx.NewDecoder(res.Body).Decode(&paging) 380 res.Body.Close() 381 if err != nil { 382 return nil, err 383 } 384 err = jsonx.Unmarshal(paging.Value, &value) 385 if err != nil { 386 return nil, err 387 } 388 values = append(values, value...) 389 if n >= 0 { 390 n-- 391 } 392 if n == 0 || len(paging.NextLink) == 0 { 393 return values, nil 394 } 395 req, err = http.NewRequest("GET", paging.NextLink, nil) 396 if ctx != nil { 397 req = req.WithContext(ctx) 398 } 399 res, err = r.client.Do(req) 400 if err != nil { 401 return nil, err 402 } 403 } 404 } 405 406 // GetN performs GET request for PlannerTask collection, max N pages 407 func (r *PlannerBucketTasksCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerTask, error) { 408 var query string 409 if r.query != nil { 410 query = "?" + r.query.Encode() 411 } 412 return r.Paging(ctx, "GET", query, nil, n) 413 } 414 415 // Get performs GET request for PlannerTask collection 416 func (r *PlannerBucketTasksCollectionRequest) Get(ctx context.Context) ([]PlannerTask, error) { 417 return r.GetN(ctx, 0) 418 } 419 420 // Add performs POST request for PlannerTask collection 421 func (r *PlannerBucketTasksCollectionRequest) Add(ctx context.Context, reqObj *PlannerTask) (resObj *PlannerTask, err error) { 422 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 423 return 424 } 425 426 // Plans returns request builder for PlannerPlan collection 427 func (b *PlannerGroupRequestBuilder) Plans() *PlannerGroupPlansCollectionRequestBuilder { 428 bb := &PlannerGroupPlansCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 429 bb.baseURL += "/plans" 430 return bb 431 } 432 433 // PlannerGroupPlansCollectionRequestBuilder is request builder for PlannerPlan collection 434 type PlannerGroupPlansCollectionRequestBuilder struct{ BaseRequestBuilder } 435 436 // Request returns request for PlannerPlan collection 437 func (b *PlannerGroupPlansCollectionRequestBuilder) Request() *PlannerGroupPlansCollectionRequest { 438 return &PlannerGroupPlansCollectionRequest{ 439 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 440 } 441 } 442 443 // ID returns request builder for PlannerPlan item 444 func (b *PlannerGroupPlansCollectionRequestBuilder) ID(id string) *PlannerPlanRequestBuilder { 445 bb := &PlannerPlanRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 446 bb.baseURL += "/" + id 447 return bb 448 } 449 450 // PlannerGroupPlansCollectionRequest is request for PlannerPlan collection 451 type PlannerGroupPlansCollectionRequest struct{ BaseRequest } 452 453 // Paging perfoms paging operation for PlannerPlan collection 454 func (r *PlannerGroupPlansCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerPlan, error) { 455 req, err := r.NewJSONRequest(method, path, obj) 456 if err != nil { 457 return nil, err 458 } 459 if ctx != nil { 460 req = req.WithContext(ctx) 461 } 462 res, err := r.client.Do(req) 463 if err != nil { 464 return nil, err 465 } 466 var values []PlannerPlan 467 for { 468 if res.StatusCode != http.StatusOK { 469 b, _ := ioutil.ReadAll(res.Body) 470 res.Body.Close() 471 errRes := &ErrorResponse{Response: res} 472 err := jsonx.Unmarshal(b, errRes) 473 if err != nil { 474 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 475 } 476 return nil, errRes 477 } 478 var ( 479 paging Paging 480 value []PlannerPlan 481 ) 482 err := jsonx.NewDecoder(res.Body).Decode(&paging) 483 res.Body.Close() 484 if err != nil { 485 return nil, err 486 } 487 err = jsonx.Unmarshal(paging.Value, &value) 488 if err != nil { 489 return nil, err 490 } 491 values = append(values, value...) 492 if n >= 0 { 493 n-- 494 } 495 if n == 0 || len(paging.NextLink) == 0 { 496 return values, nil 497 } 498 req, err = http.NewRequest("GET", paging.NextLink, nil) 499 if ctx != nil { 500 req = req.WithContext(ctx) 501 } 502 res, err = r.client.Do(req) 503 if err != nil { 504 return nil, err 505 } 506 } 507 } 508 509 // GetN performs GET request for PlannerPlan collection, max N pages 510 func (r *PlannerGroupPlansCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerPlan, error) { 511 var query string 512 if r.query != nil { 513 query = "?" + r.query.Encode() 514 } 515 return r.Paging(ctx, "GET", query, nil, n) 516 } 517 518 // Get performs GET request for PlannerPlan collection 519 func (r *PlannerGroupPlansCollectionRequest) Get(ctx context.Context) ([]PlannerPlan, error) { 520 return r.GetN(ctx, 0) 521 } 522 523 // Add performs POST request for PlannerPlan collection 524 func (r *PlannerGroupPlansCollectionRequest) Add(ctx context.Context, reqObj *PlannerPlan) (resObj *PlannerPlan, err error) { 525 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 526 return 527 } 528 529 // Buckets returns request builder for PlannerBucket collection 530 func (b *PlannerPlanRequestBuilder) Buckets() *PlannerPlanBucketsCollectionRequestBuilder { 531 bb := &PlannerPlanBucketsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 532 bb.baseURL += "/buckets" 533 return bb 534 } 535 536 // PlannerPlanBucketsCollectionRequestBuilder is request builder for PlannerBucket collection 537 type PlannerPlanBucketsCollectionRequestBuilder struct{ BaseRequestBuilder } 538 539 // Request returns request for PlannerBucket collection 540 func (b *PlannerPlanBucketsCollectionRequestBuilder) Request() *PlannerPlanBucketsCollectionRequest { 541 return &PlannerPlanBucketsCollectionRequest{ 542 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 543 } 544 } 545 546 // ID returns request builder for PlannerBucket item 547 func (b *PlannerPlanBucketsCollectionRequestBuilder) ID(id string) *PlannerBucketRequestBuilder { 548 bb := &PlannerBucketRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 549 bb.baseURL += "/" + id 550 return bb 551 } 552 553 // PlannerPlanBucketsCollectionRequest is request for PlannerBucket collection 554 type PlannerPlanBucketsCollectionRequest struct{ BaseRequest } 555 556 // Paging perfoms paging operation for PlannerBucket collection 557 func (r *PlannerPlanBucketsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerBucket, error) { 558 req, err := r.NewJSONRequest(method, path, obj) 559 if err != nil { 560 return nil, err 561 } 562 if ctx != nil { 563 req = req.WithContext(ctx) 564 } 565 res, err := r.client.Do(req) 566 if err != nil { 567 return nil, err 568 } 569 var values []PlannerBucket 570 for { 571 if res.StatusCode != http.StatusOK { 572 b, _ := ioutil.ReadAll(res.Body) 573 res.Body.Close() 574 errRes := &ErrorResponse{Response: res} 575 err := jsonx.Unmarshal(b, errRes) 576 if err != nil { 577 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 578 } 579 return nil, errRes 580 } 581 var ( 582 paging Paging 583 value []PlannerBucket 584 ) 585 err := jsonx.NewDecoder(res.Body).Decode(&paging) 586 res.Body.Close() 587 if err != nil { 588 return nil, err 589 } 590 err = jsonx.Unmarshal(paging.Value, &value) 591 if err != nil { 592 return nil, err 593 } 594 values = append(values, value...) 595 if n >= 0 { 596 n-- 597 } 598 if n == 0 || len(paging.NextLink) == 0 { 599 return values, nil 600 } 601 req, err = http.NewRequest("GET", paging.NextLink, nil) 602 if ctx != nil { 603 req = req.WithContext(ctx) 604 } 605 res, err = r.client.Do(req) 606 if err != nil { 607 return nil, err 608 } 609 } 610 } 611 612 // GetN performs GET request for PlannerBucket collection, max N pages 613 func (r *PlannerPlanBucketsCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerBucket, error) { 614 var query string 615 if r.query != nil { 616 query = "?" + r.query.Encode() 617 } 618 return r.Paging(ctx, "GET", query, nil, n) 619 } 620 621 // Get performs GET request for PlannerBucket collection 622 func (r *PlannerPlanBucketsCollectionRequest) Get(ctx context.Context) ([]PlannerBucket, error) { 623 return r.GetN(ctx, 0) 624 } 625 626 // Add performs POST request for PlannerBucket collection 627 func (r *PlannerPlanBucketsCollectionRequest) Add(ctx context.Context, reqObj *PlannerBucket) (resObj *PlannerBucket, err error) { 628 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 629 return 630 } 631 632 // Details is navigation property 633 func (b *PlannerPlanRequestBuilder) Details() *PlannerPlanDetailsRequestBuilder { 634 bb := &PlannerPlanDetailsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 635 bb.baseURL += "/details" 636 return bb 637 } 638 639 // Tasks returns request builder for PlannerTask collection 640 func (b *PlannerPlanRequestBuilder) Tasks() *PlannerPlanTasksCollectionRequestBuilder { 641 bb := &PlannerPlanTasksCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 642 bb.baseURL += "/tasks" 643 return bb 644 } 645 646 // PlannerPlanTasksCollectionRequestBuilder is request builder for PlannerTask collection 647 type PlannerPlanTasksCollectionRequestBuilder struct{ BaseRequestBuilder } 648 649 // Request returns request for PlannerTask collection 650 func (b *PlannerPlanTasksCollectionRequestBuilder) Request() *PlannerPlanTasksCollectionRequest { 651 return &PlannerPlanTasksCollectionRequest{ 652 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 653 } 654 } 655 656 // ID returns request builder for PlannerTask item 657 func (b *PlannerPlanTasksCollectionRequestBuilder) ID(id string) *PlannerTaskRequestBuilder { 658 bb := &PlannerTaskRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 659 bb.baseURL += "/" + id 660 return bb 661 } 662 663 // PlannerPlanTasksCollectionRequest is request for PlannerTask collection 664 type PlannerPlanTasksCollectionRequest struct{ BaseRequest } 665 666 // Paging perfoms paging operation for PlannerTask collection 667 func (r *PlannerPlanTasksCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerTask, error) { 668 req, err := r.NewJSONRequest(method, path, obj) 669 if err != nil { 670 return nil, err 671 } 672 if ctx != nil { 673 req = req.WithContext(ctx) 674 } 675 res, err := r.client.Do(req) 676 if err != nil { 677 return nil, err 678 } 679 var values []PlannerTask 680 for { 681 if res.StatusCode != http.StatusOK { 682 b, _ := ioutil.ReadAll(res.Body) 683 res.Body.Close() 684 errRes := &ErrorResponse{Response: res} 685 err := jsonx.Unmarshal(b, errRes) 686 if err != nil { 687 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 688 } 689 return nil, errRes 690 } 691 var ( 692 paging Paging 693 value []PlannerTask 694 ) 695 err := jsonx.NewDecoder(res.Body).Decode(&paging) 696 res.Body.Close() 697 if err != nil { 698 return nil, err 699 } 700 err = jsonx.Unmarshal(paging.Value, &value) 701 if err != nil { 702 return nil, err 703 } 704 values = append(values, value...) 705 if n >= 0 { 706 n-- 707 } 708 if n == 0 || len(paging.NextLink) == 0 { 709 return values, nil 710 } 711 req, err = http.NewRequest("GET", paging.NextLink, nil) 712 if ctx != nil { 713 req = req.WithContext(ctx) 714 } 715 res, err = r.client.Do(req) 716 if err != nil { 717 return nil, err 718 } 719 } 720 } 721 722 // GetN performs GET request for PlannerTask collection, max N pages 723 func (r *PlannerPlanTasksCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerTask, error) { 724 var query string 725 if r.query != nil { 726 query = "?" + r.query.Encode() 727 } 728 return r.Paging(ctx, "GET", query, nil, n) 729 } 730 731 // Get performs GET request for PlannerTask collection 732 func (r *PlannerPlanTasksCollectionRequest) Get(ctx context.Context) ([]PlannerTask, error) { 733 return r.GetN(ctx, 0) 734 } 735 736 // Add performs POST request for PlannerTask collection 737 func (r *PlannerPlanTasksCollectionRequest) Add(ctx context.Context, reqObj *PlannerTask) (resObj *PlannerTask, err error) { 738 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 739 return 740 } 741 742 // AssignedToTaskBoardFormat is navigation property 743 func (b *PlannerTaskRequestBuilder) AssignedToTaskBoardFormat() *PlannerAssignedToTaskBoardTaskFormatRequestBuilder { 744 bb := &PlannerAssignedToTaskBoardTaskFormatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 745 bb.baseURL += "/assignedToTaskBoardFormat" 746 return bb 747 } 748 749 // BucketTaskBoardFormat is navigation property 750 func (b *PlannerTaskRequestBuilder) BucketTaskBoardFormat() *PlannerBucketTaskBoardTaskFormatRequestBuilder { 751 bb := &PlannerBucketTaskBoardTaskFormatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 752 bb.baseURL += "/bucketTaskBoardFormat" 753 return bb 754 } 755 756 // Details is navigation property 757 func (b *PlannerTaskRequestBuilder) Details() *PlannerTaskDetailsRequestBuilder { 758 bb := &PlannerTaskDetailsRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 759 bb.baseURL += "/details" 760 return bb 761 } 762 763 // ProgressTaskBoardFormat is navigation property 764 func (b *PlannerTaskRequestBuilder) ProgressTaskBoardFormat() *PlannerProgressTaskBoardTaskFormatRequestBuilder { 765 bb := &PlannerProgressTaskBoardTaskFormatRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 766 bb.baseURL += "/progressTaskBoardFormat" 767 return bb 768 } 769 770 // Plans returns request builder for PlannerPlan collection 771 func (b *PlannerUserRequestBuilder) Plans() *PlannerUserPlansCollectionRequestBuilder { 772 bb := &PlannerUserPlansCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 773 bb.baseURL += "/plans" 774 return bb 775 } 776 777 // PlannerUserPlansCollectionRequestBuilder is request builder for PlannerPlan collection 778 type PlannerUserPlansCollectionRequestBuilder struct{ BaseRequestBuilder } 779 780 // Request returns request for PlannerPlan collection 781 func (b *PlannerUserPlansCollectionRequestBuilder) Request() *PlannerUserPlansCollectionRequest { 782 return &PlannerUserPlansCollectionRequest{ 783 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 784 } 785 } 786 787 // ID returns request builder for PlannerPlan item 788 func (b *PlannerUserPlansCollectionRequestBuilder) ID(id string) *PlannerPlanRequestBuilder { 789 bb := &PlannerPlanRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 790 bb.baseURL += "/" + id 791 return bb 792 } 793 794 // PlannerUserPlansCollectionRequest is request for PlannerPlan collection 795 type PlannerUserPlansCollectionRequest struct{ BaseRequest } 796 797 // Paging perfoms paging operation for PlannerPlan collection 798 func (r *PlannerUserPlansCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerPlan, error) { 799 req, err := r.NewJSONRequest(method, path, obj) 800 if err != nil { 801 return nil, err 802 } 803 if ctx != nil { 804 req = req.WithContext(ctx) 805 } 806 res, err := r.client.Do(req) 807 if err != nil { 808 return nil, err 809 } 810 var values []PlannerPlan 811 for { 812 if res.StatusCode != http.StatusOK { 813 b, _ := ioutil.ReadAll(res.Body) 814 res.Body.Close() 815 errRes := &ErrorResponse{Response: res} 816 err := jsonx.Unmarshal(b, errRes) 817 if err != nil { 818 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 819 } 820 return nil, errRes 821 } 822 var ( 823 paging Paging 824 value []PlannerPlan 825 ) 826 err := jsonx.NewDecoder(res.Body).Decode(&paging) 827 res.Body.Close() 828 if err != nil { 829 return nil, err 830 } 831 err = jsonx.Unmarshal(paging.Value, &value) 832 if err != nil { 833 return nil, err 834 } 835 values = append(values, value...) 836 if n >= 0 { 837 n-- 838 } 839 if n == 0 || len(paging.NextLink) == 0 { 840 return values, nil 841 } 842 req, err = http.NewRequest("GET", paging.NextLink, nil) 843 if ctx != nil { 844 req = req.WithContext(ctx) 845 } 846 res, err = r.client.Do(req) 847 if err != nil { 848 return nil, err 849 } 850 } 851 } 852 853 // GetN performs GET request for PlannerPlan collection, max N pages 854 func (r *PlannerUserPlansCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerPlan, error) { 855 var query string 856 if r.query != nil { 857 query = "?" + r.query.Encode() 858 } 859 return r.Paging(ctx, "GET", query, nil, n) 860 } 861 862 // Get performs GET request for PlannerPlan collection 863 func (r *PlannerUserPlansCollectionRequest) Get(ctx context.Context) ([]PlannerPlan, error) { 864 return r.GetN(ctx, 0) 865 } 866 867 // Add performs POST request for PlannerPlan collection 868 func (r *PlannerUserPlansCollectionRequest) Add(ctx context.Context, reqObj *PlannerPlan) (resObj *PlannerPlan, err error) { 869 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 870 return 871 } 872 873 // Tasks returns request builder for PlannerTask collection 874 func (b *PlannerUserRequestBuilder) Tasks() *PlannerUserTasksCollectionRequestBuilder { 875 bb := &PlannerUserTasksCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 876 bb.baseURL += "/tasks" 877 return bb 878 } 879 880 // PlannerUserTasksCollectionRequestBuilder is request builder for PlannerTask collection 881 type PlannerUserTasksCollectionRequestBuilder struct{ BaseRequestBuilder } 882 883 // Request returns request for PlannerTask collection 884 func (b *PlannerUserTasksCollectionRequestBuilder) Request() *PlannerUserTasksCollectionRequest { 885 return &PlannerUserTasksCollectionRequest{ 886 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 887 } 888 } 889 890 // ID returns request builder for PlannerTask item 891 func (b *PlannerUserTasksCollectionRequestBuilder) ID(id string) *PlannerTaskRequestBuilder { 892 bb := &PlannerTaskRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 893 bb.baseURL += "/" + id 894 return bb 895 } 896 897 // PlannerUserTasksCollectionRequest is request for PlannerTask collection 898 type PlannerUserTasksCollectionRequest struct{ BaseRequest } 899 900 // Paging perfoms paging operation for PlannerTask collection 901 func (r *PlannerUserTasksCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]PlannerTask, error) { 902 req, err := r.NewJSONRequest(method, path, obj) 903 if err != nil { 904 return nil, err 905 } 906 if ctx != nil { 907 req = req.WithContext(ctx) 908 } 909 res, err := r.client.Do(req) 910 if err != nil { 911 return nil, err 912 } 913 var values []PlannerTask 914 for { 915 if res.StatusCode != http.StatusOK { 916 b, _ := ioutil.ReadAll(res.Body) 917 res.Body.Close() 918 errRes := &ErrorResponse{Response: res} 919 err := jsonx.Unmarshal(b, errRes) 920 if err != nil { 921 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 922 } 923 return nil, errRes 924 } 925 var ( 926 paging Paging 927 value []PlannerTask 928 ) 929 err := jsonx.NewDecoder(res.Body).Decode(&paging) 930 res.Body.Close() 931 if err != nil { 932 return nil, err 933 } 934 err = jsonx.Unmarshal(paging.Value, &value) 935 if err != nil { 936 return nil, err 937 } 938 values = append(values, value...) 939 if n >= 0 { 940 n-- 941 } 942 if n == 0 || len(paging.NextLink) == 0 { 943 return values, nil 944 } 945 req, err = http.NewRequest("GET", paging.NextLink, nil) 946 if ctx != nil { 947 req = req.WithContext(ctx) 948 } 949 res, err = r.client.Do(req) 950 if err != nil { 951 return nil, err 952 } 953 } 954 } 955 956 // GetN performs GET request for PlannerTask collection, max N pages 957 func (r *PlannerUserTasksCollectionRequest) GetN(ctx context.Context, n int) ([]PlannerTask, error) { 958 var query string 959 if r.query != nil { 960 query = "?" + r.query.Encode() 961 } 962 return r.Paging(ctx, "GET", query, nil, n) 963 } 964 965 // Get performs GET request for PlannerTask collection 966 func (r *PlannerUserTasksCollectionRequest) Get(ctx context.Context) ([]PlannerTask, error) { 967 return r.GetN(ctx, 0) 968 } 969 970 // Add performs POST request for PlannerTask collection 971 func (r *PlannerUserTasksCollectionRequest) Add(ctx context.Context, reqObj *PlannerTask) (resObj *PlannerTask, err error) { 972 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 973 return 974 }