matterbridge/vendor/github.com/yaegashi/msgraph.go/beta/DeviceManagementReportsRequest.go

328 lines
12 KiB
Go

// Code generated by msgraph-generate.go DO NOT EDIT.
package msgraph
import (
"context"
"fmt"
"io/ioutil"
"net/http"
"github.com/yaegashi/msgraph.go/jsonx"
)
// DeviceManagementReportsRequestBuilder is request builder for DeviceManagementReports
type DeviceManagementReportsRequestBuilder struct{ BaseRequestBuilder }
// Request returns DeviceManagementReportsRequest
func (b *DeviceManagementReportsRequestBuilder) Request() *DeviceManagementReportsRequest {
return &DeviceManagementReportsRequest{
BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
}
}
// DeviceManagementReportsRequest is request for DeviceManagementReports
type DeviceManagementReportsRequest struct{ BaseRequest }
// Get performs GET request for DeviceManagementReports
func (r *DeviceManagementReportsRequest) Get(ctx context.Context) (resObj *DeviceManagementReports, 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 DeviceManagementReports
func (r *DeviceManagementReportsRequest) Update(ctx context.Context, reqObj *DeviceManagementReports) error {
return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
}
// Delete performs DELETE request for DeviceManagementReports
func (r *DeviceManagementReportsRequest) Delete(ctx context.Context) error {
return r.JSONRequest(ctx, "DELETE", "", nil, nil)
}
// CachedReportConfigurations returns request builder for DeviceManagementCachedReportConfiguration collection
func (b *DeviceManagementReportsRequestBuilder) CachedReportConfigurations() *DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder {
bb := &DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/cachedReportConfigurations"
return bb
}
// DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder is request builder for DeviceManagementCachedReportConfiguration collection
type DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder struct{ BaseRequestBuilder }
// Request returns request for DeviceManagementCachedReportConfiguration collection
func (b *DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder) Request() *DeviceManagementReportsCachedReportConfigurationsCollectionRequest {
return &DeviceManagementReportsCachedReportConfigurationsCollectionRequest{
BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
}
}
// ID returns request builder for DeviceManagementCachedReportConfiguration item
func (b *DeviceManagementReportsCachedReportConfigurationsCollectionRequestBuilder) ID(id string) *DeviceManagementCachedReportConfigurationRequestBuilder {
bb := &DeviceManagementCachedReportConfigurationRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/" + id
return bb
}
// DeviceManagementReportsCachedReportConfigurationsCollectionRequest is request for DeviceManagementCachedReportConfiguration collection
type DeviceManagementReportsCachedReportConfigurationsCollectionRequest struct{ BaseRequest }
// Paging perfoms paging operation for DeviceManagementCachedReportConfiguration collection
func (r *DeviceManagementReportsCachedReportConfigurationsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]DeviceManagementCachedReportConfiguration, 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 []DeviceManagementCachedReportConfiguration
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 []DeviceManagementCachedReportConfiguration
)
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 DeviceManagementCachedReportConfiguration collection
func (r *DeviceManagementReportsCachedReportConfigurationsCollectionRequest) Get(ctx context.Context) ([]DeviceManagementCachedReportConfiguration, error) {
var query string
if r.query != nil {
query = "?" + r.query.Encode()
}
return r.Paging(ctx, "GET", query, nil)
}
// Add performs POST request for DeviceManagementCachedReportConfiguration collection
func (r *DeviceManagementReportsCachedReportConfigurationsCollectionRequest) Add(ctx context.Context, reqObj *DeviceManagementCachedReportConfiguration) (resObj *DeviceManagementCachedReportConfiguration, err error) {
err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
return
}
// ExportJobs returns request builder for DeviceManagementExportJob collection
func (b *DeviceManagementReportsRequestBuilder) ExportJobs() *DeviceManagementReportsExportJobsCollectionRequestBuilder {
bb := &DeviceManagementReportsExportJobsCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/exportJobs"
return bb
}
// DeviceManagementReportsExportJobsCollectionRequestBuilder is request builder for DeviceManagementExportJob collection
type DeviceManagementReportsExportJobsCollectionRequestBuilder struct{ BaseRequestBuilder }
// Request returns request for DeviceManagementExportJob collection
func (b *DeviceManagementReportsExportJobsCollectionRequestBuilder) Request() *DeviceManagementReportsExportJobsCollectionRequest {
return &DeviceManagementReportsExportJobsCollectionRequest{
BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
}
}
// ID returns request builder for DeviceManagementExportJob item
func (b *DeviceManagementReportsExportJobsCollectionRequestBuilder) ID(id string) *DeviceManagementExportJobRequestBuilder {
bb := &DeviceManagementExportJobRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/" + id
return bb
}
// DeviceManagementReportsExportJobsCollectionRequest is request for DeviceManagementExportJob collection
type DeviceManagementReportsExportJobsCollectionRequest struct{ BaseRequest }
// Paging perfoms paging operation for DeviceManagementExportJob collection
func (r *DeviceManagementReportsExportJobsCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]DeviceManagementExportJob, 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 []DeviceManagementExportJob
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 []DeviceManagementExportJob
)
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 DeviceManagementExportJob collection
func (r *DeviceManagementReportsExportJobsCollectionRequest) Get(ctx context.Context) ([]DeviceManagementExportJob, error) {
var query string
if r.query != nil {
query = "?" + r.query.Encode()
}
return r.Paging(ctx, "GET", query, nil)
}
// Add performs POST request for DeviceManagementExportJob collection
func (r *DeviceManagementReportsExportJobsCollectionRequest) Add(ctx context.Context, reqObj *DeviceManagementExportJob) (resObj *DeviceManagementExportJob, err error) {
err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
return
}
// ReportSchedules returns request builder for DeviceManagementReportSchedule collection
func (b *DeviceManagementReportsRequestBuilder) ReportSchedules() *DeviceManagementReportsReportSchedulesCollectionRequestBuilder {
bb := &DeviceManagementReportsReportSchedulesCollectionRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/reportSchedules"
return bb
}
// DeviceManagementReportsReportSchedulesCollectionRequestBuilder is request builder for DeviceManagementReportSchedule collection
type DeviceManagementReportsReportSchedulesCollectionRequestBuilder struct{ BaseRequestBuilder }
// Request returns request for DeviceManagementReportSchedule collection
func (b *DeviceManagementReportsReportSchedulesCollectionRequestBuilder) Request() *DeviceManagementReportsReportSchedulesCollectionRequest {
return &DeviceManagementReportsReportSchedulesCollectionRequest{
BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
}
}
// ID returns request builder for DeviceManagementReportSchedule item
func (b *DeviceManagementReportsReportSchedulesCollectionRequestBuilder) ID(id string) *DeviceManagementReportScheduleRequestBuilder {
bb := &DeviceManagementReportScheduleRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
bb.baseURL += "/" + id
return bb
}
// DeviceManagementReportsReportSchedulesCollectionRequest is request for DeviceManagementReportSchedule collection
type DeviceManagementReportsReportSchedulesCollectionRequest struct{ BaseRequest }
// Paging perfoms paging operation for DeviceManagementReportSchedule collection
func (r *DeviceManagementReportsReportSchedulesCollectionRequest) Paging(ctx context.Context, method, path string, obj interface{}) ([]DeviceManagementReportSchedule, 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 []DeviceManagementReportSchedule
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 []DeviceManagementReportSchedule
)
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 DeviceManagementReportSchedule collection
func (r *DeviceManagementReportsReportSchedulesCollectionRequest) Get(ctx context.Context) ([]DeviceManagementReportSchedule, error) {
var query string
if r.query != nil {
query = "?" + r.query.Encode()
}
return r.Paging(ctx, "GET", query, nil)
}
// Add performs POST request for DeviceManagementReportSchedule collection
func (r *DeviceManagementReportsReportSchedulesCollectionRequest) Add(ctx context.Context, reqObj *DeviceManagementReportSchedule) (resObj *DeviceManagementReportSchedule, err error) {
err = r.JSONRequest(ctx, "POST", "", reqObj, &resObj)
return
}