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

package project

const SchemaVersion = 1

const (
	EventProjectCreated              = "project.project.created"
	EventProjectUpdated              = "project.project.updated"
	EventProjectArchived             = "project.project.archived"
	EventProjectDisabled             = "project.project.disabled"
	EventRepositoryAttached          = "project.repository.attached"
	EventRepositoryUpdated           = "project.repository.updated"
	EventRepositoryDetached          = "project.repository.detached"
	EventServicesPolicyImported      = "project.services_policy.imported"
	EventPolicyOverrideCreated       = "project.policy_override.created"
	EventPolicyOverrideExpired       = "project.policy_override.expired"
	EventPolicyOverrideCancelled     = "project.policy_override.cancelled"
	EventDocumentationSourceCreated  = "project.documentation_source.created"
	EventDocumentationSourceUpdated  = "project.documentation_source.updated"
	EventDocumentationSourceDisabled = "project.documentation_source.disabled"
	EventBranchRulesCreated          = "project.branch_rules.created"
	EventBranchRulesUpdated          = "project.branch_rules.updated"
	EventBranchRulesDisabled         = "project.branch_rules.disabled"
	EventReleasePolicyCreated        = "project.release_policy.created"
	EventReleasePolicyUpdated        = "project.release_policy.updated"
	EventReleasePolicyArchived       = "project.release_policy.archived"
	EventReleasePolicyDisabled       = "project.release_policy.disabled"
	EventReleaseLineCreated          = "project.release_line.created"
	EventReleaseLineUpdated          = "project.release_line.updated"
	EventReleaseLineArchived         = "project.release_line.archived"
	EventReleaseLineDisabled         = "project.release_line.disabled"
	EventPlacementPolicyCreated      = "project.placement_policy.created"
	EventPlacementPolicyUpdated      = "project.placement_policy.updated"
	EventPlacementPolicyDisabled     = "project.placement_policy.disabled"
)

const (
	AggregateBranchRules         = "branch_rules"
	AggregateDocumentationSource = "documentation_source"
	AggregatePlacementPolicy     = "placement_policy"
	AggregatePolicyOverride      = "policy_override"
	AggregateProject             = "project"
	AggregateReleaseLine         = "release_line"
	AggregateReleasePolicy       = "release_policy"
	AggregateRepository          = "repository"
	AggregateServicesPolicy      = "services_policy"
)

// Payload is the generated common payload envelope for domain events.
type Payload struct {
	AccessMode                   string `json:"access_mode,omitempty"`
	BranchRulesID                string `json:"branch_rules_id,omitempty"`
	ContentHash                  string `json:"content_hash,omitempty"`
	ExpiresAt                    string `json:"expires_at,omitempty"`
	IconObjectURI                string `json:"icon_object_uri,omitempty"`
	OrganizationID               string `json:"organization_id,omitempty"`
	OverrideID                   string `json:"override_id,omitempty"`
	PlacementPolicyID            string `json:"placement_policy_id,omitempty"`
	PolicyID                     string `json:"policy_id,omitempty"`
	PolicyVersion                int64  `json:"policy_version,omitempty"`
	ProjectID                    string `json:"project_id,omitempty"`
	Provider                     string `json:"provider,omitempty"`
	ProviderName                 string `json:"provider_name,omitempty"`
	ProviderOwner                string `json:"provider_owner,omitempty"`
	ProviderWebURL               string `json:"provider_web_url,omitempty"`
	ProviderWorkItemProjectionID string `json:"provider_work_item_projection_id,omitempty"`
	ReleaseLineID                string `json:"release_line_id,omitempty"`
	ReleasePolicyID              string `json:"release_policy_id,omitempty"`
	RepositoryID                 string `json:"repository_id,omitempty"`
	ScopeType                    string `json:"scope_type,omitempty"`
	Slug                         string `json:"slug,omitempty"`
	SourceBlobSHA                string `json:"source_blob_sha,omitempty"`
	SourceCommitSHA              string `json:"source_commit_sha,omitempty"`
	SourceID                     string `json:"source_id,omitempty"`
	SourcePath                   string `json:"source_path,omitempty"`
	SourceRef                    string `json:"source_ref,omitempty"`
	Status                       string `json:"status,omitempty"`
	Summary                      string `json:"summary,omitempty"`
	TargetType                   string `json:"target_type,omitempty"`
	Version                      int64  `json:"version,omitempty"`
}
