package domain

import "time"

// SyncJob tracks a single repository sync execution.
type SyncJob struct {
	JobID       string     `bson:"job_id" json:"job_id"`
	RepoID      string     `bson:"repo_id" json:"repo_id"`
	Ref         string     `bson:"ref" json:"ref"`
	Status      string     `bson:"status" json:"status"`
	Error       string     `bson:"error,omitempty" json:"error,omitempty"`
	SnapshotID  string     `bson:"snapshot_id,omitempty" json:"snapshot_id,omitempty"`
	StartedAt   time.Time  `bson:"started_at" json:"started_at"`
	CompletedAt *time.Time `bson:"completed_at,omitempty" json:"completed_at,omitempty"`
}
