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

package msgraph

import "context"

// EducationSubmissionReturnRequestParameter undocumented
type EducationSubmissionReturnRequestParameter struct {
}

// EducationSubmissionSubmitRequestParameter undocumented
type EducationSubmissionSubmitRequestParameter struct {
}

// EducationSubmissionUnsubmitRequestParameter undocumented
type EducationSubmissionUnsubmitRequestParameter struct {
}

//
type EducationSubmissionReturnRequestBuilder struct{ BaseRequestBuilder }

// Return action undocumented
func (b *EducationSubmissionRequestBuilder) Return(reqObj *EducationSubmissionReturnRequestParameter) *EducationSubmissionReturnRequestBuilder {
	bb := &EducationSubmissionReturnRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/return"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type EducationSubmissionReturnRequest struct{ BaseRequest }

//
func (b *EducationSubmissionReturnRequestBuilder) Request() *EducationSubmissionReturnRequest {
	return &EducationSubmissionReturnRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *EducationSubmissionReturnRequest) Post(ctx context.Context) (resObj *EducationSubmission, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}

//
type EducationSubmissionSubmitRequestBuilder struct{ BaseRequestBuilder }

// Submit action undocumented
func (b *EducationSubmissionRequestBuilder) Submit(reqObj *EducationSubmissionSubmitRequestParameter) *EducationSubmissionSubmitRequestBuilder {
	bb := &EducationSubmissionSubmitRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/submit"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type EducationSubmissionSubmitRequest struct{ BaseRequest }

//
func (b *EducationSubmissionSubmitRequestBuilder) Request() *EducationSubmissionSubmitRequest {
	return &EducationSubmissionSubmitRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *EducationSubmissionSubmitRequest) Post(ctx context.Context) (resObj *EducationSubmission, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}

//
type EducationSubmissionUnsubmitRequestBuilder struct{ BaseRequestBuilder }

// Unsubmit action undocumented
func (b *EducationSubmissionRequestBuilder) Unsubmit(reqObj *EducationSubmissionUnsubmitRequestParameter) *EducationSubmissionUnsubmitRequestBuilder {
	bb := &EducationSubmissionUnsubmitRequestBuilder{BaseRequestBuilder: b.BaseRequestBuilder}
	bb.BaseRequestBuilder.baseURL += "/unsubmit"
	bb.BaseRequestBuilder.requestObject = reqObj
	return bb
}

//
type EducationSubmissionUnsubmitRequest struct{ BaseRequest }

//
func (b *EducationSubmissionUnsubmitRequestBuilder) Request() *EducationSubmissionUnsubmitRequest {
	return &EducationSubmissionUnsubmitRequest{
		BaseRequest: BaseRequest{baseURL: b.baseURL, client: b.client, requestObject: b.requestObject},
	}
}

//
func (r *EducationSubmissionUnsubmitRequest) Post(ctx context.Context) (resObj *EducationSubmission, err error) {
	err = r.JSONRequest(ctx, "POST", "", r.requestObject, &resObj)
	return
}