resolvers

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2026 License: MIT Imports: 29 Imported by: 0

Documentation

Overview

Package resolvers contains GraphQL resolver implementations.

Index

Constants

View Source
const (
	MinCanvasSize = 100    // Minimum canvas dimension in pixels
	MaxCanvasSize = 100000 // Maximum canvas dimension in pixels
)

Canvas dimension validation constants

View Source
const DefaultCanvasSize = 2000

Default canvas size for coordinate conversion

Variables

View Source
var (
	ErrAuthNotEnabled    = errors.New("authentication is not enabled")
	ErrNotAuthenticated  = errors.New("not authenticated")
	ErrNotAuthorized     = errors.New("not authorized")
	ErrUserNotFound      = errors.New("user not found")
	ErrGroupNotFound     = errors.New("group not found")
	ErrDeviceNotFound    = errors.New("device not found")
	ErrSessionNotFound   = errors.New("session not found")
	ErrFeatureNotEnabled = errors.New("this feature is not enabled")
)

Auth errors for GraphQL responses.

View Source
var (
	ErrInvitationNotFound   = errors.New("invitation not found")
	ErrInvitationExpired    = errors.New("invitation has expired")
	ErrInvitationNotPending = errors.New("invitation is not in pending status")
	ErrAlreadyMember        = errors.New("user is already a member of this group")
	ErrDeviceAlreadyInGroup = errors.New("device is already in this group")
	ErrEmailMismatch        = errors.New("invitation email does not match your account")
	ErrCannotDemoteOwner    = errors.New("cannot change the role of the group owner")
)

Errors specific to group admin operations.

Functions

func ResolveCompositionMode added in v0.2.30

func ResolveCompositionMode(obj *models.Effect) (generated.CompositionMode, error)

ResolveCompositionMode converts the string composition mode to the enum.

func ResolveEffectType added in v0.2.30

func ResolveEffectType(obj *models.Effect) (generated.EffectType, error)

ResolveEffectType converts the string effect type to the enum.

func ResolveOnCueChangeCueEffect added in v0.2.30

func ResolveOnCueChangeCueEffect(obj *models.CueEffect) (*generated.TransitionBehavior, error)

ResolveOnCueChangeCueEffect converts the cue effect's on cue change behavior to the enum.

func ResolveOnCueChangeEffect added in v0.2.30

func ResolveOnCueChangeEffect(obj *models.Effect) (generated.TransitionBehavior, error)

ResolveOnCueChangeEffect converts the string on cue change behavior to the enum.

func ResolvePriorityBand added in v0.2.30

func ResolvePriorityBand(obj *models.Effect) (generated.PriorityBand, error)

ResolvePriorityBand converts the string priority band to the enum.

func ResolveWaveform added in v0.2.30

func ResolveWaveform(obj *models.Effect) (*generated.WaveformType, error)

ResolveWaveform converts the waveform string to the enum.

Types

type Resolver

type Resolver struct {

	// Repositories
	ProjectRepo      *repositories.ProjectRepository
	SettingRepo      *repositories.SettingRepository
	FixtureRepo      *repositories.FixtureRepository
	LookRepo         *repositories.LookRepository
	CueListRepo      *repositories.CueListRepository
	CueRepo          *repositories.CueRepository
	LookBoardRepo    *repositories.LookBoardRepository
	EffectRepo       *repositories.EffectRepository
	OperationRepo    *repositories.OperationRepository
	GroupRepo        *repositories.GroupRepository
	InvitationRepo   *repositories.InvitationRepository
	FixtureGroupRepo *repositories.FixtureGroupRepository

	// Services
	DMXService       *dmx.Service
	FadeEngine       *modulator.Engine
	PlaybackService  *playback.Service
	ExportService    *export.Service
	ImportService    *importservice.Service
	EosImportService *importeos.Service
	EosExportService *exporteos.Service
	OFLService       *ofl.Service
	OFLManager       *ofl.Manager
	PreviewService   *preview.Service
	VersionService   *version.Service
	WiFiService      *wifi.Service
	UndoService      *undo.Service
	PubSub           *pubsub.PubSub

	// Auth service (optional - nil if auth is disabled)
	AuthService *auth.Service
	// contains filtered or unexported fields
}

Resolver is the root resolver for the GraphQL schema. It holds dependencies that are shared across all resolvers.

func NewResolver

func NewResolver(db *gorm.DB, dmxService *dmx.Service, fadeEngine *modulator.Engine, playbackService *playback.Service, oflCachePath string) *Resolver

NewResolver creates a new Resolver instance with all dependencies.

func (*Resolver) ChannelDefinition

func (r *Resolver) ChannelDefinition() generated.ChannelDefinitionResolver

ChannelDefinition returns generated.ChannelDefinitionResolver implementation.

func (*Resolver) Cue

func (r *Resolver) Cue() generated.CueResolver

Cue returns generated.CueResolver implementation.

func (*Resolver) CueEffect added in v0.2.30

func (r *Resolver) CueEffect() generated.CueEffectResolver

CueEffect returns generated.CueEffectResolver implementation.

func (*Resolver) CueList

func (r *Resolver) CueList() generated.CueListResolver

CueList returns generated.CueListResolver implementation.

func (*Resolver) Device added in v0.2.31

func (r *Resolver) Device() generated.DeviceResolver

Device returns generated.DeviceResolver implementation.

func (*Resolver) Effect added in v0.2.30

func (r *Resolver) Effect() generated.EffectResolver

Effect returns generated.EffectResolver implementation.

func (*Resolver) FixtureDefinition

func (r *Resolver) FixtureDefinition() generated.FixtureDefinitionResolver

FixtureDefinition returns generated.FixtureDefinitionResolver implementation.

func (*Resolver) FixtureGroup added in v0.3.0

func (r *Resolver) FixtureGroup() generated.FixtureGroupResolver

FixtureGroup returns generated.FixtureGroupResolver implementation.

func (*Resolver) FixtureInstance

func (r *Resolver) FixtureInstance() generated.FixtureInstanceResolver

FixtureInstance returns generated.FixtureInstanceResolver implementation.

func (*Resolver) FixtureMode

func (r *Resolver) FixtureMode() generated.FixtureModeResolver

FixtureMode returns generated.FixtureModeResolver implementation.

func (*Resolver) FixtureValue

func (r *Resolver) FixtureValue() generated.FixtureValueResolver

FixtureValue returns generated.FixtureValueResolver implementation.

func (*Resolver) GroupInvitation added in v0.2.31

func (r *Resolver) GroupInvitation() generated.GroupInvitationResolver

GroupInvitation returns generated.GroupInvitationResolver implementation.

func (*Resolver) GroupMember added in v0.2.31

func (r *Resolver) GroupMember() generated.GroupMemberResolver

GroupMember returns generated.GroupMemberResolver implementation.

func (*Resolver) InstanceChannel

func (r *Resolver) InstanceChannel() generated.InstanceChannelResolver

InstanceChannel returns generated.InstanceChannelResolver implementation.

func (*Resolver) Look added in v0.2.30

func (r *Resolver) Look() generated.LookResolver

Look returns generated.LookResolver implementation.

func (*Resolver) LookBoard added in v0.2.30

func (r *Resolver) LookBoard() generated.LookBoardResolver

LookBoard returns generated.LookBoardResolver implementation.

func (*Resolver) LookBoardButton added in v0.2.30

func (r *Resolver) LookBoardButton() generated.LookBoardButtonResolver

LookBoardButton returns generated.LookBoardButtonResolver implementation.

func (*Resolver) ModeChannel

func (r *Resolver) ModeChannel() generated.ModeChannelResolver

ModeChannel returns generated.ModeChannelResolver implementation.

func (*Resolver) Mutation

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

Mutation returns generated.MutationResolver implementation.

func (*Resolver) Operation added in v0.2.30

func (r *Resolver) Operation() generated.OperationResolver

Operation returns generated.OperationResolver implementation.

func (*Resolver) PreviewSession

func (r *Resolver) PreviewSession() generated.PreviewSessionResolver

PreviewSession returns generated.PreviewSessionResolver implementation.

func (*Resolver) Project

func (r *Resolver) Project() generated.ProjectResolver

Project returns generated.ProjectResolver implementation.

func (*Resolver) ProjectUser

func (r *Resolver) ProjectUser() generated.ProjectUserResolver

ProjectUser returns generated.ProjectUserResolver implementation.

func (*Resolver) Query

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

Query returns generated.QueryResolver implementation.

func (*Resolver) ResolveActivateBlackout added in v0.2.30

func (r *Resolver) ResolveActivateBlackout(ctx context.Context, fadeTime *float64) (bool, error)

ResolveActivateBlackout activates the system blackout.

func (*Resolver) ResolveActivateEffect added in v0.2.30

func (r *Resolver) ResolveActivateEffect(ctx context.Context, effectID string, fadeTime *float64) (bool, error)

ResolveActivateEffect activates an effect with optional fade time.

func (*Resolver) ResolveAddChannelToEffectFixture added in v0.2.30

func (r *Resolver) ResolveAddChannelToEffectFixture(ctx context.Context, effectFixtureID string, input generated.EffectChannelInput) (*models.EffectChannel, error)

ResolveAddChannelToEffectFixture adds a channel to an effect fixture.

func (*Resolver) ResolveAddEffectToCue added in v0.2.30

func (r *Resolver) ResolveAddEffectToCue(ctx context.Context, input generated.AddEffectToCueInput) (*models.CueEffect, error)

ResolveAddEffectToCue adds an effect to a cue.

func (*Resolver) ResolveAddFixtureToEffect added in v0.2.30

func (r *Resolver) ResolveAddFixtureToEffect(ctx context.Context, input generated.AddFixtureToEffectInput) (*models.EffectFixture, error)

ResolveAddFixtureToEffect adds a fixture to an effect.

func (*Resolver) ResolveCreateEffect added in v0.2.30

func (r *Resolver) ResolveCreateEffect(ctx context.Context, input generated.CreateEffectInput) (*models.Effect, error)

ResolveCreateEffect creates a new effect.

func (*Resolver) ResolveDeleteEffect added in v0.2.30

func (r *Resolver) ResolveDeleteEffect(ctx context.Context, id string) (bool, error)

ResolveDeleteEffect deletes an effect.

func (*Resolver) ResolveEffect added in v0.2.30

func (r *Resolver) ResolveEffect(ctx context.Context, id string) (*models.Effect, error)

ResolveEffect returns a single effect by ID.

func (*Resolver) ResolveEffects added in v0.2.30

func (r *Resolver) ResolveEffects(ctx context.Context, projectID string) ([]*models.Effect, error)

ResolveEffects returns all effects in a project.

func (*Resolver) ResolveModulatorStatus added in v0.2.30

func (r *Resolver) ResolveModulatorStatus(ctx context.Context) (*generated.ModulatorStatus, error)

ResolveModulatorStatus returns the current status of the modulator engine.

func (*Resolver) ResolveReleaseBlackout added in v0.2.30

func (r *Resolver) ResolveReleaseBlackout(ctx context.Context, fadeTime *float64) (bool, error)

ResolveReleaseBlackout releases the system blackout.

func (*Resolver) ResolveRemoveChannelFromEffectFixture added in v0.2.30

func (r *Resolver) ResolveRemoveChannelFromEffectFixture(ctx context.Context, id string) (bool, error)

ResolveRemoveChannelFromEffectFixture removes a channel from an effect fixture.

func (*Resolver) ResolveRemoveEffectFromCue added in v0.2.30

func (r *Resolver) ResolveRemoveEffectFromCue(ctx context.Context, cueID, effectID string) (bool, error)

ResolveRemoveEffectFromCue removes an effect from a cue.

func (*Resolver) ResolveRemoveFixtureFromEffect added in v0.2.30

func (r *Resolver) ResolveRemoveFixtureFromEffect(ctx context.Context, effectID, fixtureID string) (bool, error)

ResolveRemoveFixtureFromEffect removes a fixture from an effect.

func (*Resolver) ResolveSetGrandMaster added in v0.2.30

func (r *Resolver) ResolveSetGrandMaster(ctx context.Context, value float64) (bool, error)

ResolveSetGrandMaster sets the grand master level.

func (*Resolver) ResolveStopEffect added in v0.2.30

func (r *Resolver) ResolveStopEffect(ctx context.Context, effectID string, fadeTime *float64) (bool, error)

ResolveStopEffect stops an active effect with optional fade time.

func (*Resolver) ResolveUpdateEffect added in v0.2.30

func (r *Resolver) ResolveUpdateEffect(ctx context.Context, id string, input generated.UpdateEffectInput) (*models.Effect, error)

ResolveUpdateEffect updates an existing effect.

func (*Resolver) ResolveUpdateEffectChannel added in v0.2.30

func (r *Resolver) ResolveUpdateEffectChannel(ctx context.Context, id string, input generated.EffectChannelInput) (*models.EffectChannel, error)

ResolveUpdateEffectChannel updates an effect channel's settings.

func (*Resolver) ResolveUpdateEffectFixture added in v0.2.30

func (r *Resolver) ResolveUpdateEffectFixture(ctx context.Context, id string, input generated.UpdateEffectFixtureInput) (*models.EffectFixture, error)

ResolveUpdateEffectFixture updates an effect fixture's settings (phase offset, amplitude scale, effect order).

func (*Resolver) Session added in v0.2.31

func (r *Resolver) Session() generated.SessionResolver

Session returns generated.SessionResolver implementation.

func (*Resolver) SetAuthService added in v0.2.31

func (r *Resolver) SetAuthService(authService *auth.Service)

SetAuthService sets the auth service on the resolver. This is called during server initialization if auth is enabled.

func (*Resolver) Setting

func (r *Resolver) Setting() generated.SettingResolver

Setting returns generated.SettingResolver implementation.

func (*Resolver) Subscription

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

Subscription returns generated.SubscriptionResolver implementation.

func (*Resolver) User

func (r *Resolver) User() generated.UserResolver

User returns generated.UserResolver implementation.

func (*Resolver) UserGroup added in v0.2.31

func (r *Resolver) UserGroup() generated.UserGroupResolver

UserGroup returns generated.UserGroupResolver implementation.

Jump to

Keyboard shortcuts

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