// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "context"

// DocumentRequestBuilder is request builder for Document
type DocumentRequestBuilder struct{ BaseRequestBuilder }

// Request returns DocumentRequest
func (b *DocumentRequestBuilder) Request() *DocumentRequest {
	return &DocumentRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
	}
}

// DocumentRequest is request for Document
type DocumentRequest struct{ BaseRequest }

// Get performs GET request for Document
func (r *DocumentRequest) Get(ctx context.Context) (resObj *Document, 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 Document
func (r *DocumentRequest) Update(ctx context.Context, reqObj *Document) error {
	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
}

// Delete performs DELETE request for Document
func (r *DocumentRequest) Delete(ctx context.Context) error {
	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
}

// DocumentCommentRequestBuilder is request builder for DocumentComment
type DocumentCommentRequestBuilder struct{ BaseRequestBuilder }

// Request returns DocumentCommentRequest
func (b *DocumentCommentRequestBuilder) Request() *DocumentCommentRequest {
	return &DocumentCommentRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
	}
}

// DocumentCommentRequest is request for DocumentComment
type DocumentCommentRequest struct{ BaseRequest }

// Get performs GET request for DocumentComment
func (r *DocumentCommentRequest) Get(ctx context.Context) (resObj *DocumentComment, 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 DocumentComment
func (r *DocumentCommentRequest) Update(ctx context.Context, reqObj *DocumentComment) error {
	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
}

// Delete performs DELETE request for DocumentComment
func (r *DocumentCommentRequest) Delete(ctx context.Context) error {
	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
}

// DocumentCommentReplyRequestBuilder is request builder for DocumentCommentReply
type DocumentCommentReplyRequestBuilder struct{ BaseRequestBuilder }

// Request returns DocumentCommentReplyRequest
func (b *DocumentCommentReplyRequestBuilder) Request() *DocumentCommentReplyRequest {
	return &DocumentCommentReplyRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client},
	}
}

// DocumentCommentReplyRequest is request for DocumentCommentReply
type DocumentCommentReplyRequest struct{ BaseRequest }

// Get performs GET request for DocumentCommentReply
func (r *DocumentCommentReplyRequest) Get(ctx context.Context) (resObj *DocumentCommentReply, 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 DocumentCommentReply
func (r *DocumentCommentReplyRequest) Update(ctx context.Context, reqObj *DocumentCommentReply) error {
	return r.JSONRequest(ctx, "PATCH", "", reqObj, nil)
}

// Delete performs DELETE request for DocumentCommentReply
func (r *DocumentCommentReplyRequest) Delete(ctx context.Context) error {
	return r.JSONRequest(ctx, "DELETE", "", nil, nil)
}