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

package msgraph

import "context"

// ItemRequestBuilder is request builder for Item
type ItemRequestBuilder struct{ BaseRequestBuilder }

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

// ItemRequest is request for Item
type ItemRequest struct{ BaseRequest }

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

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

// ItemActivityRequestBuilder is request builder for ItemActivity
type ItemActivityRequestBuilder struct{ BaseRequestBuilder }

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

// ItemActivityRequest is request for ItemActivity
type ItemActivityRequest struct{ BaseRequest }

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

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

// ItemActivityOLDRequestBuilder is request builder for ItemActivityOLD
type ItemActivityOLDRequestBuilder struct{ BaseRequestBuilder }

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

// ItemActivityOLDRequest is request for ItemActivityOLD
type ItemActivityOLDRequest struct{ BaseRequest }

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

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

// ItemActivityStatRequestBuilder is request builder for ItemActivityStat
type ItemActivityStatRequestBuilder struct{ BaseRequestBuilder }

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

// ItemActivityStatRequest is request for ItemActivityStat
type ItemActivityStatRequest struct{ BaseRequest }

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

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

// ItemAnalyticsRequestBuilder is request builder for ItemAnalytics
type ItemAnalyticsRequestBuilder struct{ BaseRequestBuilder }

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

// ItemAnalyticsRequest is request for ItemAnalytics
type ItemAnalyticsRequest struct{ BaseRequest }

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

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

// ItemAttachmentRequestBuilder is request builder for ItemAttachment
type ItemAttachmentRequestBuilder struct{ BaseRequestBuilder }

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

// ItemAttachmentRequest is request for ItemAttachment
type ItemAttachmentRequest struct{ BaseRequest }

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

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

// ItemCategoryRequestBuilder is request builder for ItemCategory
type ItemCategoryRequestBuilder struct{ BaseRequestBuilder }

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

// ItemCategoryRequest is request for ItemCategory
type ItemCategoryRequest struct{ BaseRequest }

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

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

// ItemEmailRequestBuilder is request builder for ItemEmail
type ItemEmailRequestBuilder struct{ BaseRequestBuilder }

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

// ItemEmailRequest is request for ItemEmail
type ItemEmailRequest struct{ BaseRequest }

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

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

// ItemPhoneRequestBuilder is request builder for ItemPhone
type ItemPhoneRequestBuilder struct{ BaseRequestBuilder }

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

// ItemPhoneRequest is request for ItemPhone
type ItemPhoneRequest struct{ BaseRequest }

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

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