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