github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ActionContact.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 // Extensions returns request builder for Extension collection 15 func (b *ContactRequestBuilder) Extensions() *ContactExtensionsCollectionRequestBuilder { 16 bb := &ContactExtensionsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 17 bb.baseURL += "/extensions" 18 return bb 19 } 20 21 // ContactExtensionsCollectionRequestBuilder is request builder for Extension collection 22 type ContactExtensionsCollectionRequestBuilder struct{ BaseRequestBuilder } 23 24 // Request returns request for Extension collection 25 func (b *ContactExtensionsCollectionRequestBuilder) Request() *ContactExtensionsCollectionRequest { 26 return &ContactExtensionsCollectionRequest{ 27 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 28 } 29 } 30 31 // ID returns request builder for Extension item 32 func (b *ContactExtensionsCollectionRequestBuilder) ID(id string) *ExtensionRequestBuilder { 33 bb := &ExtensionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 34 bb.baseURL += "/" + id 35 return bb 36 } 37 38 // ContactExtensionsCollectionRequest is request for Extension collection 39 type ContactExtensionsCollectionRequest struct{ BaseRequest } 40 41 // Paging perfoms paging operation for Extension collection 42 func (r *ContactExtensionsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Extension, 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 []Extension 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 []Extension 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 Extension collection, max N pages 98 func (r *ContactExtensionsCollectionRequest) GetN(ctx context.Context, n int) ([]Extension, 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 Extension collection 107 func (r *ContactExtensionsCollectionRequest) Get(ctx context.Context) ([]Extension, error) { 108 return r.GetN(ctx, 0) 109 } 110 111 // Add performs POST request for Extension collection 112 func (r *ContactExtensionsCollectionRequest) Add(ctx context.Context, reqObj *Extension) (resObj *Extension, err error) { 113 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 114 return 115 } 116 117 // MultiValueExtendedProperties returns request builder for MultiValueLegacyExtendedProperty collection 118 func (b *ContactRequestBuilder) MultiValueExtendedProperties() *ContactMultiValueExtendedPropertiesCollectionRequestBuilder { 119 bb := &ContactMultiValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 120 bb.baseURL += "/multiValueExtendedProperties" 121 return bb 122 } 123 124 // ContactMultiValueExtendedPropertiesCollectionRequestBuilder is request builder for MultiValueLegacyExtendedProperty collection 125 type ContactMultiValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 126 127 // Request returns request for MultiValueLegacyExtendedProperty collection 128 func (b *ContactMultiValueExtendedPropertiesCollectionRequestBuilder) Request() *ContactMultiValueExtendedPropertiesCollectionRequest { 129 return &ContactMultiValueExtendedPropertiesCollectionRequest{ 130 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 131 } 132 } 133 134 // ID returns request builder for MultiValueLegacyExtendedProperty item 135 func (b *ContactMultiValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *MultiValueLegacyExtendedPropertyRequestBuilder { 136 bb := &MultiValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 137 bb.baseURL += "/" + id 138 return bb 139 } 140 141 // ContactMultiValueExtendedPropertiesCollectionRequest is request for MultiValueLegacyExtendedProperty collection 142 type ContactMultiValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 143 144 // Paging perfoms paging operation for MultiValueLegacyExtendedProperty collection 145 func (r *ContactMultiValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MultiValueLegacyExtendedProperty, 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 []MultiValueLegacyExtendedProperty 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 []MultiValueLegacyExtendedProperty 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 MultiValueLegacyExtendedProperty collection, max N pages 201 func (r *ContactMultiValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]MultiValueLegacyExtendedProperty, 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 MultiValueLegacyExtendedProperty collection 210 func (r *ContactMultiValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]MultiValueLegacyExtendedProperty, error) { 211 return r.GetN(ctx, 0) 212 } 213 214 // Add performs POST request for MultiValueLegacyExtendedProperty collection 215 func (r *ContactMultiValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *MultiValueLegacyExtendedProperty) (resObj *MultiValueLegacyExtendedProperty, err error) { 216 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 217 return 218 } 219 220 // Photo is navigation property 221 func (b *ContactRequestBuilder) Photo() *ProfilePhotoRequestBuilder { 222 bb := &ProfilePhotoRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 223 bb.baseURL += "/photo" 224 return bb 225 } 226 227 // SingleValueExtendedProperties returns request builder for SingleValueLegacyExtendedProperty collection 228 func (b *ContactRequestBuilder) SingleValueExtendedProperties() *ContactSingleValueExtendedPropertiesCollectionRequestBuilder { 229 bb := &ContactSingleValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 230 bb.baseURL += "/singleValueExtendedProperties" 231 return bb 232 } 233 234 // ContactSingleValueExtendedPropertiesCollectionRequestBuilder is request builder for SingleValueLegacyExtendedProperty collection 235 type ContactSingleValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 236 237 // Request returns request for SingleValueLegacyExtendedProperty collection 238 func (b *ContactSingleValueExtendedPropertiesCollectionRequestBuilder) Request() *ContactSingleValueExtendedPropertiesCollectionRequest { 239 return &ContactSingleValueExtendedPropertiesCollectionRequest{ 240 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 241 } 242 } 243 244 // ID returns request builder for SingleValueLegacyExtendedProperty item 245 func (b *ContactSingleValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *SingleValueLegacyExtendedPropertyRequestBuilder { 246 bb := &SingleValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 247 bb.baseURL += "/" + id 248 return bb 249 } 250 251 // ContactSingleValueExtendedPropertiesCollectionRequest is request for SingleValueLegacyExtendedProperty collection 252 type ContactSingleValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 253 254 // Paging perfoms paging operation for SingleValueLegacyExtendedProperty collection 255 func (r *ContactSingleValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SingleValueLegacyExtendedProperty, 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 []SingleValueLegacyExtendedProperty 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 []SingleValueLegacyExtendedProperty 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 SingleValueLegacyExtendedProperty collection, max N pages 311 func (r *ContactSingleValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]SingleValueLegacyExtendedProperty, 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 SingleValueLegacyExtendedProperty collection 320 func (r *ContactSingleValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]SingleValueLegacyExtendedProperty, error) { 321 return r.GetN(ctx, 0) 322 } 323 324 // Add performs POST request for SingleValueLegacyExtendedProperty collection 325 func (r *ContactSingleValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *SingleValueLegacyExtendedProperty) (resObj *SingleValueLegacyExtendedProperty, err error) { 326 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 327 return 328 } 329 330 // ChildFolders returns request builder for ContactFolder collection 331 func (b *ContactFolderRequestBuilder) ChildFolders() *ContactFolderChildFoldersCollectionRequestBuilder { 332 bb := &ContactFolderChildFoldersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 333 bb.baseURL += "/childFolders" 334 return bb 335 } 336 337 // ContactFolderChildFoldersCollectionRequestBuilder is request builder for ContactFolder collection 338 type ContactFolderChildFoldersCollectionRequestBuilder struct{ BaseRequestBuilder } 339 340 // Request returns request for ContactFolder collection 341 func (b *ContactFolderChildFoldersCollectionRequestBuilder) Request() *ContactFolderChildFoldersCollectionRequest { 342 return &ContactFolderChildFoldersCollectionRequest{ 343 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 344 } 345 } 346 347 // ID returns request builder for ContactFolder item 348 func (b *ContactFolderChildFoldersCollectionRequestBuilder) ID(id string) *ContactFolderRequestBuilder { 349 bb := &ContactFolderRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 350 bb.baseURL += "/" + id 351 return bb 352 } 353 354 // ContactFolderChildFoldersCollectionRequest is request for ContactFolder collection 355 type ContactFolderChildFoldersCollectionRequest struct{ BaseRequest } 356 357 // Paging perfoms paging operation for ContactFolder collection 358 func (r *ContactFolderChildFoldersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]ContactFolder, 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 []ContactFolder 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 []ContactFolder 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 ContactFolder collection, max N pages 414 func (r *ContactFolderChildFoldersCollectionRequest) GetN(ctx context.Context, n int) ([]ContactFolder, 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 ContactFolder collection 423 func (r *ContactFolderChildFoldersCollectionRequest) Get(ctx context.Context) ([]ContactFolder, error) { 424 return r.GetN(ctx, 0) 425 } 426 427 // Add performs POST request for ContactFolder collection 428 func (r *ContactFolderChildFoldersCollectionRequest) Add(ctx context.Context, reqObj *ContactFolder) (resObj *ContactFolder, err error) { 429 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 430 return 431 } 432 433 // Contacts returns request builder for Contact collection 434 func (b *ContactFolderRequestBuilder) Contacts() *ContactFolderContactsCollectionRequestBuilder { 435 bb := &ContactFolderContactsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 436 bb.baseURL += "/contacts" 437 return bb 438 } 439 440 // ContactFolderContactsCollectionRequestBuilder is request builder for Contact collection 441 type ContactFolderContactsCollectionRequestBuilder struct{ BaseRequestBuilder } 442 443 // Request returns request for Contact collection 444 func (b *ContactFolderContactsCollectionRequestBuilder) Request() *ContactFolderContactsCollectionRequest { 445 return &ContactFolderContactsCollectionRequest{ 446 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 447 } 448 } 449 450 // ID returns request builder for Contact item 451 func (b *ContactFolderContactsCollectionRequestBuilder) ID(id string) *ContactRequestBuilder { 452 bb := &ContactRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 453 bb.baseURL += "/" + id 454 return bb 455 } 456 457 // ContactFolderContactsCollectionRequest is request for Contact collection 458 type ContactFolderContactsCollectionRequest struct{ BaseRequest } 459 460 // Paging perfoms paging operation for Contact collection 461 func (r *ContactFolderContactsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]Contact, error) { 462 req, err := r.NewJSONRequest(method, path, obj) 463 if err != nil { 464 return nil, err 465 } 466 if ctx != nil { 467 req = req.WithContext(ctx) 468 } 469 res, err := r.client.Do(req) 470 if err != nil { 471 return nil, err 472 } 473 var values []Contact 474 for { 475 if res.StatusCode != http.StatusOK { 476 b, _ := ioutil.ReadAll(res.Body) 477 res.Body.Close() 478 errRes := &ErrorResponse{Response: res} 479 err := jsonx.Unmarshal(b, errRes) 480 if err != nil { 481 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 482 } 483 return nil, errRes 484 } 485 var ( 486 paging Paging 487 value []Contact 488 ) 489 err := jsonx.NewDecoder(res.Body).Decode(&paging) 490 res.Body.Close() 491 if err != nil { 492 return nil, err 493 } 494 err = jsonx.Unmarshal(paging.Value, &value) 495 if err != nil { 496 return nil, err 497 } 498 values = append(values, value...) 499 if n >= 0 { 500 n-- 501 } 502 if n == 0 || len(paging.NextLink) == 0 { 503 return values, nil 504 } 505 req, err = http.NewRequest("GET", paging.NextLink, nil) 506 if ctx != nil { 507 req = req.WithContext(ctx) 508 } 509 res, err = r.client.Do(req) 510 if err != nil { 511 return nil, err 512 } 513 } 514 } 515 516 // GetN performs GET request for Contact collection, max N pages 517 func (r *ContactFolderContactsCollectionRequest) GetN(ctx context.Context, n int) ([]Contact, error) { 518 var query string 519 if r.query != nil { 520 query = "?" + r.query.Encode() 521 } 522 return r.Paging(ctx, "GET", query, nil, n) 523 } 524 525 // Get performs GET request for Contact collection 526 func (r *ContactFolderContactsCollectionRequest) Get(ctx context.Context) ([]Contact, error) { 527 return r.GetN(ctx, 0) 528 } 529 530 // Add performs POST request for Contact collection 531 func (r *ContactFolderContactsCollectionRequest) Add(ctx context.Context, reqObj *Contact) (resObj *Contact, err error) { 532 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 533 return 534 } 535 536 // MultiValueExtendedProperties returns request builder for MultiValueLegacyExtendedProperty collection 537 func (b *ContactFolderRequestBuilder) MultiValueExtendedProperties() *ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder { 538 bb := &ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 539 bb.baseURL += "/multiValueExtendedProperties" 540 return bb 541 } 542 543 // ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder is request builder for MultiValueLegacyExtendedProperty collection 544 type ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 545 546 // Request returns request for MultiValueLegacyExtendedProperty collection 547 func (b *ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder) Request() *ContactFolderMultiValueExtendedPropertiesCollectionRequest { 548 return &ContactFolderMultiValueExtendedPropertiesCollectionRequest{ 549 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 550 } 551 } 552 553 // ID returns request builder for MultiValueLegacyExtendedProperty item 554 func (b *ContactFolderMultiValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *MultiValueLegacyExtendedPropertyRequestBuilder { 555 bb := &MultiValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 556 bb.baseURL += "/" + id 557 return bb 558 } 559 560 // ContactFolderMultiValueExtendedPropertiesCollectionRequest is request for MultiValueLegacyExtendedProperty collection 561 type ContactFolderMultiValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 562 563 // Paging perfoms paging operation for MultiValueLegacyExtendedProperty collection 564 func (r *ContactFolderMultiValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]MultiValueLegacyExtendedProperty, error) { 565 req, err := r.NewJSONRequest(method, path, obj) 566 if err != nil { 567 return nil, err 568 } 569 if ctx != nil { 570 req = req.WithContext(ctx) 571 } 572 res, err := r.client.Do(req) 573 if err != nil { 574 return nil, err 575 } 576 var values []MultiValueLegacyExtendedProperty 577 for { 578 if res.StatusCode != http.StatusOK { 579 b, _ := ioutil.ReadAll(res.Body) 580 res.Body.Close() 581 errRes := &ErrorResponse{Response: res} 582 err := jsonx.Unmarshal(b, errRes) 583 if err != nil { 584 return nil, fmt.Errorf("%s: %s", res.Status, string(b)) 585 } 586 return nil, errRes 587 } 588 var ( 589 paging Paging 590 value []MultiValueLegacyExtendedProperty 591 ) 592 err := jsonx.NewDecoder(res.Body).Decode(&paging) 593 res.Body.Close() 594 if err != nil { 595 return nil, err 596 } 597 err = jsonx.Unmarshal(paging.Value, &value) 598 if err != nil { 599 return nil, err 600 } 601 values = append(values, value...) 602 if n >= 0 { 603 n-- 604 } 605 if n == 0 || len(paging.NextLink) == 0 { 606 return values, nil 607 } 608 req, err = http.NewRequest("GET", paging.NextLink, nil) 609 if ctx != nil { 610 req = req.WithContext(ctx) 611 } 612 res, err = r.client.Do(req) 613 if err != nil { 614 return nil, err 615 } 616 } 617 } 618 619 // GetN performs GET request for MultiValueLegacyExtendedProperty collection, max N pages 620 func (r *ContactFolderMultiValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]MultiValueLegacyExtendedProperty, error) { 621 var query string 622 if r.query != nil { 623 query = "?" + r.query.Encode() 624 } 625 return r.Paging(ctx, "GET", query, nil, n) 626 } 627 628 // Get performs GET request for MultiValueLegacyExtendedProperty collection 629 func (r *ContactFolderMultiValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]MultiValueLegacyExtendedProperty, error) { 630 return r.GetN(ctx, 0) 631 } 632 633 // Add performs POST request for MultiValueLegacyExtendedProperty collection 634 func (r *ContactFolderMultiValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *MultiValueLegacyExtendedProperty) (resObj *MultiValueLegacyExtendedProperty, err error) { 635 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 636 return 637 } 638 639 // SingleValueExtendedProperties returns request builder for SingleValueLegacyExtendedProperty collection 640 func (b *ContactFolderRequestBuilder) SingleValueExtendedProperties() *ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder { 641 bb := &ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 642 bb.baseURL += "/singleValueExtendedProperties" 643 return bb 644 } 645 646 // ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder is request builder for SingleValueLegacyExtendedProperty collection 647 type ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder struct{ BaseRequestBuilder } 648 649 // Request returns request for SingleValueLegacyExtendedProperty collection 650 func (b *ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder) Request() *ContactFolderSingleValueExtendedPropertiesCollectionRequest { 651 return &ContactFolderSingleValueExtendedPropertiesCollectionRequest{ 652 BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, 653 } 654 } 655 656 // ID returns request builder for SingleValueLegacyExtendedProperty item 657 func (b *ContactFolderSingleValueExtendedPropertiesCollectionRequestBuilder) ID(id string) *SingleValueLegacyExtendedPropertyRequestBuilder { 658 bb := &SingleValueLegacyExtendedPropertyRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} 659 bb.baseURL += "/" + id 660 return bb 661 } 662 663 // ContactFolderSingleValueExtendedPropertiesCollectionRequest is request for SingleValueLegacyExtendedProperty collection 664 type ContactFolderSingleValueExtendedPropertiesCollectionRequest struct{ BaseRequest } 665 666 // Paging perfoms paging operation for SingleValueLegacyExtendedProperty collection 667 func (r *ContactFolderSingleValueExtendedPropertiesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}, n int) ([]SingleValueLegacyExtendedProperty, 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 []SingleValueLegacyExtendedProperty 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 []SingleValueLegacyExtendedProperty 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 SingleValueLegacyExtendedProperty collection, max N pages 723 func (r *ContactFolderSingleValueExtendedPropertiesCollectionRequest) GetN(ctx context.Context, n int) ([]SingleValueLegacyExtendedProperty, 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 SingleValueLegacyExtendedProperty collection 732 func (r *ContactFolderSingleValueExtendedPropertiesCollectionRequest) Get(ctx context.Context) ([]SingleValueLegacyExtendedProperty, error) { 733 return r.GetN(ctx, 0) 734 } 735 736 // Add performs POST request for SingleValueLegacyExtendedProperty collection 737 func (r *ContactFolderSingleValueExtendedPropertiesCollectionRequest) Add(ctx context.Context, reqObj *SingleValueLegacyExtendedProperty) (resObj *SingleValueLegacyExtendedProperty, err error) { 738 err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) 739 return 740 }