// Code generated by msgraph-generate.go DO NOT EDIT. package msgraph import ( "context" "fmt" "io/ioutil" "net/http" "github.com/yaegashi/msgraph.go/jsonx" ) // OutlookUserRequestBuilder is request builder for OutlookUser type OutlookUserRequestBuilder struct{ BaseRequestBuilder } // Request returns OutlookUserRequest func (b *OutlookUserRequestBuilder) Request() *OutlookUserRequest { return &OutlookUserRequest{ BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, } } // OutlookUserRequest is request for OutlookUser type OutlookUserRequest struct{ BaseRequest } // Get performs GET request for OutlookUser func (r *OutlookUserRequest) Get(ctx context.Context) (resObj *OutlookUser, err error) { var query string if r.query != nil { query = "?" + r.query.Encode() } err = r.JSONRequest(ctx, "GET", query, nil, &resObj) return } // Update performs PATCH request for OutlookUser func (r *OutlookUserRequest) Update(ctx context.Context, reqObj *OutlookUser) error { return r.JSONRequest(ctx, "PATCH", "", reqObj, nil) } // Delete performs DELETE request for OutlookUser func (r *OutlookUserRequest) Delete(ctx context.Context) error { return r.JSONRequest(ctx, "DELETE", "", nil, nil) } // MasterCategories returns request builder for OutlookCategory collection func (b *OutlookUserRequestBuilder) MasterCategories() *OutlookUserMasterCategoriesCollectionRequestBuilder { bb := &OutlookUserMasterCategoriesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/masterCategories" return bb } // OutlookUserMasterCategoriesCollectionRequestBuilder is request builder for OutlookCategory collection type OutlookUserMasterCategoriesCollectionRequestBuilder struct{ BaseRequestBuilder } // Request returns request for OutlookCategory collection func (b *OutlookUserMasterCategoriesCollectionRequestBuilder) Request() *OutlookUserMasterCategoriesCollectionRequest { return &OutlookUserMasterCategoriesCollectionRequest{ BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, } } // ID returns request builder for OutlookCategory item func (b *OutlookUserMasterCategoriesCollectionRequestBuilder) ID(id string) *OutlookCategoryRequestBuilder { bb := &OutlookCategoryRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/" + id return bb } // OutlookUserMasterCategoriesCollectionRequest is request for OutlookCategory collection type OutlookUserMasterCategoriesCollectionRequest struct{ BaseRequest } // Paging perfoms paging operation for OutlookCategory collection func (r *OutlookUserMasterCategoriesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]OutlookCategory, error) { req, err := r.NewJSONRequest(method, path, obj) if err != nil { return nil, err } if ctx != nil { req = req.WithContext(ctx) } res, err := r.client.Do(req) if err != nil { return nil, err } var values []OutlookCategory for { defer res.Body.Close() if res.StatusCode != http.StatusOK { b, _ := ioutil.ReadAll(res.Body) errRes := &ErrorResponse{Response: res} err := jsonx.Unmarshal(b, errRes) if err != nil { return nil, fmt.Errorf("%s: %s", res.Status, string(b)) } return nil, errRes } var ( paging Paging value []OutlookCategory ) err := jsonx.NewDecoder(res.Body).Decode(&paging) if err != nil { return nil, err } err = jsonx.Unmarshal(paging.Value, &value) if err != nil { return nil, err } values = append(values, value...) if len(paging.NextLink) == 0 { return values, nil } req, err = http.NewRequest("GET", paging.NextLink, nil) if ctx != nil { req = req.WithContext(ctx) } res, err = r.client.Do(req) if err != nil { return nil, err } } } // Get performs GET request for OutlookCategory collection func (r *OutlookUserMasterCategoriesCollectionRequest) Get(ctx context.Context) ([]OutlookCategory, error) { var query string if r.query != nil { query = "?" + r.query.Encode() } return r.Paging(ctx, "GET", query, nil) } // Add performs POST request for OutlookCategory collection func (r *OutlookUserMasterCategoriesCollectionRequest) Add(ctx context.Context, reqObj *OutlookCategory) (resObj *OutlookCategory, err error) { err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) return } // TaskFolders returns request builder for OutlookTaskFolder collection func (b *OutlookUserRequestBuilder) TaskFolders() *OutlookUserTaskFoldersCollectionRequestBuilder { bb := &OutlookUserTaskFoldersCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/taskFolders" return bb } // OutlookUserTaskFoldersCollectionRequestBuilder is request builder for OutlookTaskFolder collection type OutlookUserTaskFoldersCollectionRequestBuilder struct{ BaseRequestBuilder } // Request returns request for OutlookTaskFolder collection func (b *OutlookUserTaskFoldersCollectionRequestBuilder) Request() *OutlookUserTaskFoldersCollectionRequest { return &OutlookUserTaskFoldersCollectionRequest{ BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, } } // ID returns request builder for OutlookTaskFolder item func (b *OutlookUserTaskFoldersCollectionRequestBuilder) ID(id string) *OutlookTaskFolderRequestBuilder { bb := &OutlookTaskFolderRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/" + id return bb } // OutlookUserTaskFoldersCollectionRequest is request for OutlookTaskFolder collection type OutlookUserTaskFoldersCollectionRequest struct{ BaseRequest } // Paging perfoms paging operation for OutlookTaskFolder collection func (r *OutlookUserTaskFoldersCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]OutlookTaskFolder, error) { req, err := r.NewJSONRequest(method, path, obj) if err != nil { return nil, err } if ctx != nil { req = req.WithContext(ctx) } res, err := r.client.Do(req) if err != nil { return nil, err } var values []OutlookTaskFolder for { defer res.Body.Close() if res.StatusCode != http.StatusOK { b, _ := ioutil.ReadAll(res.Body) errRes := &ErrorResponse{Response: res} err := jsonx.Unmarshal(b, errRes) if err != nil { return nil, fmt.Errorf("%s: %s", res.Status, string(b)) } return nil, errRes } var ( paging Paging value []OutlookTaskFolder ) err := jsonx.NewDecoder(res.Body).Decode(&paging) if err != nil { return nil, err } err = jsonx.Unmarshal(paging.Value, &value) if err != nil { return nil, err } values = append(values, value...) if len(paging.NextLink) == 0 { return values, nil } req, err = http.NewRequest("GET", paging.NextLink, nil) if ctx != nil { req = req.WithContext(ctx) } res, err = r.client.Do(req) if err != nil { return nil, err } } } // Get performs GET request for OutlookTaskFolder collection func (r *OutlookUserTaskFoldersCollectionRequest) Get(ctx context.Context) ([]OutlookTaskFolder, error) { var query string if r.query != nil { query = "?" + r.query.Encode() } return r.Paging(ctx, "GET", query, nil) } // Add performs POST request for OutlookTaskFolder collection func (r *OutlookUserTaskFoldersCollectionRequest) Add(ctx context.Context, reqObj *OutlookTaskFolder) (resObj *OutlookTaskFolder, err error) { err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) return } // TaskGroups returns request builder for OutlookTaskGroup collection func (b *OutlookUserRequestBuilder) TaskGroups() *OutlookUserTaskGroupsCollectionRequestBuilder { bb := &OutlookUserTaskGroupsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/taskGroups" return bb } // OutlookUserTaskGroupsCollectionRequestBuilder is request builder for OutlookTaskGroup collection type OutlookUserTaskGroupsCollectionRequestBuilder struct{ BaseRequestBuilder } // Request returns request for OutlookTaskGroup collection func (b *OutlookUserTaskGroupsCollectionRequestBuilder) Request() *OutlookUserTaskGroupsCollectionRequest { return &OutlookUserTaskGroupsCollectionRequest{ BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, } } // ID returns request builder for OutlookTaskGroup item func (b *OutlookUserTaskGroupsCollectionRequestBuilder) ID(id string) *OutlookTaskGroupRequestBuilder { bb := &OutlookTaskGroupRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/" + id return bb } // OutlookUserTaskGroupsCollectionRequest is request for OutlookTaskGroup collection type OutlookUserTaskGroupsCollectionRequest struct{ BaseRequest } // Paging perfoms paging operation for OutlookTaskGroup collection func (r *OutlookUserTaskGroupsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]OutlookTaskGroup, error) { req, err := r.NewJSONRequest(method, path, obj) if err != nil { return nil, err } if ctx != nil { req = req.WithContext(ctx) } res, err := r.client.Do(req) if err != nil { return nil, err } var values []OutlookTaskGroup for { defer res.Body.Close() if res.StatusCode != http.StatusOK { b, _ := ioutil.ReadAll(res.Body) errRes := &ErrorResponse{Response: res} err := jsonx.Unmarshal(b, errRes) if err != nil { return nil, fmt.Errorf("%s: %s", res.Status, string(b)) } return nil, errRes } var ( paging Paging value []OutlookTaskGroup ) err := jsonx.NewDecoder(res.Body).Decode(&paging) if err != nil { return nil, err } err = jsonx.Unmarshal(paging.Value, &value) if err != nil { return nil, err } values = append(values, value...) if len(paging.NextLink) == 0 { return values, nil } req, err = http.NewRequest("GET", paging.NextLink, nil) if ctx != nil { req = req.WithContext(ctx) } res, err = r.client.Do(req) if err != nil { return nil, err } } } // Get performs GET request for OutlookTaskGroup collection func (r *OutlookUserTaskGroupsCollectionRequest) Get(ctx context.Context) ([]OutlookTaskGroup, error) { var query string if r.query != nil { query = "?" + r.query.Encode() } return r.Paging(ctx, "GET", query, nil) } // Add performs POST request for OutlookTaskGroup collection func (r *OutlookUserTaskGroupsCollectionRequest) Add(ctx context.Context, reqObj *OutlookTaskGroup) (resObj *OutlookTaskGroup, err error) { err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) return } // Tasks returns request builder for OutlookTask collection func (b *OutlookUserRequestBuilder) Tasks() *OutlookUserTasksCollectionRequestBuilder { bb := &OutlookUserTasksCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/tasks" return bb } // OutlookUserTasksCollectionRequestBuilder is request builder for OutlookTask collection type OutlookUserTasksCollectionRequestBuilder struct{ BaseRequestBuilder } // Request returns request for OutlookTask collection func (b *OutlookUserTasksCollectionRequestBuilder) Request() *OutlookUserTasksCollectionRequest { return &OutlookUserTasksCollectionRequest{ BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client}, } } // ID returns request builder for OutlookTask item func (b *OutlookUserTasksCollectionRequestBuilder) ID(id string) *OutlookTaskRequestBuilder { bb := &OutlookTaskRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder} bb.baseURL += "/" + id return bb } // OutlookUserTasksCollectionRequest is request for OutlookTask collection type OutlookUserTasksCollectionRequest struct{ BaseRequest } // Paging perfoms paging operation for OutlookTask collection func (r *OutlookUserTasksCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]OutlookTask, error) { req, err := r.NewJSONRequest(method, path, obj) if err != nil { return nil, err } if ctx != nil { req = req.WithContext(ctx) } res, err := r.client.Do(req) if err != nil { return nil, err } var values []OutlookTask for { defer res.Body.Close() if res.StatusCode != http.StatusOK { b, _ := ioutil.ReadAll(res.Body) errRes := &ErrorResponse{Response: res} err := jsonx.Unmarshal(b, errRes) if err != nil { return nil, fmt.Errorf("%s: %s", res.Status, string(b)) } return nil, errRes } var ( paging Paging value []OutlookTask ) err := jsonx.NewDecoder(res.Body).Decode(&paging) if err != nil { return nil, err } err = jsonx.Unmarshal(paging.Value, &value) if err != nil { return nil, err } values = append(values, value...) if len(paging.NextLink) == 0 { return values, nil } req, err = http.NewRequest("GET", paging.NextLink, nil) if ctx != nil { req = req.WithContext(ctx) } res, err = r.client.Do(req) if err != nil { return nil, err } } } // Get performs GET request for OutlookTask collection func (r *OutlookUserTasksCollectionRequest) Get(ctx context.Context) ([]OutlookTask, error) { var query string if r.query != nil { query = "?" + r.query.Encode() } return r.Paging(ctx, "GET", query, nil) } // Add performs POST request for OutlookTask collection func (r *OutlookUserTasksCollectionRequest) Add(ctx context.Context, reqObj *OutlookTask) (resObj *OutlookTask, err error) { err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj) return }