package database // DeliveryStatus represents the status of a delivery type DeliveryStatus string // Delivery status values. const ( DeliveryStatusPending DeliveryStatus = "pending" DeliveryStatusDelivered DeliveryStatus = "delivered" DeliveryStatusFailed DeliveryStatus = "failed" DeliveryStatusRetrying DeliveryStatus = "retrying" ) // Delivery represents a delivery attempt for an event to a target type Delivery struct { BaseModel EventID string `gorm:"type:uuid;not null" json:"eventId"` TargetID string `gorm:"type:uuid;not null" json:"targetId"` Status DeliveryStatus `gorm:"not null;default:'pending'" json:"status"` // Relations Event Event `json:"event,omitzero"` Target Target `json:"target,omitzero"` DeliveryResults []DeliveryResult `json:"deliveryResults,omitempty"` }