workflowgenerated

package
v1.5.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 28, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Code generated by ent. DO NOT EDIT. This file is generated to provide type-safe workflow domains for approval scopes.

Code generated by ent. DO NOT EDIT. This should be above the package name declaration for go tooling to treat this as generated. This file is generated to detect edge mutations for workflow triggers.

Code generated by ent. DO NOT EDIT. This file is generated to keep workflow registries in sync with ent schemas.

Index

Constants

This section is empty.

Variables

View Source
var (
	// DomainActionPlanStatus is the approval domain for ActionPlan.status
	DomainActionPlanStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeActionPlan,
		Fields:     []string{"status"},
	}
	// DomainActionPlanDetails is the approval domain for ActionPlan.details
	DomainActionPlanDetails = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeActionPlan,
		Fields:     []string{"details"},
	}
	// DomainActionPlanDetailsJSON is the approval domain for ActionPlan.details_json
	DomainActionPlanDetailsJSON = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeActionPlan,
		Fields:     []string{"details_json"},
	}
	// DomainActionPlanWorkflowEligibleMarker is the approval domain for ActionPlan.workflow_eligible_marker
	DomainActionPlanWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeActionPlan,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainCampaignWorkflowEligibleMarker is the approval domain for Campaign.workflow_eligible_marker
	DomainCampaignWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainCampaignStatus is the approval domain for Campaign.status
	DomainCampaignStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"status"},
	}
	// DomainCampaignIsActive is the approval domain for Campaign.is_active
	DomainCampaignIsActive = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"is_active"},
	}
	// DomainCampaignScheduledAt is the approval domain for Campaign.scheduled_at
	DomainCampaignScheduledAt = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"scheduled_at"},
	}
	// DomainCampaignDueDate is the approval domain for Campaign.due_date
	DomainCampaignDueDate = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"due_date"},
	}
	// DomainCampaignIsRecurring is the approval domain for Campaign.is_recurring
	DomainCampaignIsRecurring = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"is_recurring"},
	}
	// DomainCampaignRecurrenceFrequency is the approval domain for Campaign.recurrence_frequency
	DomainCampaignRecurrenceFrequency = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"recurrence_frequency"},
	}
	// DomainCampaignRecipientCount is the approval domain for Campaign.recipient_count
	DomainCampaignRecipientCount = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"recipient_count"},
	}
	// DomainCampaignResendCount is the approval domain for Campaign.resend_count
	DomainCampaignResendCount = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaign,
		Fields:     []string{"resend_count"},
	}
	// DomainCampaignTargetWorkflowEligibleMarker is the approval domain for CampaignTarget.workflow_eligible_marker
	DomainCampaignTargetWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaignTarget,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainCampaignTargetStatus is the approval domain for CampaignTarget.status
	DomainCampaignTargetStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaignTarget,
		Fields:     []string{"status"},
	}
	// DomainCampaignTargetSentAt is the approval domain for CampaignTarget.sent_at
	DomainCampaignTargetSentAt = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaignTarget,
		Fields:     []string{"sent_at"},
	}
	// DomainCampaignTargetCompletedAt is the approval domain for CampaignTarget.completed_at
	DomainCampaignTargetCompletedAt = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeCampaignTarget,
		Fields:     []string{"completed_at"},
	}
	// DomainControlTitle is the approval domain for Control.title
	DomainControlTitle = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"title"},
	}
	// DomainControlReferenceID is the approval domain for Control.reference_id
	DomainControlReferenceID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"reference_id"},
	}
	// DomainControlAuditorReferenceID is the approval domain for Control.auditor_reference_id
	DomainControlAuditorReferenceID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"auditor_reference_id"},
	}
	// DomainControlResponsiblePartyID is the approval domain for Control.responsible_party_id
	DomainControlResponsiblePartyID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"responsible_party_id"},
	}
	// DomainControlStatus is the approval domain for Control.status
	DomainControlStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"status"},
	}
	// DomainControlReferenceFramework is the approval domain for Control.reference_framework
	DomainControlReferenceFramework = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"reference_framework"},
	}
	// DomainControlReferenceFrameworkRevision is the approval domain for Control.reference_framework_revision
	DomainControlReferenceFrameworkRevision = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"reference_framework_revision"},
	}
	// DomainControlCategory is the approval domain for Control.category
	DomainControlCategory = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"category"},
	}
	// DomainControlCategoryID is the approval domain for Control.category_id
	DomainControlCategoryID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"category_id"},
	}
	// DomainControlSubcategory is the approval domain for Control.subcategory
	DomainControlSubcategory = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"subcategory"},
	}
	// DomainControlControlOwnerID is the approval domain for Control.control_owner_id
	DomainControlControlOwnerID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"control_owner_id"},
	}
	// DomainControlWorkflowEligibleMarker is the approval domain for Control.workflow_eligible_marker
	DomainControlWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeControl,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainEvidenceWorkflowEligibleMarker is the approval domain for Evidence.workflow_eligible_marker
	DomainEvidenceWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeEvidence,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainIdentityHolderWorkflowEligibleMarker is the approval domain for IdentityHolder.workflow_eligible_marker
	DomainIdentityHolderWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeIdentityHolder,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainIdentityHolderStatus is the approval domain for IdentityHolder.status
	DomainIdentityHolderStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeIdentityHolder,
		Fields:     []string{"status"},
	}
	// DomainIdentityHolderIsActive is the approval domain for IdentityHolder.is_active
	DomainIdentityHolderIsActive = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeIdentityHolder,
		Fields:     []string{"is_active"},
	}
	// DomainIdentityHolderStartDate is the approval domain for IdentityHolder.start_date
	DomainIdentityHolderStartDate = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeIdentityHolder,
		Fields:     []string{"start_date"},
	}
	// DomainIdentityHolderEndDate is the approval domain for IdentityHolder.end_date
	DomainIdentityHolderEndDate = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeIdentityHolder,
		Fields:     []string{"end_date"},
	}
	// DomainInternalPolicyStatus is the approval domain for InternalPolicy.status
	DomainInternalPolicyStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeInternalPolicy,
		Fields:     []string{"status"},
	}
	// DomainInternalPolicyDetails is the approval domain for InternalPolicy.details
	DomainInternalPolicyDetails = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeInternalPolicy,
		Fields:     []string{"details"},
	}
	// DomainInternalPolicyDetailsJSON is the approval domain for InternalPolicy.details_json
	DomainInternalPolicyDetailsJSON = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeInternalPolicy,
		Fields:     []string{"details_json"},
	}
	// DomainInternalPolicyWorkflowEligibleMarker is the approval domain for InternalPolicy.workflow_eligible_marker
	DomainInternalPolicyWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeInternalPolicy,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainPlatformWorkflowEligibleMarker is the approval domain for Platform.workflow_eligible_marker
	DomainPlatformWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypePlatform,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainPlatformBusinessPurpose is the approval domain for Platform.business_purpose
	DomainPlatformBusinessPurpose = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypePlatform,
		Fields:     []string{"business_purpose"},
	}
	// DomainPlatformScopeStatement is the approval domain for Platform.scope_statement
	DomainPlatformScopeStatement = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypePlatform,
		Fields:     []string{"scope_statement"},
	}
	// DomainPlatformStatus is the approval domain for Platform.status
	DomainPlatformStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypePlatform,
		Fields:     []string{"status"},
	}
	// DomainPlatformContainsPii is the approval domain for Platform.contains_pii
	DomainPlatformContainsPii = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypePlatform,
		Fields:     []string{"contains_pii"},
	}
	// DomainProcedureStatus is the approval domain for Procedure.status
	DomainProcedureStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeProcedure,
		Fields:     []string{"status"},
	}
	// DomainProcedureDetails is the approval domain for Procedure.details
	DomainProcedureDetails = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeProcedure,
		Fields:     []string{"details"},
	}
	// DomainProcedureDetailsJSON is the approval domain for Procedure.details_json
	DomainProcedureDetailsJSON = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeProcedure,
		Fields:     []string{"details_json"},
	}
	// DomainProcedureWorkflowEligibleMarker is the approval domain for Procedure.workflow_eligible_marker
	DomainProcedureWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeProcedure,
		Fields:     []string{"workflow_eligible_marker"},
	}
	// DomainSubcontrolTitle is the approval domain for Subcontrol.title
	DomainSubcontrolTitle = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"title"},
	}
	// DomainSubcontrolReferenceID is the approval domain for Subcontrol.reference_id
	DomainSubcontrolReferenceID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"reference_id"},
	}
	// DomainSubcontrolAuditorReferenceID is the approval domain for Subcontrol.auditor_reference_id
	DomainSubcontrolAuditorReferenceID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"auditor_reference_id"},
	}
	// DomainSubcontrolResponsiblePartyID is the approval domain for Subcontrol.responsible_party_id
	DomainSubcontrolResponsiblePartyID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"responsible_party_id"},
	}
	// DomainSubcontrolStatus is the approval domain for Subcontrol.status
	DomainSubcontrolStatus = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"status"},
	}
	// DomainSubcontrolReferenceFramework is the approval domain for Subcontrol.reference_framework
	DomainSubcontrolReferenceFramework = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"reference_framework"},
	}
	// DomainSubcontrolReferenceFrameworkRevision is the approval domain for Subcontrol.reference_framework_revision
	DomainSubcontrolReferenceFrameworkRevision = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"reference_framework_revision"},
	}
	// DomainSubcontrolCategory is the approval domain for Subcontrol.category
	DomainSubcontrolCategory = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"category"},
	}
	// DomainSubcontrolCategoryID is the approval domain for Subcontrol.category_id
	DomainSubcontrolCategoryID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"category_id"},
	}
	// DomainSubcontrolSubcategory is the approval domain for Subcontrol.subcategory
	DomainSubcontrolSubcategory = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"subcategory"},
	}
	// DomainSubcontrolControlOwnerID is the approval domain for Subcontrol.control_owner_id
	DomainSubcontrolControlOwnerID = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"control_owner_id"},
	}
	// DomainSubcontrolWorkflowEligibleMarker is the approval domain for Subcontrol.workflow_eligible_marker
	DomainSubcontrolWorkflowEligibleMarker = WorkflowDomain{
		ObjectType: enums.WorkflowObjectTypeSubcontrol,
		Fields:     []string{"workflow_eligible_marker"},
	}
)

Single-field domain constants for each workflow-eligible field

View Source
var ErrEmptyDomainFields = fmt.Errorf("domain requires at least one field")

ErrEmptyDomainFields is returned when no fields are provided for a domain

View Source
var ErrInvalidDomainField = fmt.Errorf("field is not workflow-eligible for object type")

ErrInvalidDomainField is returned when a field is not workflow-eligible for the object type

View Source
var ErrInvalidObjectType = fmt.Errorf("object type is not workflow-eligible")

ErrInvalidObjectType is returned when an object type is not workflow-eligible

View Source
var WorkflowEligibleEdges = map[string][]string{
	generated.TypeActionPlan: edgeList(
		"approver",
		"delegate",
		"workflow_object_refs",
	),
	generated.TypeControl: edgeList(
		"evidence",
		"control_objectives",
		"tasks",
		"narratives",
		"risks",
		"action_plans",
		"procedures",
		"internal_policies",
		"comments",
		"discussions",
		"control_owner",
		"delegate",
		"responsible_party",
		"workflow_object_refs",
	),
	generated.TypeEvidence: edgeList(
		"workflow_object_refs",
	),
	generated.TypeInternalPolicy: edgeList(
		"approver",
		"delegate",
		"file",
		"comments",
		"discussions",
		"workflow_object_refs",
	),
	generated.TypeProcedure: edgeList(
		"approver",
		"delegate",
		"controls",
		"subcontrols",
		"internal_policies",
		"programs",
		"narratives",
		"risks",
		"tasks",
		"comments",
		"discussions",
		"file",
		"workflow_object_refs",
	),
	generated.TypeSubcontrol: edgeList(
		"evidence",
		"control_objectives",
		"tasks",
		"narratives",
		"risks",
		"action_plans",
		"procedures",
		"internal_policies",
		"comments",
		"discussions",
		"control_owner",
		"delegate",
		"responsible_party",
		"control",
		"control_implementations",
		"mapped_to_subcontrols",
		"mapped_from_subcontrols",
		"workflow_object_refs",
	),
}
View Source
var WorkflowEligibleFields = map[enums.WorkflowObjectType]map[string]struct{}{
	enums.WorkflowObjectTypeActionPlan: {
		"status":                   {},
		"details":                  {},
		"details_json":             {},
		"workflow_eligible_marker": {},
	},
	enums.WorkflowObjectTypeCampaign: {
		"workflow_eligible_marker": {},
		"status":                   {},
		"is_active":                {},
		"scheduled_at":             {},
		"due_date":                 {},
		"is_recurring":             {},
		"recurrence_frequency":     {},
		"recipient_count":          {},
		"resend_count":             {},
	},
	enums.WorkflowObjectTypeCampaignTarget: {
		"workflow_eligible_marker": {},
		"status":                   {},
		"sent_at":                  {},
		"completed_at":             {},
	},
	enums.WorkflowObjectTypeControl: {
		"title":                        {},
		"reference_id":                 {},
		"auditor_reference_id":         {},
		"responsible_party_id":         {},
		"status":                       {},
		"reference_framework":          {},
		"reference_framework_revision": {},
		"category":                     {},
		"category_id":                  {},
		"subcategory":                  {},
		"control_owner_id":             {},
		"workflow_eligible_marker":     {},
	},
	enums.WorkflowObjectTypeEvidence: {
		"workflow_eligible_marker": {},
	},
	enums.WorkflowObjectTypeIdentityHolder: {
		"workflow_eligible_marker": {},
		"status":                   {},
		"is_active":                {},
		"start_date":               {},
		"end_date":                 {},
	},
	enums.WorkflowObjectTypeInternalPolicy: {
		"status":                   {},
		"details":                  {},
		"details_json":             {},
		"workflow_eligible_marker": {},
	},
	enums.WorkflowObjectTypePlatform: {
		"workflow_eligible_marker": {},
		"business_purpose":         {},
		"scope_statement":          {},
		"status":                   {},
		"contains_pii":             {},
	},
	enums.WorkflowObjectTypeProcedure: {
		"status":                   {},
		"details":                  {},
		"details_json":             {},
		"workflow_eligible_marker": {},
	},
	enums.WorkflowObjectTypeSubcontrol: {
		"title":                        {},
		"reference_id":                 {},
		"auditor_reference_id":         {},
		"responsible_party_id":         {},
		"status":                       {},
		"reference_framework":          {},
		"reference_framework_revision": {},
		"category":                     {},
		"category_id":                  {},
		"subcategory":                  {},
		"control_owner_id":             {},
		"workflow_eligible_marker":     {},
	},
}

WorkflowEligibleFields maps object types to their workflow-eligible field names. Use this to validate that fields in a domain are valid for the object type.

Functions

func ExtractChangedEdges

func ExtractChangedEdges(m ent.Mutation) ([]string, map[string][]string, map[string][]string)

ExtractChangedEdges inspects the mutation to determine which edge relationships were modified. It returns: edge names, added IDs per edge, removed IDs per edge.

func GetEligibleFields added in v1.5.10

func GetEligibleFields(objectType enums.WorkflowObjectType) []string

GetEligibleFields returns the workflow-eligible fields for an object type. Returns nil if the object type is not workflow-eligible.

func IsFieldEligible added in v1.5.10

func IsFieldEligible(objectType enums.WorkflowObjectType, field string) bool

IsFieldEligible returns true if the field is workflow-eligible for the object type

func IsWorkflowEligible added in v1.5.10

func IsWorkflowEligible(objectType enums.WorkflowObjectType) bool

IsWorkflowEligible returns true if the object type has workflow-eligible fields

func ValidateDomainFields added in v1.5.10

func ValidateDomainFields(objectType enums.WorkflowObjectType, fields []string) error

ValidateDomainFields checks that all fields are workflow-eligible for the object type. Returns nil if valid, or an error describing the first invalid field.

Types

type WorkflowDomain added in v1.5.10

type WorkflowDomain struct {
	// ObjectType is the workflow object type this domain applies to
	ObjectType enums.WorkflowObjectType
	// Fields is the sorted list of field names in this domain
	Fields []string
}

WorkflowDomain represents a canonical approval domain for workflow proposals. A domain is the combination of an object type and the fields requiring approval.

func MustNewWorkflowDomain added in v1.5.10

func MustNewWorkflowDomain(objectType enums.WorkflowObjectType, fields []string) WorkflowDomain

MustNewWorkflowDomain creates a validated domain and panics if validation fails. Use this for compile-time constant domains where validation errors indicate programmer error.

func NewWorkflowDomain added in v1.5.10

func NewWorkflowDomain(objectType enums.WorkflowObjectType, fields []string) (WorkflowDomain, error)

NewWorkflowDomain creates a validated domain for an object type and fields. Fields are automatically sorted to ensure canonical ordering. Returns an error if the object type or any field is not workflow-eligible.

func ParseDomainKey added in v1.5.10

func ParseDomainKey(key string) (WorkflowDomain, error)

ParseDomainKey parses a domain key string back into a WorkflowDomain. Expected format: "ObjectType:field1,field2" or "ObjectType" for empty fields.

func (WorkflowDomain) Contains added in v1.5.10

func (d WorkflowDomain) Contains(other WorkflowDomain) bool

Contains returns true if this domain contains all fields of the other domain

func (WorkflowDomain) Equals added in v1.5.10

func (d WorkflowDomain) Equals(other WorkflowDomain) bool

Equals returns true if two domains have the same object type and fields

func (WorkflowDomain) Key added in v1.5.10

func (d WorkflowDomain) Key() string

Key returns the canonical domain key including object type prefix. Format: "ObjectType:field1,field2,field3" (fields are sorted).

func (WorkflowDomain) String added in v1.5.10

func (d WorkflowDomain) String() string

String implements fmt.Stringer

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL