package domain

import "time"

// ExternalSystem identifies an external dependency.
type ExternalSystem string

const (
	ExternalSystemRegistry ExternalSystem = "registry"
	ExternalSystemCI       ExternalSystem = "ci"
	ExternalSystemGit      ExternalSystem = "git"
)

// ExternalSystemStatus represents the health of an external system.
type ExternalSystemStatus struct {
	System      ExternalSystem `json:"system"`
	Healthy     bool           `json:"healthy"`
	URL         string         `json:"url"`
	Latency     time.Duration  `json:"latency"`
	Error       string         `json:"error,omitempty"`
	LastChecked time.Time      `json:"last_checked"`
	LastHealthy time.Time      `json:"last_healthy,omitempty"`
}
