Skip to content
Open
9 changes: 9 additions & 0 deletions common/enums/allenums_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ func TestEnumCoverage(t *testing.T) {
{name: "AssessmentType", value: enums.AssessmentTypeInternal,
unmarshal: func(v any) error { var e enums.AssessmentType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToAssessmentType("INTERNAL") }},
{name: "AudienceType", value: enums.AudienceTypeManual,
unmarshal: func(v any) error { var e enums.AudienceType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToAudienceType("MANUAL") }},
{name: "AssetType", value: enums.AssetTypeTechnology,
unmarshal: func(v any) error { var e enums.AssetType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToAssetType("TECHNOLOGY") }},
Expand Down Expand Up @@ -166,6 +169,9 @@ func TestEnumCoverage(t *testing.T) {
{name: "JobPlatformType", value: enums.JobPlatformTypeGo,
unmarshal: func(v any) error { var e enums.JobPlatformType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToJobPlatformType("GO") }},
{name: "JobRunnerStatus", value: enums.JobRunnerStatusOnline,
unmarshal: func(v any) error { var e enums.JobRunnerStatus; return e.UnmarshalGQL(v) },
parse: func() { enums.ToJobRunnerStatus("ONLINE") }},
{name: "JobWeekday", value: enums.JobWeekdaySunday,
unmarshal: func(v any) error { var e enums.JobWeekday; return e.UnmarshalGQL(v) },
parse: func() { enums.ToJobWeekday("SUNDAY") }},
Expand Down Expand Up @@ -232,6 +238,9 @@ func TestEnumCoverage(t *testing.T) {
{name: "ScanType", value: enums.ScanTypeDomain,
unmarshal: func(v any) error { var e enums.ScanType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToScanType("DOMAIN") }},
{name: "ScheduledJobRunStatus", value: enums.ScheduledJobRunStatusPending,
unmarshal: func(v any) error { var e enums.ScheduledJobRunStatus; return e.UnmarshalGQL(v) },
parse: func() { enums.ToScheduledJobRunStatus("PENDING") }},
{name: "SourceType", value: enums.SourceTypeManual,
unmarshal: func(v any) error { var e enums.SourceType; return e.UnmarshalGQL(v) },
parse: func() { enums.ToSourceType("MANUAL") }},
Expand Down
37 changes: 37 additions & 0 deletions common/enums/audience_type.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package enums

import "io"

// AudienceType is a custom type representing how an audience resolves recipients.
type AudienceType string

var (
// AudienceTypeManual indicates an explicitly managed audience.
AudienceTypeManual AudienceType = "MANUAL"
// AudienceTypeDynamic indicates a filter-based audience.
AudienceTypeDynamic AudienceType = "DYNAMIC"
// AudienceTypeInvalid is used when an unsupported value is provided.
AudienceTypeInvalid AudienceType = "INVALID"
)

var audienceTypeValues = []AudienceType{
AudienceTypeManual,
AudienceTypeDynamic,
}

// Values returns a slice of strings that represents all possible AudienceType values.
func (AudienceType) Values() []string { return stringValues(audienceTypeValues) }

// String returns the AudienceType as a string.
func (r AudienceType) String() string { return string(r) }

// ToAudienceType returns the audience type enum based on string input.
func ToAudienceType(r string) *AudienceType {
return parse(r, audienceTypeValues, &AudienceTypeInvalid)
}

// MarshalGQL implements the Marshaler interface for gqlgen.
func (r AudienceType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }

// UnmarshalGQL implements the Unmarshaler interface for gqlgen.
func (r *AudienceType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
4 changes: 3 additions & 1 deletion common/enums/customdomaintype.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ func (CustomDomainType) Values() []string { return stringValues(customDomainType
func (r CustomDomainType) String() string { return string(r) }

// ToCustomDomainType converts a string to its corresponding CustomDomainType enum value.
func ToCustomDomainType(r string) *CustomDomainType { return parse(r, customDomainTypeValues, &CustomDomainTypeInvalid) }
func ToCustomDomainType(r string) *CustomDomainType {
return parse(r, customDomainTypeValues, &CustomDomainTypeInvalid)
}

// MarshalGQL implements the gqlgen Marshaler interface.
func (r CustomDomainType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
Expand Down
6 changes: 6 additions & 0 deletions common/enums/exporttype.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ var (
ExportTypeAssessment ExportType = "ASSESSMENT"
// ExportTypeAsset indicates the asset.
ExportTypeAsset ExportType = "ASSET"
// ExportTypeAudience indicates the audience.
ExportTypeAudience ExportType = "AUDIENCE"
// ExportTypeAudienceMember indicates the audiencemember.
ExportTypeAudienceMember ExportType = "AUDIENCE_MEMBER"
// ExportTypeCampaign indicates the campaign.
ExportTypeCampaign ExportType = "CAMPAIGN"
// ExportTypeCheckResult indicates the checkresult.
Expand Down Expand Up @@ -63,6 +67,8 @@ var (
var exportTypeValues = []ExportType{
ExportTypeAssessment,
ExportTypeAsset,
ExportTypeAudience,
ExportTypeAudienceMember,
ExportTypeCampaign,
ExportTypeCheckResult,
ExportTypeContact,
Expand Down
4 changes: 3 additions & 1 deletion common/enums/mappingsource.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@ func (MappingSource) Values() []string { return stringValues(mappingSourceValues
func (r MappingSource) String() string { return string(r) }

// ToMappingSource converts a string to its corresponding MappingSource enum value.
func ToMappingSource(r string) *MappingSource { return parse(r, mappingSourceValues, &MappingSourceInvalid) }
func ToMappingSource(r string) *MappingSource {
return parse(r, mappingSourceValues, &MappingSourceInvalid)
}

// MarshalGQL implements the gqlgen Marshaler interface.
func (r MappingSource) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
Expand Down
98 changes: 56 additions & 42 deletions common/enums/workflow.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ var workflowKindValues = []WorkflowKind{WorkflowKindApproval, WorkflowKindLifecy
// WorkflowKinds lists all valid workflow kinds as strings.
var WorkflowKinds = stringValues(workflowKindValues)

func (WorkflowKind) Values() []string { return WorkflowKinds }
func (r WorkflowKind) String() string { return string(r) }
func ToWorkflowKind(v string) *WorkflowKind { return parse(v, workflowKindValues, nil) }
func (r WorkflowKind) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (WorkflowKind) Values() []string { return WorkflowKinds }
func (r WorkflowKind) String() string { return string(r) }
func ToWorkflowKind(v string) *WorkflowKind { return parse(v, workflowKindValues, nil) }
func (r WorkflowKind) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowKind) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowInstanceState enumerates instance states.
Expand All @@ -39,11 +39,13 @@ var workflowInstanceStateValues = []WorkflowInstanceState{
// WorkflowInstanceStates lists all valid workflow instance states as strings.
var WorkflowInstanceStates = stringValues(workflowInstanceStateValues)

func (WorkflowInstanceState) Values() []string { return WorkflowInstanceStates }
func (r WorkflowInstanceState) String() string { return string(r) }
func ToWorkflowInstanceState(v string) *WorkflowInstanceState { return parse(v, workflowInstanceStateValues, nil) }
func (r WorkflowInstanceState) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowInstanceState) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowInstanceState) Values() []string { return WorkflowInstanceStates }
func (r WorkflowInstanceState) String() string { return string(r) }
func ToWorkflowInstanceState(v string) *WorkflowInstanceState {
return parse(v, workflowInstanceStateValues, nil)
}
func (r WorkflowInstanceState) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowInstanceState) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowAssignmentStatus enumerates assignment statuses.
type WorkflowAssignmentStatus string
Expand All @@ -63,11 +65,13 @@ var workflowAssignmentStatusValues = []WorkflowAssignmentStatus{
// WorkflowAssignmentStatuses lists all valid workflow assignment statuses as strings.
var WorkflowAssignmentStatuses = stringValues(workflowAssignmentStatusValues)

func (WorkflowAssignmentStatus) Values() []string { return WorkflowAssignmentStatuses }
func (r WorkflowAssignmentStatus) String() string { return string(r) }
func ToWorkflowAssignmentStatus(v string) *WorkflowAssignmentStatus { return parse(v, workflowAssignmentStatusValues, nil) }
func (r WorkflowAssignmentStatus) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowAssignmentStatus) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowAssignmentStatus) Values() []string { return WorkflowAssignmentStatuses }
func (r WorkflowAssignmentStatus) String() string { return string(r) }
func ToWorkflowAssignmentStatus(v string) *WorkflowAssignmentStatus {
return parse(v, workflowAssignmentStatusValues, nil)
}
func (r WorkflowAssignmentStatus) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowAssignmentStatus) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowProposalState enumerates proposal lifecycle states.
type WorkflowProposalState string
Expand All @@ -88,11 +92,13 @@ var workflowProposalStateValues = []WorkflowProposalState{
// WorkflowProposalStates lists all valid workflow proposal states as strings.
var WorkflowProposalStates = stringValues(workflowProposalStateValues)

func (WorkflowProposalState) Values() []string { return WorkflowProposalStates }
func (r WorkflowProposalState) String() string { return string(r) }
func ToWorkflowProposalState(v string) *WorkflowProposalState { return parse(v, workflowProposalStateValues, nil) }
func (r WorkflowProposalState) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowProposalState) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowProposalState) Values() []string { return WorkflowProposalStates }
func (r WorkflowProposalState) String() string { return string(r) }
func ToWorkflowProposalState(v string) *WorkflowProposalState {
return parse(v, workflowProposalStateValues, nil)
}
func (r WorkflowProposalState) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowProposalState) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowApprovalSubmissionMode enumerates how approval workflows are triggered for a domain.
type WorkflowApprovalSubmissionMode string
Expand All @@ -109,11 +115,13 @@ var workflowApprovalSubmissionModeValues = []WorkflowApprovalSubmissionMode{
// WorkflowApprovalSubmissionModes lists all valid workflow approval submission modes as strings.
var WorkflowApprovalSubmissionModes = stringValues(workflowApprovalSubmissionModeValues)

func (WorkflowApprovalSubmissionMode) Values() []string { return WorkflowApprovalSubmissionModes }
func (r WorkflowApprovalSubmissionMode) String() string { return string(r) }
func ToWorkflowApprovalSubmissionMode(v string) *WorkflowApprovalSubmissionMode { return parse(v, workflowApprovalSubmissionModeValues, nil) }
func (r WorkflowApprovalSubmissionMode) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowApprovalSubmissionMode) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowApprovalSubmissionMode) Values() []string { return WorkflowApprovalSubmissionModes }
func (r WorkflowApprovalSubmissionMode) String() string { return string(r) }
func ToWorkflowApprovalSubmissionMode(v string) *WorkflowApprovalSubmissionMode {
return parse(v, workflowApprovalSubmissionModeValues, nil)
}
func (r WorkflowApprovalSubmissionMode) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowApprovalSubmissionMode) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowTargetType enumerates assignment target types.
type WorkflowTargetType string
Expand All @@ -133,11 +141,13 @@ var workflowTargetTypeValues = []WorkflowTargetType{
// WorkflowTargetTypes lists all valid workflow target types as strings.
var WorkflowTargetTypes = stringValues(workflowTargetTypeValues)

func (WorkflowTargetType) Values() []string { return WorkflowTargetTypes }
func (r WorkflowTargetType) String() string { return string(r) }
func ToWorkflowTargetType(v string) *WorkflowTargetType { return parse(v, workflowTargetTypeValues, nil) }
func (r WorkflowTargetType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowTargetType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowTargetType) Values() []string { return WorkflowTargetTypes }
func (r WorkflowTargetType) String() string { return string(r) }
func ToWorkflowTargetType(v string) *WorkflowTargetType {
return parse(v, workflowTargetTypeValues, nil)
}
func (r WorkflowTargetType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowTargetType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowObjectType is auto-generated in workflow_object_type.go
// The enum values are dynamically generated based on entities with ApprovalRequiredMixin.
Expand Down Expand Up @@ -167,11 +177,13 @@ var workflowActionTypeValues = []WorkflowActionType{
// WorkflowActionTypes lists all valid workflow action types as strings.
var WorkflowActionTypes = stringValues(workflowActionTypeValues)

func (WorkflowActionType) Values() []string { return WorkflowActionTypes }
func (r WorkflowActionType) String() string { return string(r) }
func ToWorkflowActionType(v string) *WorkflowActionType { return parse(v, workflowActionTypeValues, nil) }
func (r WorkflowActionType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowActionType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowActionType) Values() []string { return WorkflowActionTypes }
func (r WorkflowActionType) String() string { return string(r) }
func ToWorkflowActionType(v string) *WorkflowActionType {
return parse(v, workflowActionTypeValues, nil)
}
func (r WorkflowActionType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowActionType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowEventType enumerates event types.
type WorkflowEventType string
Expand Down Expand Up @@ -209,11 +221,11 @@ var workflowEventTypeValues = []WorkflowEventType{
// WorkflowEventTypes lists all valid workflow event types as strings.
var WorkflowEventTypes = stringValues(workflowEventTypeValues)

func (WorkflowEventType) Values() []string { return WorkflowEventTypes }
func (r WorkflowEventType) String() string { return string(r) }
func (WorkflowEventType) Values() []string { return WorkflowEventTypes }
func (r WorkflowEventType) String() string { return string(r) }
func ToWorkflowEventType(v string) *WorkflowEventType { return parse(v, workflowEventTypeValues, nil) }
func (r WorkflowEventType) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowEventType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (r *WorkflowEventType) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }

// WorkflowApprovalTiming enumerates when approvals should block changes.
type WorkflowApprovalTiming string
Expand All @@ -230,8 +242,10 @@ var workflowApprovalTimingValues = []WorkflowApprovalTiming{
// WorkflowApprovalTimings lists all valid workflow approval timings as strings.
var WorkflowApprovalTimings = stringValues(workflowApprovalTimingValues)

func (WorkflowApprovalTiming) Values() []string { return WorkflowApprovalTimings }
func (r WorkflowApprovalTiming) String() string { return string(r) }
func ToWorkflowApprovalTiming(v string) *WorkflowApprovalTiming { return parse(v, workflowApprovalTimingValues, nil) }
func (r WorkflowApprovalTiming) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowApprovalTiming) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
func (WorkflowApprovalTiming) Values() []string { return WorkflowApprovalTimings }
func (r WorkflowApprovalTiming) String() string { return string(r) }
func ToWorkflowApprovalTiming(v string) *WorkflowApprovalTiming {
return parse(v, workflowApprovalTimingValues, nil)
}
func (r WorkflowApprovalTiming) MarshalGQL(w io.Writer) { marshalGQL(r, w) }
func (r *WorkflowApprovalTiming) UnmarshalGQL(v any) error { return unmarshalGQL(r, v) }
Loading