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