// Code generated by cmd/asyncapi-event-contracts from specs/asyncapi/package-hub.v1.yaml; DO NOT EDIT.

package packagehub

const SchemaVersion = 1

const (
	EventSourceConnected         = "package.source.connected"
	EventSourceUpdated           = "package.source.updated"
	EventSourceDisabled          = "package.source.disabled"
	EventCatalogSynced           = "package.catalog.synced"
	EventPackageDiscovered       = "package.package.discovered"
	EventPackageUpdated          = "package.package.updated"
	EventVersionDiscovered       = "package.version.discovered"
	EventVersionUpdated          = "package.version.updated"
	EventVersionRevoked          = "package.version.revoked"
	EventVerificationUpdated     = "package.verification.updated"
	EventInstallationRequested   = "package.installation.requested"
	EventInstallationActivated   = "package.installation.activated"
	EventInstallationUpdated     = "package.installation.updated"
	EventInstallationDisabled    = "package.installation.disabled"
	EventInstallationUninstalled = "package.installation.uninstalled"
	EventSecretSchemaUpdated     = "package.secret_schema.updated"
)

const (
	AggregatePackage             = "package"
	AggregatePackageInstallation = "package_installation"
	AggregatePackageSource       = "package_source"
	AggregatePackageVersion      = "package_version"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	DesiredState        string `json:"desired_state,omitempty"`
	InstallationID      string `json:"installation_id,omitempty"`
	InstallationStatus  string `json:"installation_status,omitempty"`
	ManifestDigest      string `json:"manifest_digest,omitempty"`
	PackageCount        int64  `json:"package_count,omitempty"`
	PackageID           string `json:"package_id,omitempty"`
	PackageKind         string `json:"package_kind,omitempty"`
	PackageVersionID    string `json:"package_version_id,omitempty"`
	ReasonCode          string `json:"reason_code,omitempty"`
	ReleaseStatus       string `json:"release_status,omitempty"`
	Revision            int64  `json:"revision,omitempty"`
	SchemaDigest        string `json:"schema_digest,omitempty"`
	ScopeRef            string `json:"scope_ref,omitempty"`
	ScopeType           string `json:"scope_type,omitempty"`
	SecretBindingStatus string `json:"secret_binding_status,omitempty"`
	Slug                string `json:"slug,omitempty"`
	SourceID            string `json:"source_id,omitempty"`
	SourceKind          string `json:"source_kind,omitempty"`
	Status              string `json:"status,omitempty"`
	SyncedAt            string `json:"synced_at,omitempty"`
	TrustStatus         string `json:"trust_status,omitempty"`
	VerificationStatus  string `json:"verification_status,omitempty"`
	Version             int64  `json:"version,omitempty"`
	VersionCount        int64  `json:"version_count,omitempty"`
	VersionLabel        string `json:"version_label,omitempty"`
}
