package queryv1

// HistoryColumn identifies a member of the neutral HistoryRow result.
// Presentation names belong to the caller; result members belong to Runtime.
type HistoryColumn string

const (
	HistoryColumnID          HistoryColumn = "id"
	HistoryColumnParentID    HistoryColumn = "parent_id"
	HistoryColumnField       HistoryColumn = "field"
	HistoryColumnOldValue    HistoryColumn = "old_value"
	HistoryColumnNewValue    HistoryColumn = "new_value"
	HistoryColumnDataType    HistoryColumn = "data_type"
	HistoryColumnCreatedDate HistoryColumn = "created_date"
	HistoryColumnCreatedByID HistoryColumn = "created_by_id"
)

const HistoryResultColumnCount = 8

func (column HistoryColumn) Valid() bool {
	switch column {
	case HistoryColumnID, HistoryColumnParentID, HistoryColumnField, HistoryColumnOldValue, HistoryColumnNewValue, HistoryColumnDataType, HistoryColumnCreatedDate, HistoryColumnCreatedByID:
		return true
	default:
		return false
	}
}
