// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// Agreement undocumented
type Agreement struct {
	// Entity is the base model of Agreement
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// IsViewingBeforeAcceptanceRequired undocumented
	IsViewingBeforeAcceptanceRequired *bool `json:"isViewingBeforeAcceptanceRequired,omitempty"`
	// Files undocumented
	Files []AgreementFile `json:"files,omitempty"`
}

// AgreementAcceptance undocumented
type AgreementAcceptance struct {
	// Entity is the base model of AgreementAcceptance
	Entity
	// AgreementID undocumented
	AgreementID *string `json:"agreementId,omitempty"`
	// UserID undocumented
	UserID *string `json:"userId,omitempty"`
	// AgreementFileID undocumented
	AgreementFileID *string `json:"agreementFileId,omitempty"`
	// RecordedDateTime undocumented
	RecordedDateTime *time.Time `json:"recordedDateTime,omitempty"`
	// UserDisplayName undocumented
	UserDisplayName *string `json:"userDisplayName,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// UserEmail undocumented
	UserEmail *string `json:"userEmail,omitempty"`
	// State undocumented
	State *AgreementAcceptanceState `json:"state,omitempty"`
}

// AgreementFile undocumented
type AgreementFile struct {
	// Entity is the base model of AgreementFile
	Entity
	// Language undocumented
	Language *string `json:"language,omitempty"`
	// FileName undocumented
	FileName *string `json:"fileName,omitempty"`
	// FileData undocumented
	FileData *AgreementFileData `json:"fileData,omitempty"`
	// IsDefault undocumented
	IsDefault *bool `json:"isDefault,omitempty"`
}

// AgreementFileData undocumented
type AgreementFileData struct {
	// Object is the base model of AgreementFileData
	Object
	// Data undocumented
	Data *Binary `json:"data,omitempty"`
}