package model

import (
	"time"

	"go.mongodb.org/mongo-driver/bson/primitive"
)

type JobExecution struct {
	ID             primitive.ObjectID `bson:"_id,omitempty" json:"id"`
	JobConfigID    primitive.ObjectID `bson:"jobConfigId" json:"jobConfigId"`
	TriggerType    string             `bson:"triggerType" json:"triggerType"`
	Status         string             `bson:"status" json:"status"`
	ParamsSnapshot string             `bson:"paramsSnapshot" json:"paramsSnapshot"`
	StartedAt      *time.Time         `bson:"startedAt,omitempty" json:"startedAt,omitempty"`
	FinishedAt     *time.Time         `bson:"finishedAt,omitempty" json:"finishedAt,omitempty"`
	DurationMs     int64              `bson:"durationMs" json:"durationMs"`
	ResultSummary  string             `bson:"resultSummary" json:"resultSummary"`
	ErrorMessage   string             `bson:"errorMessage" json:"errorMessage"`
	LogText        string             `bson:"logText" json:"logText"`
	LogFile        string             `bson:"logFile,omitempty" json:"logFile,omitempty"`
	CreatedAt      time.Time          `bson:"createdAt" json:"createdAt"`
}
