package structs

import "github.com/tidbcloud/observability/pkg/common/constants"

type Evaluation struct {
	ID    string                    `json:"id" yaml:"id"`
	Name  string                    `json:"name" yaml:"name"`
	User  string                    `json:"user" yaml:"user"`
	Phase constants.EvaluationPhase `json:"phase"`

	Model        string `json:"model" yaml:"model"`
	ModelVersion string `json:"modelVersion" yaml:"modelVersion"`
	Dataset      string `json:"dataset" yaml:"dataset"`
	Template     string `json:"template" yaml:"template"`

	AddedQuestion   string                      `json:"addedQuestion" form:"addedQuestion" yaml:"addedQuestion"`
	DatasetCategory []constants.DatasetCategory `json:"datasetCategory" form:"datasetCategory" yaml:"datasetCategory"`
	StartDate       string                      `json:"startDate" form:"startDate" yaml:"startDate"`
	EndDate         string                      `json:"endDate" form:"endDate" yaml:"endDate"`

	ModelMetaFilePath string `json:"modelMetaFilePath" yaml:"modelMetaFilePath"`
	TemplateFilePath  string `json:"templateFilePath" yaml:"templateFilePath"`

	DatasetMetaFilePath string `json:"datasetMetaFilePath" yaml:"datasetMetaFilePath"`
	BenchmarkFilePath   string `json:"benchmarkFilePath" yaml:"benchmarkFilePath"`
	TablesFilePath      string `json:"tablesFilePath" yaml:"tablesFilePath"`

	ResultFilePath string `json:"resultFilePath" yaml:"resultFilePath"`

	Result        string                 `json:"result" yaml:"result"`
	ResultSummary map[string]interface{} `json:"resultSummary" yaml:"resultSummary"`
}

type DatasetRecord struct {
	QuestionID      string `json:"questionID"`
	UserID          string `json:"userID"`
	Title           string `json:"title"`
	QuerySql        string `json:"querySql"`
	Result          string `json:"result"`
	Status          string `json:"status"`
	FeedbackType    string `json:"feedbackType"`
	FeedbackContent string `json:"feedbackContent"`
	CreatedAt       string `json:"createdAt"`
}
