2019-12-26 14:12:28 -08:00
// Code generated by msgraph-generate.go DO NOT EDIT.
package msgraph
import (
"context"
"fmt"
"io/ioutil"
"net/http"
2020-03-15 15:43:46 -07:00
"github.com/yaegashi/msgraph.go/jsonx"
2019-12-26 14:12:28 -08:00
)
// ManagedDeviceCertificateStates returns request builder for ManagedDeviceCertificateState collection
func ( b * Windows81SCEPCertificateProfileRequestBuilder ) ManagedDeviceCertificateStates ( ) * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder {
bb := & Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder { BaseRequestBuilder : b . BaseRequestBuilder }
bb . baseURL += "/managedDeviceCertificateStates"
return bb
}
// Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder is request builder for ManagedDeviceCertificateState collection
type Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder struct { BaseRequestBuilder }
// Request returns request for ManagedDeviceCertificateState collection
func ( b * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder ) Request ( ) * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest {
return & Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest {
BaseRequest : BaseRequest { baseURL : b . baseURL , client : b . client } ,
}
}
// ID returns request builder for ManagedDeviceCertificateState item
func ( b * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequestBuilder ) ID ( id string ) * ManagedDeviceCertificateStateRequestBuilder {
bb := & ManagedDeviceCertificateStateRequestBuilder { BaseRequestBuilder : b . BaseRequestBuilder }
bb . baseURL += "/" + id
return bb
}
// Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest is request for ManagedDeviceCertificateState collection
type Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest struct { BaseRequest }
// Paging perfoms paging operation for ManagedDeviceCertificateState collection
2020-03-15 15:43:46 -07:00
func ( r * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest ) Paging ( ctx context . Context , method , path string , obj interface { } , n int ) ( [ ] ManagedDeviceCertificateState , error ) {
2019-12-26 14:12:28 -08:00
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 [ ] ManagedDeviceCertificateState
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 [ ] ManagedDeviceCertificateState
)
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 ... )
2020-03-15 15:43:46 -07:00
if n >= 0 {
n --
}
if n == 0 || len ( paging . NextLink ) == 0 {
2019-12-26 14:12:28 -08:00
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
}
}
}
2020-03-15 15:43:46 -07:00
// GetN performs GET request for ManagedDeviceCertificateState collection, max N pages
func ( r * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest ) GetN ( ctx context . Context , n int ) ( [ ] ManagedDeviceCertificateState , error ) {
2019-12-26 14:12:28 -08:00
var query string
if r . query != nil {
query = "?" + r . query . Encode ( )
}
2020-03-15 15:43:46 -07:00
return r . Paging ( ctx , "GET" , query , nil , n )
}
// Get performs GET request for ManagedDeviceCertificateState collection
func ( r * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest ) Get ( ctx context . Context ) ( [ ] ManagedDeviceCertificateState , error ) {
return r . GetN ( ctx , 0 )
2019-12-26 14:12:28 -08:00
}
// Add performs POST request for ManagedDeviceCertificateState collection
func ( r * Windows81SCEPCertificateProfileManagedDeviceCertificateStatesCollectionRequest ) Add ( ctx context . Context , reqObj * ManagedDeviceCertificateState ) ( resObj * ManagedDeviceCertificateState , err error ) {
err = r . JSONRequest ( ctx , "POST" , "" , reqObj , & resObj )
return
}
// RootCertificate is navigation property
func ( b * Windows81SCEPCertificateProfileRequestBuilder ) RootCertificate ( ) * Windows81TrustedRootCertificateRequestBuilder {
bb := & Windows81TrustedRootCertificateRequestBuilder { BaseRequestBuilder : b . BaseRequestBuilder }
bb . baseURL += "/rootCertificate"
return bb
}