graphapi

package
v1.5.5 Latest Latest
Warning

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

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

Documentation

Overview

Package graphapi is the graph api package

THIS CODE IS REGENERATED BY github.com/theopenlane/gqlgen-plugins. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrWorkflowsDisabled is returned when workflows are disabled
	ErrWorkflowsDisabled = errors.New("workflows are disabled")

	// ErrSchemaTypeMismatch is returned when definition schemaType does not match input schemaType
	ErrSchemaTypeMismatch = errors.New("schema type mismatch")

	// ErrNoTriggers is returned when workflow definition has no triggers
	ErrNoTriggers = errors.New("workflow definition must include at least one trigger")

	// ErrTriggerMissingOperation is returned when a trigger is missing an operation
	ErrTriggerMissingOperation = errors.New("trigger missing operation")

	// ErrTriggerUnsupportedOperation is returned when a trigger has an unsupported operation
	ErrTriggerUnsupportedOperation = errors.New("trigger has unsupported operation")

	// ErrTriggerMissingObjectType is returned when a trigger is missing an objectType
	ErrTriggerMissingObjectType = errors.New("trigger missing objectType")

	// ErrTriggerObjectTypeMismatch is returned when trigger objectType does not match schemaType
	ErrTriggerObjectTypeMismatch = errors.New("trigger objectType does not match schemaType")

	// ErrTriggerEmptyFieldName is returned when a trigger has an empty field name
	ErrTriggerEmptyFieldName = errors.New("trigger has empty field name")

	// ErrTriggerEmptyEdgeName is returned when a trigger has an empty edge name
	ErrTriggerEmptyEdgeName = errors.New("trigger has empty edge name")

	// ErrNoActions is returned when workflow definition has no actions
	ErrNoActions = errors.New("workflow definition must include at least one action")

	// ErrActionMissingKey is returned when an action is missing a key
	ErrActionMissingKey = errors.New("action missing key")

	// ErrActionDuplicateKey is returned when an action has a duplicate key
	ErrActionDuplicateKey = errors.New("duplicate action key")

	// ErrActionMissingType is returned when an action is missing a type
	ErrActionMissingType = errors.New("action missing type")

	// ErrActionUnsupportedType is returned when an action has an unsupported type
	ErrActionUnsupportedType = errors.New("action has unsupported type")

	// ErrActionInvalidParams is returned when action params are invalid
	ErrActionInvalidParams = errors.New("invalid action params")

	// ErrDuplicateApprovalFieldSet is returned when multiple approval actions target the same field set
	ErrDuplicateApprovalFieldSet = errors.New("duplicate approval actions for field set")

	// ErrConflictingApprovalDomain is returned when multiple definitions target the same approval domain
	ErrConflictingApprovalDomain = errors.New("conflicting approval domain for schema type")

	// ErrInvalidCELExpression is returned when a CEL expression fails to compile
	ErrInvalidCELExpression = errors.New("invalid CEL expression")

	// ErrDefinitionRequired is returned when definition_json is required but not provided
	ErrDefinitionRequired = errors.New("definition_json is required")

	// ErrApprovalParamsRequired is returned when approval params are required but not provided
	ErrApprovalParamsRequired = errors.New("approval params required")

	// ErrApprovalFieldRequired is returned when at least one approval field or edge is required
	ErrApprovalFieldRequired = errors.New("approval action must specify at least one field or edge")

	// ErrApprovalEdgesNotSupported is returned when approval edges are used but not supported
	ErrApprovalEdgesNotSupported = errors.New("approval action edges are not supported")

	// ErrApprovalFieldNotEligible is returned when an approval field is not workflow-eligible
	ErrApprovalFieldNotEligible = errors.New("approval field is not workflow-eligible")

	// ErrApprovalTargetsRequired is returned when approval targets or assignees are required
	ErrApprovalTargetsRequired = errors.New("approval action requires targets or assignees")

	// ErrRequiredCountNegative is returned when required_count is negative
	ErrRequiredCountNegative = errors.New("required_count must be non-negative")

	// ErrRequiredInvalid is returned when required field has an invalid value
	ErrRequiredInvalid = errors.New("required must be a bool or non-negative integer")

	// ErrTargetMissingID is returned when a target is missing required ID
	ErrTargetMissingID = errors.New("target requires id")

	// ErrTargetInvalidRole is returned when a role target has an invalid role
	ErrTargetInvalidRole = errors.New("unknown role")

	// ErrTargetMissingResolverKey is returned when a resolver target is missing resolver_key
	ErrTargetMissingResolverKey = errors.New("resolver target requires resolver_key")

	// ErrTargetUnknownResolver is returned when a resolver key is unknown
	ErrTargetUnknownResolver = errors.New("unknown resolver key")

	// ErrTargetInvalidType is returned when a target has an invalid type
	ErrTargetInvalidType = errors.New("invalid target type")

	// ErrWebhookParamsRequired is returned when webhook params are required but not provided
	ErrWebhookParamsRequired = errors.New("webhook params required")

	// ErrWebhookURLRequired is returned when webhook URL is required but not provided
	ErrWebhookURLRequired = errors.New("webhook action requires url")

	// ErrWebhookURLInvalid is returned when webhook URL is invalid
	ErrWebhookURLInvalid = errors.New("invalid webhook url")

	// ErrFieldUpdateParamsRequired is returned when field update params are required but not provided
	ErrFieldUpdateParamsRequired = errors.New("field update params required")

	// ErrFieldUpdateUpdatesRequired is returned when field update updates are required
	ErrFieldUpdateUpdatesRequired = errors.New("field_update action requires updates")

	// ErrIntegrationParamsRequired is returned when integration params are required but not provided
	ErrIntegrationParamsRequired = errors.New("integration params required")

	// ErrIntegrationConfigRequired is returned when integration config is incomplete
	ErrIntegrationConfigRequired = errors.New("integration action requires integration or {provider, operation}")

	// ErrApprovalSubmissionModeInvalid is returned when approval submission mode is invalid
	ErrApprovalSubmissionModeInvalid = errors.New("invalid approval submission mode")

	// ErrFailedToQueryDefinitions is returned when workflow definitions cannot be queried
	ErrFailedToQueryDefinitions = errors.New("failed to query workflow definitions")
)

Functions

func WaitForAssignments added in v1.5.5

func WaitForAssignments(ctx context.Context, client *generated.Client, instanceID string, minCount int) ([]*generated.WorkflowAssignment, error)

WaitForAssignments polls until at least minCount assignments exist for the instance.

func WaitForAssignmentsWithTimeout added in v1.5.5

func WaitForAssignmentsWithTimeout(ctx context.Context, client *generated.Client, instanceID string, minCount int, timeout time.Duration) ([]*generated.WorkflowAssignment, error)

WaitForAssignmentsWithTimeout polls until at least minCount assignments exist for the instance or times out.

func WaitForInstanceState added in v1.5.5

func WaitForInstanceState(ctx context.Context, client *generated.Client, instanceID string, expectedState enums.WorkflowInstanceState) (*generated.WorkflowInstance, error)

WaitForInstanceState polls until the workflow instance reaches the expected state or times out.

func WaitForInstanceStateWithTimeout added in v1.5.5

func WaitForInstanceStateWithTimeout(ctx context.Context, client *generated.Client, instanceID string, expectedState enums.WorkflowInstanceState, timeout time.Duration) (*generated.WorkflowInstance, error)

WaitForInstanceStateWithTimeout polls until the workflow instance reaches the expected state or times out.

func WithTransactions

func WithTransactions(h *handler.Server, d *ent.Client)

WithTransactions adds the transactioner to the ent db client

Types

type AssignmentDecisionContext added in v1.5.5

type AssignmentDecisionContext struct {
	// Assignment is the workflow assignment being decided on
	Assignment *generated.WorkflowAssignment
	// Instance is the workflow instance associated with the assignment
	Instance *generated.WorkflowInstance
	// UserID is the ID of the user making the decision
	UserID string
}

AssignmentDecisionContext holds validated context for approve/reject operations

type EntObject added in v0.6.21

type EntObject struct {
	ID        string `json:"id,omitempty"`
	Name      string `json:"name,omitempty"`
	RefCode   string `json:"ref_code,omitempty"`
	DisplayID string `json:"display_id,omitempty"`
}

EntObject is a struct that contains the id, displayID, and name of an object

type ExtendedMappedControlInput added in v0.50.0

type ExtendedMappedControlInput struct {
	ent.CreateMappedControlInput

	FromControlRefCodes    []string `json:"fromControlRefCodes"`
	FromSubcontrolRefCodes []string `json:"fromSubcontrolRefCodes"`
	ToControlRefCodes      []string `json:"toControlRefCodes"`
	ToSubcontrolRefCodes   []string `json:"toSubcontrolRefCodes"`
}

extendedMappedControlInput is an extended version of the CreateMappedControlInput that is used for bulk operations and CSV uploads to allow mapping by reference codes when using the regular create operations the resolvers will parse the ref codes directly

type Handler

type Handler struct {
	// contains filtered or unexported fields
}

Handler is an http handler wrapping a Resolver

func (*Handler) Handler

func (h *Handler) Handler() http.HandlerFunc

Handler returns the http.HandlerFunc for the GraphAPI

func (*Handler) Routes

func (h *Handler) Routes(e *echo.Group)

Routes for the the server

type NotAuthorizedError added in v0.12.3

type NotAuthorizedError struct{}

NotAuthorizedError is returned when the user is not authorized to perform the action

func (NotAuthorizedError) Code added in v0.12.3

func (e NotAuthorizedError) Code() string

Code returns the NotAuthorizedError code

func (NotAuthorizedError) Error added in v0.12.3

func (e NotAuthorizedError) Error() string

Error returns the NotAuthorizedError in string format

func (NotAuthorizedError) Message added in v0.12.3

func (e NotAuthorizedError) Message() string

Message returns the NotAuthorizedError in string format

func (NotAuthorizedError) Module added in v0.28.0

func (e NotAuthorizedError) Module() models.OrgModule

Module implements the CustomErrorType interface

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver provides a graph response resolver

func NewResolver

func NewResolver(db *ent.Client, u *objects.Service) *Resolver

NewResolver returns a resolver configured with the given ent client

func (*Resolver) ActionPlan added in v0.52.0

func (r *Resolver) ActionPlan() gqlgenerated.ActionPlanResolver

ActionPlan returns gqlgenerated.ActionPlanResolver implementation.

func (*Resolver) Campaign added in v1.5.0

func (r *Resolver) Campaign() gqlgenerated.CampaignResolver

Campaign returns gqlgenerated.CampaignResolver implementation.

func (*Resolver) CampaignTarget added in v1.5.0

func (r *Resolver) CampaignTarget() gqlgenerated.CampaignTargetResolver

CampaignTarget returns gqlgenerated.CampaignTargetResolver implementation.

func (*Resolver) Control added in v0.52.0

func (r *Resolver) Control() gqlgenerated.ControlResolver

Control returns gqlgenerated.ControlResolver implementation.

func (*Resolver) CreateDiscussionInput added in v0.49.3

func (r *Resolver) CreateDiscussionInput() gqlgenerated.CreateDiscussionInputResolver

CreateDiscussionInput returns gqlgenerated.CreateDiscussionInputResolver implementation.

func (*Resolver) CreateEntityInput

func (r *Resolver) CreateEntityInput() gqlgenerated.CreateEntityInputResolver

CreateEntityInput returns gqlgenerated.CreateEntityInputResolver implementation.

func (*Resolver) CreateGroupInput

func (r *Resolver) CreateGroupInput() gqlgenerated.CreateGroupInputResolver

CreateGroupInput returns gqlgenerated.CreateGroupInputResolver implementation.

func (*Resolver) CreateMappedControlInput added in v0.39.4

func (r *Resolver) CreateMappedControlInput() gqlgenerated.CreateMappedControlInputResolver

CreateMappedControlInput returns gqlgenerated.CreateMappedControlInputResolver implementation.

func (*Resolver) CreateNotificationInput added in v0.48.1

func (r *Resolver) CreateNotificationInput() gqlgenerated.CreateNotificationInputResolver

CreateNotificationInput returns gqlgenerated.CreateNotificationInputResolver implementation.

func (*Resolver) CreateOrganizationInput

func (r *Resolver) CreateOrganizationInput() gqlgenerated.CreateOrganizationInputResolver

CreateOrganizationInput returns gqlgenerated.CreateOrganizationInputResolver implementation.

func (*Resolver) CreateScanInput added in v1.5.0

func (r *Resolver) CreateScanInput() gqlgenerated.CreateScanInputResolver

CreateScanInput returns gqlgenerated.CreateScanInputResolver implementation.

func (*Resolver) CreateTrustCenterInput added in v0.19.0

func (r *Resolver) CreateTrustCenterInput() gqlgenerated.CreateTrustCenterInputResolver

CreateTrustCenterInput returns gqlgenerated.CreateTrustCenterInputResolver implementation.

func (*Resolver) CreateWebsocketClient added in v1.3.6

func (r *Resolver) CreateWebsocketClient() transport.Websocket

CreateWebsocketClient creates a websocket transport with the appropriate settings

func (*Resolver) Evidence added in v0.52.0

func (r *Resolver) Evidence() gqlgenerated.EvidenceResolver

Evidence returns gqlgenerated.EvidenceResolver implementation.

func (*Resolver) Group added in v0.6.21

func (r *Resolver) Group() gqlgenerated.GroupResolver

Group returns gqlgenerated.GroupResolver implementation.

func (*Resolver) Handler

func (r *Resolver) Handler() *Handler

Handler returns an http handler for a graph resolver

func (*Resolver) IdentityHolder added in v1.5.0

func (r *Resolver) IdentityHolder() gqlgenerated.IdentityHolderResolver

IdentityHolder returns gqlgenerated.IdentityHolderResolver implementation.

func (*Resolver) InternalPolicy added in v0.52.0

func (r *Resolver) InternalPolicy() gqlgenerated.InternalPolicyResolver

InternalPolicy returns gqlgenerated.InternalPolicyResolver implementation.

func (*Resolver) Mutation

func (r *Resolver) Mutation() gqlgenerated.MutationResolver

Mutation returns gqlgenerated.MutationResolver implementation.

func (*Resolver) Notification added in v0.48.1

func (r *Resolver) Notification() gqlgenerated.NotificationResolver

Notification returns gqlgenerated.NotificationResolver implementation.

func (*Resolver) Platform added in v1.5.0

func (r *Resolver) Platform() gqlgenerated.PlatformResolver

Platform returns gqlgenerated.PlatformResolver implementation.

func (*Resolver) Procedure added in v0.52.0

func (r *Resolver) Procedure() gqlgenerated.ProcedureResolver

Procedure returns gqlgenerated.ProcedureResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() gqlgenerated.QueryResolver

Query returns gqlgenerated.QueryResolver implementation.

func (*Resolver) Subcontrol added in v0.52.0

func (r *Resolver) Subcontrol() gqlgenerated.SubcontrolResolver

Subcontrol returns gqlgenerated.SubcontrolResolver implementation.

func (*Resolver) Subscription added in v0.45.0

func (r *Resolver) Subscription() gqlgenerated.SubscriptionResolver

Subscription returns gqlgenerated.SubscriptionResolver implementation.

func (*Resolver) UpdateActionPlanInput added in v0.7.5

func (r *Resolver) UpdateActionPlanInput() gqlgenerated.UpdateActionPlanInputResolver

UpdateActionPlanInput returns gqlgenerated.UpdateActionPlanInputResolver implementation.

func (*Resolver) UpdateControlInput added in v0.38.2

func (r *Resolver) UpdateControlInput() gqlgenerated.UpdateControlInputResolver

UpdateControlInput returns gqlgenerated.UpdateControlInputResolver implementation.

func (*Resolver) UpdateControlObjectiveInput added in v0.7.5

func (r *Resolver) UpdateControlObjectiveInput() gqlgenerated.UpdateControlObjectiveInputResolver

UpdateControlObjectiveInput returns gqlgenerated.UpdateControlObjectiveInputResolver implementation.

func (*Resolver) UpdateDiscussionInput added in v0.49.3

func (r *Resolver) UpdateDiscussionInput() gqlgenerated.UpdateDiscussionInputResolver

UpdateDiscussionInput returns gqlgenerated.UpdateDiscussionInputResolver implementation.

func (*Resolver) UpdateEntityInput

func (r *Resolver) UpdateEntityInput() gqlgenerated.UpdateEntityInputResolver

UpdateEntityInput returns gqlgenerated.UpdateEntityInputResolver implementation.

func (*Resolver) UpdateEvidenceInput added in v0.48.1

func (r *Resolver) UpdateEvidenceInput() gqlgenerated.UpdateEvidenceInputResolver

UpdateEvidenceInput returns gqlgenerated.UpdateEvidenceInputResolver implementation.

func (*Resolver) UpdateGroupInput

func (r *Resolver) UpdateGroupInput() gqlgenerated.UpdateGroupInputResolver

UpdateGroupInput returns gqlgenerated.UpdateGroupInputResolver implementation.

func (*Resolver) UpdateInternalPolicyInput added in v0.7.5

func (r *Resolver) UpdateInternalPolicyInput() gqlgenerated.UpdateInternalPolicyInputResolver

UpdateInternalPolicyInput returns gqlgenerated.UpdateInternalPolicyInputResolver implementation.

func (*Resolver) UpdateOrganizationInput

func (r *Resolver) UpdateOrganizationInput() gqlgenerated.UpdateOrganizationInputResolver

UpdateOrganizationInput returns gqlgenerated.UpdateOrganizationInputResolver implementation.

func (*Resolver) UpdateProcedureInput added in v0.7.5

func (r *Resolver) UpdateProcedureInput() gqlgenerated.UpdateProcedureInputResolver

UpdateProcedureInput returns gqlgenerated.UpdateProcedureInputResolver implementation.

func (*Resolver) UpdateProgramInput added in v0.4.3

func (r *Resolver) UpdateProgramInput() gqlgenerated.UpdateProgramInputResolver

UpdateProgramInput returns gqlgenerated.UpdateProgramInputResolver implementation.

func (*Resolver) UpdateRiskInput added in v0.42.2

func (r *Resolver) UpdateRiskInput() gqlgenerated.UpdateRiskInputResolver

UpdateRiskInput returns gqlgenerated.UpdateRiskInputResolver implementation.

func (*Resolver) UpdateStandardInput added in v0.7.5

func (r *Resolver) UpdateStandardInput() gqlgenerated.UpdateStandardInputResolver

UpdateStandardInput returns gqlgenerated.UpdateStandardInputResolver implementation.

func (*Resolver) UpdateSubcontrolInput added in v0.38.2

func (r *Resolver) UpdateSubcontrolInput() gqlgenerated.UpdateSubcontrolInputResolver

UpdateSubcontrolInput returns gqlgenerated.UpdateSubcontrolInputResolver implementation.

func (*Resolver) UpdateTFASettingInput

func (r *Resolver) UpdateTFASettingInput() gqlgenerated.UpdateTFASettingInputResolver

UpdateTFASettingInput returns gqlgenerated.UpdateTFASettingInputResolver implementation.

func (*Resolver) UpdateTaskInput added in v0.7.1

func (r *Resolver) UpdateTaskInput() gqlgenerated.UpdateTaskInputResolver

UpdateTaskInput returns gqlgenerated.UpdateTaskInputResolver implementation.

func (*Resolver) UpdateTrustCenterInput added in v0.19.0

func (r *Resolver) UpdateTrustCenterInput() gqlgenerated.UpdateTrustCenterInputResolver

UpdateTrustCenterInput returns gqlgenerated.UpdateTrustCenterInputResolver implementation.

func (Resolver) WithAllowedOrigins added in v1.2.14

func (r Resolver) WithAllowedOrigins(origins []string) *Resolver

WithAllowedOrigins sets the allowed origins for websocket connections

func (Resolver) WithAuthOptions added in v1.2.14

func (r Resolver) WithAuthOptions(options ...mwauth.Option) *Resolver

WithAuthOptions sets the auth options for the resolver

func (*Resolver) WithComplexityLimit added in v0.7.3

func (r *Resolver) WithComplexityLimit(h *handler.Server)

WithComplexityLimit adds a complexity limit middleware to the handler

func (Resolver) WithComplexityLimitConfig added in v0.7.3

func (r Resolver) WithComplexityLimitConfig(limit int) *Resolver

WithComplexityLimitConfig sets the complexity limit for the resolver

func (Resolver) WithDevelopment added in v0.6.24

func (r Resolver) WithDevelopment(dev bool) *Resolver

WithDevelopment sets the resolver to development mode when isDevelopment is false, introspection will be disabled

func (Resolver) WithExtensions

func (r Resolver) WithExtensions(enabled bool) *Resolver

WithExtensions enables or disables graph extensions

func (Resolver) WithMaxResultLimit added in v0.8.1

func (r Resolver) WithMaxResultLimit(limit int) *Resolver

WithMaxResultLimit sets the max result limit in the config for the resolvers

func (*Resolver) WithPool

func (r *Resolver) WithPool(maxWorkers int)

WithPool adds a worker pool to the resolver for parallel processing

func (Resolver) WithSSEKeepAliveInterval added in v1.2.14

func (r Resolver) WithSSEKeepAliveInterval(interval time.Duration) *Resolver

WithSSEKeepAliveInterval sets the sse keep-alive interval for the resolver

func (Resolver) WithSubscriptions added in v0.45.0

func (r Resolver) WithSubscriptions(enabled bool) *Resolver

WithSubscriptions enables graphql subscriptions to the server using websockets or sse

func (Resolver) WithTrustCenterCnameTarget added in v0.30.3

func (r Resolver) WithTrustCenterCnameTarget(cname string) *Resolver

WithTrustCenterCnameTarget sets the trust center cname target for the resolver

func (Resolver) WithTrustCenterDefaultDomain added in v0.34.5

func (r Resolver) WithTrustCenterDefaultDomain(domain string) *Resolver

WithTrustCenterDefaultDomain sets the default trust center domain for the resolver

func (Resolver) WithWebsocketPingInterval added in v1.2.14

func (r Resolver) WithWebsocketPingInterval(interval time.Duration) *Resolver

WithWebsocketPingInterval sets the websocket ping interval for the resolver

type UpdateBulkCSVControl added in v1.2.4

type UpdateBulkCSVControl struct {
	ID string `json:"id"`
	generated.UpdateControlInput
}

UpdateBulkCSVControl is used for bulk updating controls via CSV import that includes the ID of the control to update

type WorkflowTestSetup added in v1.5.5

type WorkflowTestSetup struct {
	Engine  *engine.WorkflowEngine
	Eventer *hooks.Eventer
}

WorkflowTestSetup contains the workflow engine and eventer for tests

func SetupWorkflowEngine added in v1.5.5

func SetupWorkflowEngine(client *generated.Client) (*WorkflowTestSetup, error)

SetupWorkflowEngine creates a workflow engine with a real eventer for integration tests. This wires up event listeners so that assignment completions and other workflow events are processed through the actual event-driven flow used in production.

Source Files

Directories

Path Synopsis
Package common contains common utilities and types for the GraphQL API.
Package common contains common utilities and types for the GraphQL API.
Package directives contains the implementations for the custom GraphQL directives used in the schema as well as an entc extension to modify the generated schema to add the directives to the appropriate fields.
Package directives contains the implementations for the custom GraphQL directives used in the schema as well as an entc extension to modify the generated schema to add the directives to the appropriate fields.
Package gqlerrors is a wrapper to define custom errors for the GraphQL server
Package gqlerrors is a wrapper to define custom errors for the GraphQL server

Jump to

Keyboard shortcuts

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