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

package msgraph

import "context"

// DimensionRequestBuilder is request builder for Dimension
type DimensionRequestBuilder struct{ BaseRequestBuilder }

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

// DimensionRequest is request for Dimension
type DimensionRequest struct{ BaseRequest }

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

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

// DimensionValueRequestBuilder is request builder for DimensionValue
type DimensionValueRequestBuilder struct{ BaseRequestBuilder }

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

// DimensionValueRequest is request for DimensionValue
type DimensionValueRequest struct{ BaseRequest }

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

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