generated

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: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllOAuthProvider = []OAuthProvider{
	OAuthProviderApple,
}
View Source
var AllUserRole = []UserRole{
	UserRoleAdmin,
	UserRoleUser,
}

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type APClient added in v0.2.19

type APClient struct {
	MacAddress  string  `json:"macAddress"`
	IPAddress   *string `json:"ipAddress,omitempty"`
	Hostname    *string `json:"hostname,omitempty"`
	ConnectedAt string  `json:"connectedAt"`
}

type APConfig added in v0.2.19

type APConfig struct {
	Ssid             string `json:"ssid"`
	IPAddress        string `json:"ipAddress"`
	Channel          int    `json:"channel"`
	ClientCount      int    `json:"clientCount"`
	TimeoutMinutes   int    `json:"timeoutMinutes"`
	MinutesRemaining *int   `json:"minutesRemaining,omitempty"`
}

type ActiveEffectStatus added in v0.2.30

type ActiveEffectStatus struct {
	EffectID   string     `json:"effectId"`
	EffectName string     `json:"effectName"`
	EffectType EffectType `json:"effectType"`
	// Current intensity (0-100)
	Intensity float64 `json:"intensity"`
	// Current phase for waveforms (0-360)
	Phase float64 `json:"phase"`
	// Whether the effect has completed
	IsComplete bool   `json:"isComplete"`
	StartTime  string `json:"startTime"`
}

Status of an active effect at runtime.

type AddEffectToCueInput added in v0.2.30

type AddEffectToCueInput struct {
	CueID       string                                 `json:"cueId"`
	EffectID    string                                 `json:"effectId"`
	Intensity   graphql.Omittable[*float64]            `json:"intensity,omitempty"`
	Speed       graphql.Omittable[*float64]            `json:"speed,omitempty"`
	OnCueChange graphql.Omittable[*TransitionBehavior] `json:"onCueChange,omitempty"`
}

type AddFixtureToEffectInput added in v0.2.30

type AddFixtureToEffectInput struct {
	EffectID       string                      `json:"effectId"`
	FixtureID      string                      `json:"fixtureId"`
	PhaseOffset    graphql.Omittable[*float64] `json:"phaseOffset,omitempty"`
	AmplitudeScale graphql.Omittable[*float64] `json:"amplitudeScale,omitempty"`
	EffectOrder    graphql.Omittable[*int]     `json:"effectOrder,omitempty"`
}

type ArtNetStatus added in v0.2.20

type ArtNetStatus struct {
	Enabled          bool   `json:"enabled"`
	BroadcastAddress string `json:"broadcastAddress"`
}

type AuthPayload added in v0.2.31

type AuthPayload struct {
	// The authenticated user
	User models.User `json:"user"`
	// JWT access token for API requests
	AccessToken string `json:"accessToken"`
	// JWT refresh token for obtaining new access tokens
	RefreshToken string `json:"refreshToken"`
	// When the access token expires
	ExpiresAt string `json:"expiresAt"`
}

Authentication result returned after login or registration.

type AuthSettings added in v0.2.31

type AuthSettings struct {
	// Whether authentication is enabled
	AuthEnabled bool `json:"authEnabled"`
	// Allowed authentication methods
	AllowedMethods []string `json:"allowedMethods"`
	// Whether device authentication is enabled
	DeviceAuthEnabled bool `json:"deviceAuthEnabled"`
	// Session duration in hours
	SessionDurationHours int `json:"sessionDurationHours"`
	// Minimum password length
	PasswordMinLength int `json:"passwordMinLength"`
	// Whether email verification is required
	RequireEmailVerification bool `json:"requireEmailVerification"`
}

Global authentication settings.

type AuthUser added in v0.2.31

type AuthUser struct {
	ID            string   `json:"id"`
	Email         string   `json:"email"`
	Name          *string  `json:"name,omitempty"`
	Phone         *string  `json:"phone,omitempty"`
	Role          UserRole `json:"role"`
	EmailVerified bool     `json:"emailVerified"`
	PhoneVerified bool     `json:"phoneVerified"`
	IsActive      bool     `json:"isActive"`
	LastLoginAt   *string  `json:"lastLoginAt,omitempty"`
	CreatedAt     string   `json:"createdAt"`
	UpdatedAt     string   `json:"updatedAt"`
	// User's permission groups
	Groups []*models.UserGroup `json:"groups"`
	// Effective permissions from role and groups
	Permissions []string `json:"permissions"`
}

Extended user information for authenticated context.

type BuildInfo added in v0.2.12

type BuildInfo struct {
	// Semantic version (e.g., v0.8.10)
	Version string `json:"version"`
	// Git commit hash from which this build was made
	GitCommit string `json:"gitCommit"`
	// UTC timestamp when this build was created
	BuildTime string `json:"buildTime"`
}

Server build information for version verification

type BulkCueCreateInput added in v0.1.3

type BulkCueCreateInput struct {
	Cues []*CreateCueInput `json:"cues"`
}

type BulkCueListCreateInput added in v0.1.3

type BulkCueListCreateInput struct {
	CueLists []*CreateCueListInput `json:"cueLists"`
}

type BulkCueListUpdateInput added in v0.1.3

type BulkCueListUpdateInput struct {
	CueLists []*CueListUpdateItem `json:"cueLists"`
}

type BulkCueUpdateInput

type BulkCueUpdateInput struct {
	CueIds      []string                       `json:"cueIds"`
	FadeInTime  graphql.Omittable[*float64]    `json:"fadeInTime,omitempty"`
	FadeOutTime graphql.Omittable[*float64]    `json:"fadeOutTime,omitempty"`
	FollowTime  graphql.Omittable[*float64]    `json:"followTime,omitempty"`
	EasingType  graphql.Omittable[*EasingType] `json:"easingType,omitempty"`
	// When set, updates the skip status of all selected cues
	Skip graphql.Omittable[*bool] `json:"skip,omitempty"`
}

type BulkDeleteResult added in v0.1.3

type BulkDeleteResult struct {
	DeletedCount int      `json:"deletedCount"`
	DeletedIds   []string `json:"deletedIds"`
}

type BulkFixtureCreateInput

type BulkFixtureCreateInput struct {
	Fixtures []*CreateFixtureInstanceInput `json:"fixtures"`
}

type BulkFixtureDefinitionCreateInput added in v0.1.3

type BulkFixtureDefinitionCreateInput struct {
	Definitions []*CreateFixtureDefinitionInput `json:"definitions"`
}

type BulkFixtureDefinitionUpdateInput added in v0.1.3

type BulkFixtureDefinitionUpdateInput struct {
	Definitions []*FixtureDefinitionUpdateItem `json:"definitions"`
}

type BulkFixtureUpdateInput

type BulkFixtureUpdateInput struct {
	Fixtures []*FixtureUpdateItem `json:"fixtures"`
}

type BulkLookBoardButtonCreateInput added in v0.2.30

type BulkLookBoardButtonCreateInput struct {
	Buttons []*CreateLookBoardButtonInput `json:"buttons"`
}

type BulkLookBoardButtonUpdateInput added in v0.2.30

type BulkLookBoardButtonUpdateInput struct {
	Buttons []*LookBoardButtonUpdateItem `json:"buttons"`
}

type BulkLookBoardCreateInput added in v0.2.30

type BulkLookBoardCreateInput struct {
	LookBoards []*CreateLookBoardInput `json:"lookBoards"`
}

type BulkLookBoardUpdateInput added in v0.2.30

type BulkLookBoardUpdateInput struct {
	LookBoards []*LookBoardUpdateItem `json:"lookBoards"`
}

type BulkLookCreateInput added in v0.2.30

type BulkLookCreateInput struct {
	Looks []*CreateLookInput `json:"looks"`
}

type BulkLookPartialUpdateInput added in v0.2.30

type BulkLookPartialUpdateInput struct {
	Looks []*LookPartialUpdateItem `json:"looks"`
}

Updates multiple looks with partial fixture value merging support. Each look can independently specify name, description, fixtureValues, and mergeFixtures. Operations are applied in order and fail on first error.

type BulkLookUpdateInput added in v0.2.30

type BulkLookUpdateInput struct {
	Looks []*LookUpdateItem `json:"looks"`
}

type BulkProjectCreateInput added in v0.1.3

type BulkProjectCreateInput struct {
	Projects []*CreateProjectInput `json:"projects"`
}

type BulkProjectUpdateInput added in v0.1.3

type BulkProjectUpdateInput struct {
	Projects []*ProjectUpdateItem `json:"projects"`
}

type ChannelAssignmentInput

type ChannelAssignmentInput struct {
	ProjectID       string                  `json:"projectId"`
	Universe        graphql.Omittable[*int] `json:"universe,omitempty"`
	StartingChannel graphql.Omittable[*int] `json:"startingChannel,omitempty"`
	FixtureSpecs    []*FixtureSpecInput     `json:"fixtureSpecs"`
}

type ChannelAssignmentSuggestion

type ChannelAssignmentSuggestion struct {
	Universe                   int                         `json:"universe"`
	Assignments                []*FixtureChannelAssignment `json:"assignments"`
	TotalChannelsNeeded        int                         `json:"totalChannelsNeeded"`
	AvailableChannelsRemaining int                         `json:"availableChannelsRemaining"`
}

type ChannelDefinitionResolver

type ChannelDefinitionResolver interface {
	Type(ctx context.Context, obj *models.ChannelDefinition) (ChannelType, error)

	FadeBehavior(ctx context.Context, obj *models.ChannelDefinition) (FadeBehavior, error)
}

type ChannelFadeBehaviorInput added in v0.2.0

type ChannelFadeBehaviorInput struct {
	ChannelID    string       `json:"channelId"`
	FadeBehavior FadeBehavior `json:"fadeBehavior"`
}

type ChannelMapFixture

type ChannelMapFixture struct {
	ID           string      `json:"id"`
	Name         string      `json:"name"`
	Type         FixtureType `json:"type"`
	StartChannel int         `json:"startChannel"`
	EndChannel   int         `json:"endChannel"`
	ChannelCount int         `json:"channelCount"`
}

type ChannelMapResult

type ChannelMapResult struct {
	ProjectID string                `json:"projectId"`
	Universes []*UniverseChannelMap `json:"universes"`
}

type ChannelType

type ChannelType string
const (
	ChannelTypeIntensity  ChannelType = "INTENSITY"
	ChannelTypeRed        ChannelType = "RED"
	ChannelTypeGreen      ChannelType = "GREEN"
	ChannelTypeBlue       ChannelType = "BLUE"
	ChannelTypeWhite      ChannelType = "WHITE"
	ChannelTypeAmber      ChannelType = "AMBER"
	ChannelTypeUv         ChannelType = "UV"
	ChannelTypeCyan       ChannelType = "CYAN"
	ChannelTypeMagenta    ChannelType = "MAGENTA"
	ChannelTypeYellow     ChannelType = "YELLOW"
	ChannelTypeLime       ChannelType = "LIME"
	ChannelTypeIndigo     ChannelType = "INDIGO"
	ChannelTypeColdWhite  ChannelType = "COLD_WHITE"
	ChannelTypeWarmWhite  ChannelType = "WARM_WHITE"
	ChannelTypePan        ChannelType = "PAN"
	ChannelTypeTilt       ChannelType = "TILT"
	ChannelTypeZoom       ChannelType = "ZOOM"
	ChannelTypeFocus      ChannelType = "FOCUS"
	ChannelTypeIris       ChannelType = "IRIS"
	ChannelTypeGobo       ChannelType = "GOBO"
	ChannelTypeColorWheel ChannelType = "COLOR_WHEEL"
	ChannelTypeEffect     ChannelType = "EFFECT"
	ChannelTypeStrobe     ChannelType = "STROBE"
	ChannelTypeMacro      ChannelType = "MACRO"
	ChannelTypeOther      ChannelType = "OTHER"
)

func (ChannelType) IsValid

func (e ChannelType) IsValid() bool

func (ChannelType) MarshalGQL

func (e ChannelType) MarshalGQL(w io.Writer)

func (ChannelType) MarshalJSON

func (e ChannelType) MarshalJSON() ([]byte, error)

func (ChannelType) String

func (e ChannelType) String() string

func (*ChannelType) UnmarshalGQL

func (e *ChannelType) UnmarshalGQL(v any) error

func (*ChannelType) UnmarshalJSON

func (e *ChannelType) UnmarshalJSON(b []byte) error

type ChannelUsage

type ChannelUsage struct {
	FixtureID   string      `json:"fixtureId"`
	FixtureName string      `json:"fixtureName"`
	ChannelType ChannelType `json:"channelType"`
}

type ChannelValueInput added in v0.2.0

type ChannelValueInput struct {
	Offset int `json:"offset"`
	Value  int `json:"value"`
}

type ComplexityRoot

type ComplexityRoot struct {
	APClient struct {
		ConnectedAt func(childComplexity int) int
		Hostname    func(childComplexity int) int
		IPAddress   func(childComplexity int) int
		MacAddress  func(childComplexity int) int
	}

	APConfig struct {
		Channel          func(childComplexity int) int
		ClientCount      func(childComplexity int) int
		IPAddress        func(childComplexity int) int
		MinutesRemaining func(childComplexity int) int
		Ssid             func(childComplexity int) int
		TimeoutMinutes   func(childComplexity int) int
	}

	ActiveEffectStatus struct {
		EffectID   func(childComplexity int) int
		EffectName func(childComplexity int) int
		EffectType func(childComplexity int) int
		Intensity  func(childComplexity int) int
		IsComplete func(childComplexity int) int
		Phase      func(childComplexity int) int
		StartTime  func(childComplexity int) int
	}

	ArtNetStatus struct {
		BroadcastAddress func(childComplexity int) int
		Enabled          func(childComplexity int) int
	}

	AuthPayload struct {
		AccessToken  func(childComplexity int) int
		ExpiresAt    func(childComplexity int) int
		RefreshToken func(childComplexity int) int
		User         func(childComplexity int) int
	}

	AuthSettings struct {
		AllowedMethods           func(childComplexity int) int
		AuthEnabled              func(childComplexity int) int
		DeviceAuthEnabled        func(childComplexity int) int
		PasswordMinLength        func(childComplexity int) int
		RequireEmailVerification func(childComplexity int) int
		SessionDurationHours     func(childComplexity int) int
	}

	AuthUser struct {
		CreatedAt     func(childComplexity int) int
		Email         func(childComplexity int) int
		EmailVerified func(childComplexity int) int
		Groups        func(childComplexity int) int
		ID            func(childComplexity int) int
		IsActive      func(childComplexity int) int
		LastLoginAt   func(childComplexity int) int
		Name          func(childComplexity int) int
		Permissions   func(childComplexity int) int
		Phone         func(childComplexity int) int
		PhoneVerified func(childComplexity int) int
		Role          func(childComplexity int) int
		UpdatedAt     func(childComplexity int) int
	}

	BuildInfo struct {
		BuildTime func(childComplexity int) int
		GitCommit func(childComplexity int) int
		Version   func(childComplexity int) int
	}

	BulkDeleteResult struct {
		DeletedCount func(childComplexity int) int
		DeletedIds   func(childComplexity int) int
	}

	ChannelAssignmentSuggestion struct {
		Assignments                func(childComplexity int) int
		AvailableChannelsRemaining func(childComplexity int) int
		TotalChannelsNeeded        func(childComplexity int) int
		Universe                   func(childComplexity int) int
	}

	ChannelDefinition struct {
		DefaultValue func(childComplexity int) int
		FadeBehavior func(childComplexity int) int
		ID           func(childComplexity int) int
		IsDiscrete   func(childComplexity int) int
		MaxValue     func(childComplexity int) int
		MinValue     func(childComplexity int) int
		Name         func(childComplexity int) int
		Offset       func(childComplexity int) int
		Type         func(childComplexity int) int
	}

	ChannelMapFixture struct {
		ChannelCount func(childComplexity int) int
		EndChannel   func(childComplexity int) int
		ID           func(childComplexity int) int
		Name         func(childComplexity int) int
		StartChannel func(childComplexity int) int
		Type         func(childComplexity int) int
	}

	ChannelMapResult struct {
		ProjectID func(childComplexity int) int
		Universes func(childComplexity int) int
	}

	ChannelUsage struct {
		ChannelType func(childComplexity int) int
		FixtureID   func(childComplexity int) int
		FixtureName func(childComplexity int) int
	}

	ChannelValue struct {
		Offset func(childComplexity int) int
		Value  func(childComplexity int) int
	}

	CopyFixturesToLooksResult struct {
		AffectedCueCount func(childComplexity int) int
		OperationID      func(childComplexity int) int
		UpdatedLookCount func(childComplexity int) int
		UpdatedLooks     func(childComplexity int) int
	}

	Cue struct {
		CueList     func(childComplexity int) int
		CueNumber   func(childComplexity int) int
		EasingType  func(childComplexity int) int
		Effects     func(childComplexity int) int
		FadeInTime  func(childComplexity int) int
		FadeOutTime func(childComplexity int) int
		FollowTime  func(childComplexity int) int
		ID          func(childComplexity int) int
		Look        func(childComplexity int) int
		Name        func(childComplexity int) int
		Notes       func(childComplexity int) int
		Skip        func(childComplexity int) int
	}

	CueEffect struct {
		CueID       func(childComplexity int) int
		Effect      func(childComplexity int) int
		EffectID    func(childComplexity int) int
		ID          func(childComplexity int) int
		Intensity   func(childComplexity int) int
		OnCueChange func(childComplexity int) int
		Speed       func(childComplexity int) int
	}

	CueList struct {
		CreatedAt     func(childComplexity int) int
		CueCount      func(childComplexity int) int
		Cues          func(childComplexity int) int
		Description   func(childComplexity int) int
		ID            func(childComplexity int) int
		Loop          func(childComplexity int) int
		Name          func(childComplexity int) int
		Project       func(childComplexity int) int
		TotalDuration func(childComplexity int) int
		UpdatedAt     func(childComplexity int) int
	}

	CueListDataChangedPayload struct {
		AffectedCueIds func(childComplexity int) int
		AffectedLookID func(childComplexity int) int
		ChangeType     func(childComplexity int) int
		CueListID      func(childComplexity int) int
		NewLookName    func(childComplexity int) int
		Timestamp      func(childComplexity int) int
	}

	CueListPlaybackStatus struct {
		CueListID       func(childComplexity int) int
		CurrentCue      func(childComplexity int) int
		CurrentCueIndex func(childComplexity int) int
		FadeProgress    func(childComplexity int) int
		IsFading        func(childComplexity int) int
		IsPaused        func(childComplexity int) int
		IsPlaying       func(childComplexity int) int
		LastUpdated     func(childComplexity int) int
		NextCue         func(childComplexity int) int
		PreviousCue     func(childComplexity int) int
	}

	CueListSummary struct {
		CreatedAt     func(childComplexity int) int
		CueCount      func(childComplexity int) int
		Description   func(childComplexity int) int
		ID            func(childComplexity int) int
		Loop          func(childComplexity int) int
		Name          func(childComplexity int) int
		TotalDuration func(childComplexity int) int
	}

	CuePage struct {
		Cues       func(childComplexity int) int
		Pagination func(childComplexity int) int
	}

	CueUsageSummary struct {
		CueID       func(childComplexity int) int
		CueListID   func(childComplexity int) int
		CueListName func(childComplexity int) int
		CueName     func(childComplexity int) int
		CueNumber   func(childComplexity int) int
	}

	CueWithLookInfo struct {
		CueID           func(childComplexity int) int
		CueName         func(childComplexity int) int
		CueNumber       func(childComplexity int) int
		LookID          func(childComplexity int) int
		LookName        func(childComplexity int) int
		OtherCueNumbers func(childComplexity int) int
	}

	CuesWithLookInfoResponse struct {
		Cues        func(childComplexity int) int
		OrphanLooks func(childComplexity int) int
	}

	Device struct {
		ApprovedAt    func(childComplexity int) int
		ApprovedBy    func(childComplexity int) int
		CreatedAt     func(childComplexity int) int
		DefaultRole   func(childComplexity int) int
		DefaultUser   func(childComplexity int) int
		Fingerprint   func(childComplexity int) int
		Groups        func(childComplexity int) int
		ID            func(childComplexity int) int
		IsAuthorized  func(childComplexity int) int
		LastIPAddress func(childComplexity int) int
		LastSeenAt    func(childComplexity int) int
		Name          func(childComplexity int) int
		Permissions   func(childComplexity int) int
		Status        func(childComplexity int) int
		UpdatedAt     func(childComplexity int) int
	}

	DeviceAuthCode struct {
		Code      func(childComplexity int) int
		DeviceID  func(childComplexity int) int
		ExpiresAt func(childComplexity int) int
	}

	DeviceAuthStatus struct {
		DefaultUser  func(childComplexity int) int
		Device       func(childComplexity int) int
		IsAuthorized func(childComplexity int) int
		IsPending    func(childComplexity int) int
	}

	DeviceCheckResult struct {
		Device  func(childComplexity int) int
		Message func(childComplexity int) int
		Status  func(childComplexity int) int
	}

	DeviceRegistrationResult struct {
		Device  func(childComplexity int) int
		Message func(childComplexity int) int
		Success func(childComplexity int) int
	}

	Effect struct {
		Amplitude       func(childComplexity int) int
		CompositionMode func(childComplexity int) int
		CreatedAt       func(childComplexity int) int
		Description     func(childComplexity int) int
		EffectType      func(childComplexity int) int
		FadeDuration    func(childComplexity int) int
		Fixtures        func(childComplexity int) int
		Frequency       func(childComplexity int) int
		ID              func(childComplexity int) int
		MasterValue     func(childComplexity int) int
		Name            func(childComplexity int) int
		Offset          func(childComplexity int) int
		OnCueChange     func(childComplexity int) int
		PhaseOffset     func(childComplexity int) int
		PriorityBand    func(childComplexity int) int
		PrioritySub     func(childComplexity int) int
		ProjectID       func(childComplexity int) int
		UpdatedAt       func(childComplexity int) int
		Waveform        func(childComplexity int) int
	}

	EffectChannel struct {
		AmplitudeScale  func(childComplexity int) int
		ChannelOffset   func(childComplexity int) int
		ChannelType     func(childComplexity int) int
		EffectFixtureID func(childComplexity int) int
		FrequencyScale  func(childComplexity int) int
		ID              func(childComplexity int) int
		MaxValue        func(childComplexity int) int
		MinValue        func(childComplexity int) int
	}

	EffectFixture struct {
		AmplitudeScale func(childComplexity int) int
		Channels       func(childComplexity int) int
		EffectID       func(childComplexity int) int
		EffectOrder    func(childComplexity int) int
		Fixture        func(childComplexity int) int
		FixtureID      func(childComplexity int) int
		ID             func(childComplexity int) int
		PhaseOffset    func(childComplexity int) int
	}

	EosExportResult struct {
		ASCIIContent   func(childComplexity int) int
		FilenameSuffix func(childComplexity int) int
		ProjectID      func(childComplexity int) int
		ProjectName    func(childComplexity int) int
		Warnings       func(childComplexity int) int
	}

	EosImportResult struct {
		CueListsCount            func(childComplexity int) int
		CuesCount                func(childComplexity int) int
		FixtureDefinitionsCount  func(childComplexity int) int
		FixtureInstancesCount    func(childComplexity int) int
		GroupsCount              func(childComplexity int) int
		LooksCount               func(childComplexity int) int
		ProjectID                func(childComplexity int) int
		SynthesizedDefinitionIds func(childComplexity int) int
		Warnings                 func(childComplexity int) int
	}

	EosWarning struct {
		Code     func(childComplexity int) int
		Context  func(childComplexity int) int
		Message  func(childComplexity int) int
		Severity func(childComplexity int) int
	}

	EosWarningContextEntry struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	ExportResult struct {
		JSONContent func(childComplexity int) int
		ProjectID   func(childComplexity int) int
		ProjectName func(childComplexity int) int
		Stats       func(childComplexity int) int
	}

	ExportStats struct {
		CueListsCount           func(childComplexity int) int
		CuesCount               func(childComplexity int) int
		FixtureDefinitionsCount func(childComplexity int) int
		FixtureInstancesCount   func(childComplexity int) int
		LookBoardsCount         func(childComplexity int) int
		LooksCount              func(childComplexity int) int
	}

	FixtureChannelAssignment struct {
		ChannelCount func(childComplexity int) int
		ChannelRange func(childComplexity int) int
		EndChannel   func(childComplexity int) int
		FixtureName  func(childComplexity int) int
		Manufacturer func(childComplexity int) int
		Mode         func(childComplexity int) int
		Model        func(childComplexity int) int
		StartChannel func(childComplexity int) int
	}

	FixtureDataChangedPayload struct {
		ChangeType func(childComplexity int) int
		FixtureIds func(childComplexity int) int
		ProjectID  func(childComplexity int) int
		Timestamp  func(childComplexity int) int
	}

	FixtureDefinition struct {
		Channels     func(childComplexity int) int
		CreatedAt    func(childComplexity int) int
		ID           func(childComplexity int) int
		IsBuiltIn    func(childComplexity int) int
		Manufacturer func(childComplexity int) int
		Model        func(childComplexity int) int
		Modes        func(childComplexity int) int
		RefID        func(childComplexity int) int
		Type         func(childComplexity int) int
	}

	FixtureGroup struct {
		CreatedAt    func(childComplexity int) int
		Description  func(childComplexity int) int
		EosNumber    func(childComplexity int) int
		Fixtures     func(childComplexity int) int
		ID           func(childComplexity int) int
		Name         func(childComplexity int) int
		Project      func(childComplexity int) int
		ProjectOrder func(childComplexity int) int
		RefID        func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
	}

	FixtureInstance struct {
		ChannelCount   func(childComplexity int) int
		Channels       func(childComplexity int) int
		CreatedAt      func(childComplexity int) int
		DefinitionID   func(childComplexity int) int
		Description    func(childComplexity int) int
		ID             func(childComplexity int) int
		LayoutRotation func(childComplexity int) int
		LayoutX        func(childComplexity int) int
		LayoutY        func(childComplexity int) int
		Manufacturer   func(childComplexity int) int
		ModeName       func(childComplexity int) int
		Model          func(childComplexity int) int
		Name           func(childComplexity int) int
		Project        func(childComplexity int) int
		ProjectOrder   func(childComplexity int) int
		RefID          func(childComplexity int) int
		StartChannel   func(childComplexity int) int
		Tags           func(childComplexity int) int
		Type           func(childComplexity int) int
		Universe       func(childComplexity int) int
	}

	FixtureInstancePage struct {
		Fixtures   func(childComplexity int) int
		Pagination func(childComplexity int) int
	}

	FixtureMapping struct {
		LacyLightsKey   func(childComplexity int) int
		QlcManufacturer func(childComplexity int) int
		QlcMode         func(childComplexity int) int
		QlcModel        func(childComplexity int) int
	}

	FixtureMappingSuggestion struct {
		Fixture     func(childComplexity int) int
		Suggestions func(childComplexity int) int
	}

	FixtureMode struct {
		ChannelCount func(childComplexity int) int
		Channels     func(childComplexity int) int
		ID           func(childComplexity int) int
		Name         func(childComplexity int) int
		ShortName    func(childComplexity int) int
	}

	FixtureUsage struct {
		Cues        func(childComplexity int) int
		FixtureID   func(childComplexity int) int
		FixtureName func(childComplexity int) int
		Looks       func(childComplexity int) int
	}

	FixtureValue struct {
		Channels  func(childComplexity int) int
		Fixture   func(childComplexity int) int
		ID        func(childComplexity int) int
		LookOrder func(childComplexity int) int
	}

	GlobalPlaybackStatus struct {
		CueCount        func(childComplexity int) int
		CueListID       func(childComplexity int) int
		CueListName     func(childComplexity int) int
		CurrentCueIndex func(childComplexity int) int
		CurrentCueName  func(childComplexity int) int
		FadeProgress    func(childComplexity int) int
		IsFading        func(childComplexity int) int
		IsPaused        func(childComplexity int) int
		IsPlaying       func(childComplexity int) int
		LastUpdated     func(childComplexity int) int
	}

	GroupInvitation struct {
		CreatedAt func(childComplexity int) int
		Email     func(childComplexity int) int
		ExpiresAt func(childComplexity int) int
		Group     func(childComplexity int) int
		ID        func(childComplexity int) int
		InvitedBy func(childComplexity int) int
		Role      func(childComplexity int) int
		Status    func(childComplexity int) int
	}

	GroupMember struct {
		ID       func(childComplexity int) int
		JoinedAt func(childComplexity int) int
		Role     func(childComplexity int) int
		User     func(childComplexity int) int
	}

	ImportResult struct {
		ProjectID func(childComplexity int) int
		Stats     func(childComplexity int) int
		Warnings  func(childComplexity int) int
	}

	ImportStats struct {
		CueListsCreated           func(childComplexity int) int
		CuesCreated               func(childComplexity int) int
		FixtureDefinitionsCreated func(childComplexity int) int
		FixtureInstancesCreated   func(childComplexity int) int
		LookBoardsCreated         func(childComplexity int) int
		LooksCreated              func(childComplexity int) int
	}

	InstanceChannel struct {
		DefaultValue func(childComplexity int) int
		FadeBehavior func(childComplexity int) int
		ID           func(childComplexity int) int
		IsDiscrete   func(childComplexity int) int
		MaxValue     func(childComplexity int) int
		MinValue     func(childComplexity int) int
		Name         func(childComplexity int) int
		Offset       func(childComplexity int) int
		Type         func(childComplexity int) int
	}

	LacyLightsFixture struct {
		Manufacturer func(childComplexity int) int
		Model        func(childComplexity int) int
	}

	Look struct {
		CreatedAt     func(childComplexity int) int
		Description   func(childComplexity int) int
		FixtureValues func(childComplexity int) int
		ID            func(childComplexity int) int
		Name          func(childComplexity int) int
		Project       func(childComplexity int) int
		RefID         func(childComplexity int) int
		UpdatedAt     func(childComplexity int) int
	}

	LookBoard struct {
		Buttons         func(childComplexity int) int
		CanvasHeight    func(childComplexity int) int
		CanvasWidth     func(childComplexity int) int
		CreatedAt       func(childComplexity int) int
		DefaultFadeTime func(childComplexity int) int
		Description     func(childComplexity int) int
		GridSize        func(childComplexity int) int
		ID              func(childComplexity int) int
		Name            func(childComplexity int) int
		Project         func(childComplexity int) int
		RefID           func(childComplexity int) int
		UpdatedAt       func(childComplexity int) int
	}

	LookBoardButton struct {
		Color     func(childComplexity int) int
		CreatedAt func(childComplexity int) int
		Height    func(childComplexity int) int
		ID        func(childComplexity int) int
		Label     func(childComplexity int) int
		LayoutX   func(childComplexity int) int
		LayoutY   func(childComplexity int) int
		Look      func(childComplexity int) int
		LookBoard func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		Width     func(childComplexity int) int
	}

	LookBoardDataChangedPayload struct {
		AffectedButtonIds func(childComplexity int) int
		ChangeType        func(childComplexity int) int
		LookBoardID       func(childComplexity int) int
		ProjectID         func(childComplexity int) int
		Timestamp         func(childComplexity int) int
	}

	LookComparison struct {
		Differences           func(childComplexity int) int
		DifferentFixtureCount func(childComplexity int) int
		IdenticalFixtureCount func(childComplexity int) int
		Look1                 func(childComplexity int) int
		Look2                 func(childComplexity int) int
	}

	LookDataChangedPayload struct {
		ChangeType func(childComplexity int) int
		LookID     func(childComplexity int) int
		ProjectID  func(childComplexity int) int
		Timestamp  func(childComplexity int) int
	}

	LookDifference struct {
		DifferenceType func(childComplexity int) int
		FixtureID      func(childComplexity int) int
		FixtureName    func(childComplexity int) int
		Look1Values    func(childComplexity int) int
		Look2Values    func(childComplexity int) int
	}

	LookFixtureSummary struct {
		FixtureID   func(childComplexity int) int
		FixtureName func(childComplexity int) int
		FixtureType func(childComplexity int) int
	}

	LookPage struct {
		Looks      func(childComplexity int) int
		Pagination func(childComplexity int) int
	}

	LookSummary struct {
		CreatedAt    func(childComplexity int) int
		Description  func(childComplexity int) int
		FixtureCount func(childComplexity int) int
		ID           func(childComplexity int) int
		Name         func(childComplexity int) int
		UpdatedAt    func(childComplexity int) int
	}

	LookUsage struct {
		Cues     func(childComplexity int) int
		LookID   func(childComplexity int) int
		LookName func(childComplexity int) int
	}

	ModeChannel struct {
		Channel func(childComplexity int) int
		ID      func(childComplexity int) int
		Offset  func(childComplexity int) int
	}

	ModulatorStatus struct {
		ActiveEffectCount   func(childComplexity int) int
		ActiveEffects       func(childComplexity int) int
		BlackoutIntensity   func(childComplexity int) int
		GrandMasterValue    func(childComplexity int) int
		HasActiveTransition func(childComplexity int) int
		IsBlackoutActive    func(childComplexity int) int
		IsRunning           func(childComplexity int) int
		TransitionProgress  func(childComplexity int) int
		UpdateRateHz        func(childComplexity int) int
	}

	Mutation struct {
		AcceptInvitation                       func(childComplexity int, invitationID string) int
		ActivateBlackout                       func(childComplexity int, fadeTime *float64) int
		ActivateEffect                         func(childComplexity int, effectID string, fadeTime *float64) int
		ActivateLookFromBoard                  func(childComplexity int, lookBoardID string, lookID string, fadeTimeOverride *float64) int
		AddChannelToEffectFixture              func(childComplexity int, effectFixtureID string, input EffectChannelInput) int
		AddDeviceToGroup                       func(childComplexity int, deviceID string, groupID string) int
		AddEffectToCue                         func(childComplexity int, input AddEffectToCueInput) int
		AddFixtureToEffect                     func(childComplexity int, input AddFixtureToEffectInput) int
		AddFixturesToGroup                     func(childComplexity int, groupID string, fixtureIds []string) int
		AddFixturesToLook                      func(childComplexity int, lookID string, fixtureValues []*FixtureValueInput, overwriteExisting *bool) int
		AddLookToBoard                         func(childComplexity int, input CreateLookBoardButtonInput) int
		AddUserToGroup                         func(childComplexity int, userID string, groupID string, role *GroupMemberRole) int
		AppleSignIn                            func(childComplexity int, identityToken string, authorizationCode string) int
		ApproveDevice                          func(childComplexity int, deviceID string, permissions DevicePermissions, groupID *string, defaultUserID *string) int
		AuthorizeDevice                        func(childComplexity int, fingerprint string, authorizationCode string) int
		BulkCreateCueLists                     func(childComplexity int, input BulkCueListCreateInput) int
		BulkCreateCues                         func(childComplexity int, input BulkCueCreateInput) int
		BulkCreateFixtureDefinitions           func(childComplexity int, input BulkFixtureDefinitionCreateInput) int
		BulkCreateFixtureGroups                func(childComplexity int, inputs []*CreateFixtureGroupInput) int
		BulkCreateFixtures                     func(childComplexity int, input BulkFixtureCreateInput) int
		BulkCreateLookBoardButtons             func(childComplexity int, input BulkLookBoardButtonCreateInput) int
		BulkCreateLookBoards                   func(childComplexity int, input BulkLookBoardCreateInput) int
		BulkCreateLooks                        func(childComplexity int, input BulkLookCreateInput) int
		BulkCreateProjects                     func(childComplexity int, input BulkProjectCreateInput) int
		BulkDeleteCueLists                     func(childComplexity int, cueListIds []string) int
		BulkDeleteCues                         func(childComplexity int, cueIds []string) int
		BulkDeleteFixtureDefinitions           func(childComplexity int, definitionIds []string) int
		BulkDeleteFixtureGroups                func(childComplexity int, ids []string) int
		BulkDeleteFixtures                     func(childComplexity int, fixtureIds []string) int
		BulkDeleteLookBoardButtons             func(childComplexity int, buttonIds []string) int
		BulkDeleteLookBoards                   func(childComplexity int, lookBoardIds []string) int
		BulkDeleteLooks                        func(childComplexity int, lookIds []string) int
		BulkDeleteProjects                     func(childComplexity int, projectIds []string) int
		BulkUpdateCueLists                     func(childComplexity int, input BulkCueListUpdateInput) int
		BulkUpdateCues                         func(childComplexity int, input BulkCueUpdateInput) int
		BulkUpdateFixtureDefinitions           func(childComplexity int, input BulkFixtureDefinitionUpdateInput) int
		BulkUpdateFixtureGroups                func(childComplexity int, inputs []*UpdateFixtureGroupInput) int
		BulkUpdateFixtures                     func(childComplexity int, input BulkFixtureUpdateInput) int
		BulkUpdateInstanceChannelsFadeBehavior func(childComplexity int, updates []*ChannelFadeBehaviorInput) int
		BulkUpdateLookBoardButtons             func(childComplexity int, input BulkLookBoardButtonUpdateInput) int
		BulkUpdateLookBoards                   func(childComplexity int, input BulkLookBoardUpdateInput) int
		BulkUpdateLooks                        func(childComplexity int, input BulkLookUpdateInput) int
		BulkUpdateLooksPartial                 func(childComplexity int, input BulkLookPartialUpdateInput) int
		BulkUpdateProjects                     func(childComplexity int, input BulkProjectUpdateInput) int
		CancelInvitation                       func(childComplexity int, invitationID string) int
		CancelOFLImport                        func(childComplexity int) int
		CancelPreviewSession                   func(childComplexity int, sessionID string) int
		ChangePassword                         func(childComplexity int, oldPassword string, newPassword string) int
		ClearOperationHistory                  func(childComplexity int, projectID string, confirmClear bool) int
		CloneLook                              func(childComplexity int, lookID string, newName string) int
		CommitPreviewSession                   func(childComplexity int, sessionID string) int
		ConnectWiFi                            func(childComplexity int, ssid string, password *string) int
		CopyFixturesToLooks                    func(childComplexity int, input CopyFixturesToLooksInput) int
		CreateCue                              func(childComplexity int, input CreateCueInput) int
		CreateCueList                          func(childComplexity int, input CreateCueListInput) int
		CreateDeviceAuthCode                   func(childComplexity int, deviceID string) int
		CreateEffect                           func(childComplexity int, input CreateEffectInput) int
		CreateFixtureDefinition                func(childComplexity int, input CreateFixtureDefinitionInput) int
		CreateFixtureGroup                     func(childComplexity int, input CreateFixtureGroupInput) int
		CreateFixtureInstance                  func(childComplexity int, input CreateFixtureInstanceInput) int
		CreateLook                             func(childComplexity int, input CreateLookInput) int
		CreateLookBoard                        func(childComplexity int, input CreateLookBoardInput) int
		CreateProject                          func(childComplexity int, input CreateProjectInput) int
		CreateUser                             func(childComplexity int, input CreateUserInput) int
		CreateUserGroup                        func(childComplexity int, input CreateUserGroupInput) int
		DeclineInvitation                      func(childComplexity int, invitationID string) int
		DeleteCue                              func(childComplexity int, id string) int
		DeleteCueList                          func(childComplexity int, id string) int
		DeleteEffect                           func(childComplexity int, id string) int
		DeleteFixtureDefinition                func(childComplexity int, id string) int
		DeleteFixtureGroup                     func(childComplexity int, id string) int
		DeleteFixtureInstance                  func(childComplexity int, id string) int
		DeleteLook                             func(childComplexity int, id string) int
		DeleteLookBoard                        func(childComplexity int, id string) int
		DeleteProject                          func(childComplexity int, id string) int
		DeleteUser                             func(childComplexity int, id string) int
		DeleteUserGroup                        func(childComplexity int, id string) int
		DisconnectWiFi                         func(childComplexity int) int
		DuplicateLook                          func(childComplexity int, id string) int
		ExportProject                          func(childComplexity int, projectID string, options *ExportOptionsInput) int
		ExportProjectToEos                     func(childComplexity int, projectID string) int
		ExportProjectToQlc                     func(childComplexity int, projectID string, fixtureMappings []*FixtureMappingInput) int
		FadeToBlack                            func(childComplexity int, fadeOutTime float64) int
		ForgetWiFiNetwork                      func(childComplexity int, ssid string) int
		GoToCue                                func(childComplexity int, cueListID string, cueIndex int, fadeInTime *float64) int
		ImportOFLFixture                       func(childComplexity int, input ImportOFLFixtureInput) int
		ImportProject                          func(childComplexity int, jsonContent string, options ImportOptionsInput) int
		ImportProjectFromEos                   func(childComplexity int, asciiContent string, options *EosImportOptionsInput) int
		ImportProjectFromQlc                   func(childComplexity int, xmlContent string, originalFileName string) int
		InitializePreviewWithLook              func(childComplexity int, sessionID string, lookID string) int
		InviteToGroup                          func(childComplexity int, groupID string, email string, role *GroupMemberRole) int
		JumpToOperation                        func(childComplexity int, projectID string, operationID string) int
		Login                                  func(childComplexity int, email string, password string) int
		Logout                                 func(childComplexity int) int
		LogoutAll                              func(childComplexity int) int
		NextCue                                func(childComplexity int, cueListID string, fadeInTime *float64) int
		PermanentlyDeleteProject               func(childComplexity int, id string) int
		PlayCue                                func(childComplexity int, cueID string, fadeInTime *float64) int
		PreviousCue                            func(childComplexity int, cueListID string, fadeInTime *float64) int
		Redo                                   func(childComplexity int, projectID string) int
		RefreshToken                           func(childComplexity int, refreshToken string) int
		Register                               func(childComplexity int, input RegisterInput) int
		RegisterDevice                         func(childComplexity int, fingerprint string, name string) int
		ReleaseBlackout                        func(childComplexity int, fadeTime *float64) int
		RemoveChannelFromEffectFixture         func(childComplexity int, id string) int
		RemoveDeviceFromGroup                  func(childComplexity int, deviceID string, groupID string) int
		RemoveEffectFromCue                    func(childComplexity int, cueID string, effectID string) int
		RemoveFixtureFromEffect                func(childComplexity int, effectID string, fixtureID string) int
		RemoveFixturesFromGroup                func(childComplexity int, groupID string, fixtureIds []string) int
		RemoveFixturesFromLook                 func(childComplexity int, lookID string, fixtureIds []string) int
		RemoveLookFromBoard                    func(childComplexity int, buttonID string) int
		RemoveUserFromGroup                    func(childComplexity int, userID string, groupID string) int
		ReorderCues                            func(childComplexity int, cueListID string, cueOrders []*CueOrderInput) int
		ReorderFixturesInGroup                 func(childComplexity int, input ReorderFixturesInGroupInput) int
		ReorderLookFixtures                    func(childComplexity int, lookID string, fixtureOrders []*FixtureOrderInput) int
		ReorderProjectFixtures                 func(childComplexity int, projectID string, fixtureOrders []*FixtureOrderInput) int
		RequestEmailVerification               func(childComplexity int) int
		RequestPasswordReset                   func(childComplexity int, email string) int
		ResetAPTimeout                         func(childComplexity int) int
		ResetPassword                          func(childComplexity int, token string, newPassword string) int
		RestoreProject                         func(childComplexity int, id string) int
		ResumeCueList                          func(childComplexity int, cueListID string) int
		RevokeAllUserSessions                  func(childComplexity int, userID string) int
		RevokeDevice                           func(childComplexity int, id string) int
		RevokeSession                          func(childComplexity int, sessionID string) int
		SetArtNetEnabled                       func(childComplexity int, enabled bool, fadeTime *float64) int
		SetChannelValue                        func(childComplexity int, universe int, channel int, value int) int
		SetGrandMaster                         func(childComplexity int, value float64) int
		SetLookLive                            func(childComplexity int, lookID string) int
		SetWiFiEnabled                         func(childComplexity int, enabled bool) int
		StartAPMode                            func(childComplexity int) int
		StartCueList                           func(childComplexity int, cueListID string, startFromCue *int, fadeInTime *float64) int
		StartPreviewSession                    func(childComplexity int, projectID string) int
		StopAPMode                             func(childComplexity int, connectToSsid *string) int
		StopCueList                            func(childComplexity int, cueListID string) int
		StopEffect                             func(childComplexity int, effectID string, fadeTime *float64) int
		ToggleCueSkip                          func(childComplexity int, cueID string) int
		TriggerOFLImport                       func(childComplexity int, options *OFLImportOptionsInput) int
		Undo                                   func(childComplexity int, projectID string) int
		UpdateAllRepositories                  func(childComplexity int) int
		UpdateAuthSettings                     func(childComplexity int, input UpdateAuthSettingsInput) int
		UpdateCue                              func(childComplexity int, id string, input CreateCueInput) int
		UpdateCueList                          func(childComplexity int, id string, input CreateCueListInput) int
		UpdateDevice                           func(childComplexity int, id string, input UpdateDeviceInput) int
		UpdateDevicePermissions                func(childComplexity int, deviceID string, permissions DevicePermissions) int
		UpdateEffect                           func(childComplexity int, id string, input UpdateEffectInput) int
		UpdateEffectChannel                    func(childComplexity int, id string, input EffectChannelInput) int
		UpdateEffectFixture                    func(childComplexity int, id string, input UpdateEffectFixtureInput) int
		UpdateFadeUpdateRate                   func(childComplexity int, rateHz int) int
		UpdateFixtureDefinition                func(childComplexity int, id string, input CreateFixtureDefinitionInput) int
		UpdateFixtureGroup                     func(childComplexity int, input UpdateFixtureGroupInput) int
		UpdateFixtureInstance                  func(childComplexity int, id string, input UpdateFixtureInstanceInput) int
		UpdateFixturePositions                 func(childComplexity int, positions []*FixturePositionInput) int
		UpdateGroupMemberRole                  func(childComplexity int, userID string, groupID string, role GroupMemberRole) int
		UpdateInstanceChannelFadeBehavior      func(childComplexity int, channelID string, fadeBehavior FadeBehavior) int
		UpdateLook                             func(childComplexity int, id string, input UpdateLookInput) int
		UpdateLookBoard                        func(childComplexity int, id string, input UpdateLookBoardInput) int
		UpdateLookBoardButton                  func(childComplexity int, id string, input UpdateLookBoardButtonInput) int
		UpdateLookBoardButtonPositions         func(childComplexity int, positions []*LookBoardButtonPositionInput) int
		UpdateLookPartial                      func(childComplexity int, lookID string, name *string, description *string, fixtureValues []*FixtureValueInput, mergeFixtures *bool) int
		UpdatePreviewChannel                   func(childComplexity int, sessionID string, fixtureID string, channelIndex int, value int) int
		UpdatePreviewChannels                  func(childComplexity int, sessionID string, updates []*PreviewChannelUpdateInput) int
		UpdateProject                          func(childComplexity int, id string, input CreateProjectInput) int
		UpdateRepository                       func(childComplexity int, repository string, version *string) int
		UpdateSetting                          func(childComplexity int, input UpdateSettingInput) int
		UpdateUser                             func(childComplexity int, id string, input UpdateUserInput) int
		UpdateUserGroup                        func(childComplexity int, id string, input UpdateUserGroupInput) int
		VerifyEmail                            func(childComplexity int, token string) int
	}

	NetworkInterfaceOption struct {
		Address       func(childComplexity int) int
		Broadcast     func(childComplexity int) int
		Description   func(childComplexity int) int
		InterfaceType func(childComplexity int) int
		Name          func(childComplexity int) int
	}

	OFLFixtureUpdate struct {
		ChangeType    func(childComplexity int) int
		CurrentHash   func(childComplexity int) int
		FixtureKey    func(childComplexity int) int
		InstanceCount func(childComplexity int) int
		IsInUse       func(childComplexity int) int
		Manufacturer  func(childComplexity int) int
		Model         func(childComplexity int) int
		NewHash       func(childComplexity int) int
	}

	OFLImportResult struct {
		ErrorMessage func(childComplexity int) int
		OflVersion   func(childComplexity int) int
		Stats        func(childComplexity int) int
		Success      func(childComplexity int) int
	}

	OFLImportStats struct {
		DurationSeconds   func(childComplexity int) int
		FailedImports     func(childComplexity int) int
		SkippedDuplicates func(childComplexity int) int
		SuccessfulImports func(childComplexity int) int
		TotalProcessed    func(childComplexity int) int
		UpdatedFixtures   func(childComplexity int) int
	}

	OFLImportStatus struct {
		CompletedAt               func(childComplexity int) int
		CurrentFixture            func(childComplexity int) int
		CurrentManufacturer       func(childComplexity int) int
		ErrorMessage              func(childComplexity int) int
		EstimatedSecondsRemaining func(childComplexity int) int
		FailedCount               func(childComplexity int) int
		ImportedCount             func(childComplexity int) int
		IsImporting               func(childComplexity int) int
		OflVersion                func(childComplexity int) int
		PercentComplete           func(childComplexity int) int
		Phase                     func(childComplexity int) int
		SkippedCount              func(childComplexity int) int
		StartedAt                 func(childComplexity int) int
		TotalFixtures             func(childComplexity int) int
		UsingBundledData          func(childComplexity int) int
	}

	OFLUpdateCheckResult struct {
		ChangedFixtureCount func(childComplexity int) int
		ChangedInUseCount   func(childComplexity int) int
		CheckedAt           func(childComplexity int) int
		CurrentFixtureCount func(childComplexity int) int
		FixtureUpdates      func(childComplexity int) int
		NewFixtureCount     func(childComplexity int) int
		OflFixtureCount     func(childComplexity int) int
		OflVersion          func(childComplexity int) int
	}

	Operation struct {
		CreatedAt     func(childComplexity int) int
		Description   func(childComplexity int) int
		EntityID      func(childComplexity int) int
		EntityType    func(childComplexity int) int
		ID            func(childComplexity int) int
		OperationType func(childComplexity int) int
		ProjectID     func(childComplexity int) int
		RelatedIds    func(childComplexity int) int
		Sequence      func(childComplexity int) int
	}

	OperationHistoryPage struct {
		CurrentSequence func(childComplexity int) int
		Operations      func(childComplexity int) int
		Pagination      func(childComplexity int) int
	}

	OperationSummary struct {
		CreatedAt     func(childComplexity int) int
		Description   func(childComplexity int) int
		EntityType    func(childComplexity int) int
		ID            func(childComplexity int) int
		IsCurrent     func(childComplexity int) int
		OperationType func(childComplexity int) int
		Sequence      func(childComplexity int) int
	}

	PaginationInfo struct {
		HasMore    func(childComplexity int) int
		Page       func(childComplexity int) int
		PerPage    func(childComplexity int) int
		Total      func(childComplexity int) int
		TotalPages func(childComplexity int) int
	}

	PreviewSession struct {
		CreatedAt func(childComplexity int) int
		DmxOutput func(childComplexity int) int
		ID        func(childComplexity int) int
		IsActive  func(childComplexity int) int
		Project   func(childComplexity int) int
		User      func(childComplexity int) int
	}

	Project struct {
		CreatedAt          func(childComplexity int) int
		CueListCount       func(childComplexity int) int
		CueLists           func(childComplexity int) int
		DeletedAt          func(childComplexity int) int
		Description        func(childComplexity int) int
		FixtureCount       func(childComplexity int) int
		Fixtures           func(childComplexity int) int
		Group              func(childComplexity int) int
		GroupID            func(childComplexity int) int
		ID                 func(childComplexity int) int
		LayoutCanvasHeight func(childComplexity int) int
		LayoutCanvasWidth  func(childComplexity int) int
		LookBoards         func(childComplexity int) int
		LookCount          func(childComplexity int) int
		Looks              func(childComplexity int) int
		Name               func(childComplexity int) int
		UpdatedAt          func(childComplexity int) int
		Users              func(childComplexity int) int
	}

	ProjectUser struct {
		ID       func(childComplexity int) int
		JoinedAt func(childComplexity int) int
		Project  func(childComplexity int) int
		Role     func(childComplexity int) int
		User     func(childComplexity int) int
	}

	QLCExportResult struct {
		CueListCount func(childComplexity int) int
		FixtureCount func(childComplexity int) int
		LookCount    func(childComplexity int) int
		ProjectName  func(childComplexity int) int
		XMLContent   func(childComplexity int) int
	}

	QLCFixtureDefinition struct {
		Manufacturer func(childComplexity int) int
		Model        func(childComplexity int) int
		Modes        func(childComplexity int) int
		Type         func(childComplexity int) int
	}

	QLCFixtureMappingResult struct {
		DefaultMappings    func(childComplexity int) int
		LacyLightsFixtures func(childComplexity int) int
		ProjectID          func(childComplexity int) int
		Suggestions        func(childComplexity int) int
	}

	QLCFixtureMode struct {
		ChannelCount func(childComplexity int) int
		Name         func(childComplexity int) int
	}

	QLCImportResult struct {
		CueListCount     func(childComplexity int) int
		FixtureCount     func(childComplexity int) int
		LookCount        func(childComplexity int) int
		OriginalFileName func(childComplexity int) int
		Project          func(childComplexity int) int
		Warnings         func(childComplexity int) int
	}

	Query struct {
		AllDmxOutput                    func(childComplexity int) int
		ApClients                       func(childComplexity int) int
		ApConfig                        func(childComplexity int) int
		ArtNetStatus                    func(childComplexity int) int
		AuthEnabled                     func(childComplexity int) int
		AuthSettings                    func(childComplexity int) int
		AvailableVersions               func(childComplexity int, repository string) int
		BuildInfo                       func(childComplexity int) int
		ChannelMap                      func(childComplexity int, projectID string, universe *int) int
		CheckDevice                     func(childComplexity int, fingerprint string) int
		CheckDeviceAuthorization        func(childComplexity int, fingerprint string) int
		CheckOFLUpdates                 func(childComplexity int) int
		CompareLooks                    func(childComplexity int, lookID1 string, lookID2 string) int
		Cue                             func(childComplexity int, id string) int
		CueList                         func(childComplexity int, id string, page *int, perPage *int, includeLookDetails *bool) int
		CueListPlaybackStatus           func(childComplexity int, cueListID string) int
		CueLists                        func(childComplexity int, projectID string) int
		CueListsByIds                   func(childComplexity int, ids []string) int
		CuesByIds                       func(childComplexity int, ids []string) int
		CuesWithLookInfo                func(childComplexity int, cueListID string) int
		CurrentActiveLook               func(childComplexity int) int
		DeletedProjects                 func(childComplexity int) int
		Device                          func(childComplexity int, id string) int
		Devices                         func(childComplexity int, status *DeviceStatus) int
		DmxOutput                       func(childComplexity int, universe int) int
		Effect                          func(childComplexity int, id string) int
		Effects                         func(childComplexity int, projectID string) int
		FixtureDefinition               func(childComplexity int, id string) int
		FixtureDefinitions              func(childComplexity int, filter *FixtureDefinitionFilter) int
		FixtureDefinitionsByIds         func(childComplexity int, ids []string) int
		FixtureGroup                    func(childComplexity int, id string) int
		FixtureGroups                   func(childComplexity int, projectID string) int
		FixtureInstance                 func(childComplexity int, id string) int
		FixtureInstances                func(childComplexity int, projectID string, page *int, perPage *int, filter *FixtureFilterInput) int
		FixtureUsage                    func(childComplexity int, fixtureID string) int
		FixturesByIds                   func(childComplexity int, ids []string) int
		GetQLCFixtureMappingSuggestions func(childComplexity int, projectID string) int
		GlobalPlaybackStatus            func(childComplexity int) int
		GroupInvitations                func(childComplexity int, groupID string) int
		Look                            func(childComplexity int, id string, includeFixtureValues *bool) int
		LookBoard                       func(childComplexity int, id string) int
		LookBoardButton                 func(childComplexity int, id string) int
		LookBoards                      func(childComplexity int, projectID string) int
		LookBoardsByIds                 func(childComplexity int, ids []string) int
		LookFixtures                    func(childComplexity int, lookID string) int
		LookUsage                       func(childComplexity int, lookID string) int
		Looks                           func(childComplexity int, projectID string, page *int, perPage *int, filter *LookFilterInput, sortBy *LookSortField) int
		LooksByIds                      func(childComplexity int, ids []string) int
		Me                              func(childComplexity int) int
		ModulatorStatus                 func(childComplexity int) int
		MyGroups                        func(childComplexity int) int
		MyInvitations                   func(childComplexity int) int
		MySessions                      func(childComplexity int) int
		NetworkInterfaceOptions         func(childComplexity int) int
		OflImportStatus                 func(childComplexity int) int
		Operation                       func(childComplexity int, operationID string) int
		OperationHistory                func(childComplexity int, projectID string, page *int, perPage *int) int
		PendingDevices                  func(childComplexity int) int
		PreviewSession                  func(childComplexity int, sessionID string) int
		Project                         func(childComplexity int, id string) int
		Projects                        func(childComplexity int) int
		ProjectsByIds                   func(childComplexity int, ids []string) int
		SavedWifiNetworks               func(childComplexity int) int
		SearchCues                      func(childComplexity int, cueListID string, query string, page *int, perPage *int) int
		SearchFixtures                  func(childComplexity int, projectID string, query string, filter *FixtureFilterInput, page *int, perPage *int) int
		SearchLooks                     func(childComplexity int, projectID string, query string, filter *LookFilterInput, page *int, perPage *int) int
		Setting                         func(childComplexity int, key string) int
		Settings                        func(childComplexity int) int
		SuggestChannelAssignment        func(childComplexity int, input ChannelAssignmentInput) int
		SystemInfo                      func(childComplexity int) int
		SystemVersions                  func(childComplexity int) int
		UndoRedoStatus                  func(childComplexity int, projectID string) int
		User                            func(childComplexity int, id string) int
		UserGroup                       func(childComplexity int, id string) int
		UserGroups                      func(childComplexity int) int
		Users                           func(childComplexity int, page *int, perPage *int) int
		WifiMode                        func(childComplexity int) int
		WifiNetworks                    func(childComplexity int, rescan *bool, deduplicate *bool) int
		WifiStatus                      func(childComplexity int) int
	}

	RepositoryVersion struct {
		Installed       func(childComplexity int) int
		Latest          func(childComplexity int) int
		Repository      func(childComplexity int) int
		UpdateAvailable func(childComplexity int) int
	}

	Session struct {
		CreatedAt      func(childComplexity int) int
		Device         func(childComplexity int) int
		DeviceID       func(childComplexity int) int
		ExpiresAt      func(childComplexity int) int
		ID             func(childComplexity int) int
		IPAddress      func(childComplexity int) int
		LastActivityAt func(childComplexity int) int
		UserAgent      func(childComplexity int) int
		UserID         func(childComplexity int) int
	}

	Setting struct {
		CreatedAt func(childComplexity int) int
		ID        func(childComplexity int) int
		Key       func(childComplexity int) int
		UpdatedAt func(childComplexity int) int
		Value     func(childComplexity int) int
	}

	Subscription struct {
		CueListDataChanged          func(childComplexity int, cueListID string) int
		CueListPlaybackUpdated      func(childComplexity int, cueListID string) int
		DmxOutputChanged            func(childComplexity int, universe *int) int
		FixtureDataChanged          func(childComplexity int, projectID string) int
		GlobalPlaybackStatusUpdated func(childComplexity int) int
		LookBoardDataChanged        func(childComplexity int, projectID string) int
		LookDataChanged             func(childComplexity int, projectID string) int
		OflImportProgress           func(childComplexity int) int
		OperationHistoryChanged     func(childComplexity int, projectID string) int
		PreviewSessionUpdated       func(childComplexity int, projectID string) int
		ProjectUpdated              func(childComplexity int, projectID string) int
		SystemInfoUpdated           func(childComplexity int) int
		WifiModeChanged             func(childComplexity int) int
		WifiStatusUpdated           func(childComplexity int) int
	}

	SystemInfo struct {
		ArtnetBroadcastAddress func(childComplexity int) int
		ArtnetEnabled          func(childComplexity int) int
		FadeUpdateRateHz       func(childComplexity int) int
	}

	SystemVersionInfo struct {
		LastChecked                func(childComplexity int) int
		Repositories               func(childComplexity int) int
		VersionManagementSupported func(childComplexity int) int
	}

	UndoRedoResult struct {
		Message          func(childComplexity int) int
		Operation        func(childComplexity int) int
		RestoredEntityID func(childComplexity int) int
		Success          func(childComplexity int) int
	}

	UndoRedoStatus struct {
		CanRedo         func(childComplexity int) int
		CanUndo         func(childComplexity int) int
		CurrentSequence func(childComplexity int) int
		ProjectID       func(childComplexity int) int
		RedoDescription func(childComplexity int) int
		TotalOperations func(childComplexity int) int
		UndoDescription func(childComplexity int) int
	}

	UniverseChannelMap struct {
		AvailableChannels func(childComplexity int) int
		ChannelUsage      func(childComplexity int) int
		Fixtures          func(childComplexity int) int
		Universe          func(childComplexity int) int
		UsedChannels      func(childComplexity int) int
	}

	UniverseOutput struct {
		Channels func(childComplexity int) int
		Universe func(childComplexity int) int
	}

	UpdateResult struct {
		Error           func(childComplexity int) int
		Message         func(childComplexity int) int
		NewVersion      func(childComplexity int) int
		PreviousVersion func(childComplexity int) int
		Repository      func(childComplexity int) int
		Success         func(childComplexity int) int
	}

	User struct {
		CreatedAt func(childComplexity int) int
		Email     func(childComplexity int) int
		ID        func(childComplexity int) int
		Name      func(childComplexity int) int
		Role      func(childComplexity int) int
	}

	UserGroup struct {
		CreatedAt   func(childComplexity int) int
		Description func(childComplexity int) int
		Devices     func(childComplexity int) int
		ID          func(childComplexity int) int
		IsPersonal  func(childComplexity int) int
		MemberCount func(childComplexity int) int
		Members     func(childComplexity int) int
		Name        func(childComplexity int) int
		Permissions func(childComplexity int) int
		Projects    func(childComplexity int) int
		UpdatedAt   func(childComplexity int) int
	}

	WiFiConnectionResult struct {
		Connected func(childComplexity int) int
		Message   func(childComplexity int) int
		Success   func(childComplexity int) int
	}

	WiFiModeResult struct {
		Message func(childComplexity int) int
		Mode    func(childComplexity int) int
		Success func(childComplexity int) int
	}

	WiFiNetwork struct {
		Frequency      func(childComplexity int) int
		InUse          func(childComplexity int) int
		Saved          func(childComplexity int) int
		Security       func(childComplexity int) int
		SignalStrength func(childComplexity int) int
		Ssid           func(childComplexity int) int
	}

	WiFiStatus struct {
		ApConfig         func(childComplexity int) int
		Available        func(childComplexity int) int
		Connected        func(childComplexity int) int
		ConnectedClients func(childComplexity int) int
		Enabled          func(childComplexity int) int
		Frequency        func(childComplexity int) int
		IPAddress        func(childComplexity int) int
		MacAddress       func(childComplexity int) int
		Mode             func(childComplexity int) int
		SignalStrength   func(childComplexity int) int
		Ssid             func(childComplexity int) int
	}
}

type CompositionMode added in v0.2.30

type CompositionMode string

How multiple effects combine their values. OVERRIDE - Higher priority effect completely replaces lower ADDITIVE - Effects add their values together MULTIPLY - Effects multiply their values together

const (
	CompositionModeOverride CompositionMode = "OVERRIDE"
	CompositionModeAdditive CompositionMode = "ADDITIVE"
	CompositionModeMultiply CompositionMode = "MULTIPLY"
)

func (CompositionMode) IsValid added in v0.2.30

func (e CompositionMode) IsValid() bool

func (CompositionMode) MarshalGQL added in v0.2.30

func (e CompositionMode) MarshalGQL(w io.Writer)

func (CompositionMode) MarshalJSON added in v0.2.30

func (e CompositionMode) MarshalJSON() ([]byte, error)

func (CompositionMode) String added in v0.2.30

func (e CompositionMode) String() string

func (*CompositionMode) UnmarshalGQL added in v0.2.30

func (e *CompositionMode) UnmarshalGQL(v any) error

func (*CompositionMode) UnmarshalJSON added in v0.2.30

func (e *CompositionMode) UnmarshalJSON(b []byte) error

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type CopyFixturesToLooksInput added in v0.2.30

type CopyFixturesToLooksInput struct {
	// ID of the look to copy fixtures from
	SourceLookID string `json:"sourceLookId"`
	// IDs of fixtures to copy
	FixtureIds []string `json:"fixtureIds"`
	// IDs of looks to copy fixtures to
	TargetLookIds []string `json:"targetLookIds"`
}

Input for copying fixtures from one look to multiple target looks.

type CopyFixturesToLooksResult added in v0.2.30

type CopyFixturesToLooksResult struct {
	// Number of looks updated
	UpdatedLookCount int `json:"updatedLookCount"`
	// Number of cues affected (for UI feedback)
	AffectedCueCount int `json:"affectedCueCount"`
	// The updated looks
	UpdatedLooks []*models.Look `json:"updatedLooks"`
	// Operation ID for undo (single atomic operation). Null if undo capture failed.
	OperationID *string `json:"operationId,omitempty"`
}

Result of the copy fixtures operation.

type CreateChannelDefinitionInput

type CreateChannelDefinitionInput struct {
	Name         string                           `json:"name"`
	Type         ChannelType                      `json:"type"`
	Offset       int                              `json:"offset"`
	MinValue     int                              `json:"minValue"`
	MaxValue     int                              `json:"maxValue"`
	DefaultValue int                              `json:"defaultValue"`
	FadeBehavior graphql.Omittable[*FadeBehavior] `json:"fadeBehavior,omitempty"`
	IsDiscrete   graphql.Omittable[*bool]         `json:"isDiscrete,omitempty"`
}

type CreateCueInput

type CreateCueInput struct {
	Name        string                         `json:"name"`
	CueNumber   float64                        `json:"cueNumber"`
	CueListID   string                         `json:"cueListId"`
	LookID      string                         `json:"lookId"`
	FadeInTime  float64                        `json:"fadeInTime"`
	FadeOutTime float64                        `json:"fadeOutTime"`
	FollowTime  graphql.Omittable[*float64]    `json:"followTime,omitempty"`
	EasingType  graphql.Omittable[*EasingType] `json:"easingType,omitempty"`
	Notes       graphql.Omittable[*string]     `json:"notes,omitempty"`
	// When true, this cue is skipped during playback (default: false)
	Skip graphql.Omittable[*bool] `json:"skip,omitempty"`
}

type CreateCueListInput

type CreateCueListInput struct {
	Name        string                     `json:"name"`
	Description graphql.Omittable[*string] `json:"description,omitempty"`
	Loop        graphql.Omittable[*bool]   `json:"loop,omitempty"`
	ProjectID   string                     `json:"projectId"`
}

type CreateEffectInput added in v0.2.30

type CreateEffectInput struct {
	Name            string                                 `json:"name"`
	Description     graphql.Omittable[*string]             `json:"description,omitempty"`
	ProjectID       string                                 `json:"projectId"`
	EffectType      EffectType                             `json:"effectType"`
	PriorityBand    graphql.Omittable[*PriorityBand]       `json:"priorityBand,omitempty"`
	PrioritySub     graphql.Omittable[*int]                `json:"prioritySub,omitempty"`
	CompositionMode graphql.Omittable[*CompositionMode]    `json:"compositionMode,omitempty"`
	OnCueChange     graphql.Omittable[*TransitionBehavior] `json:"onCueChange,omitempty"`
	FadeDuration    graphql.Omittable[*float64]            `json:"fadeDuration,omitempty"`
	Waveform        graphql.Omittable[*WaveformType]       `json:"waveform,omitempty"`
	Frequency       graphql.Omittable[*float64]            `json:"frequency,omitempty"`
	Amplitude       graphql.Omittable[*float64]            `json:"amplitude,omitempty"`
	Offset          graphql.Omittable[*float64]            `json:"offset,omitempty"`
	PhaseOffset     graphql.Omittable[*float64]            `json:"phaseOffset,omitempty"`
	MasterValue     graphql.Omittable[*float64]            `json:"masterValue,omitempty"`
}

type CreateFixtureDefinitionInput

type CreateFixtureDefinitionInput struct {
	Manufacturer string                                `json:"manufacturer"`
	Model        string                                `json:"model"`
	Type         FixtureType                           `json:"type"`
	Channels     []*CreateChannelDefinitionInput       `json:"channels"`
	Modes        graphql.Omittable[[]*CreateModeInput] `json:"modes,omitempty"`
}

type CreateFixtureGroupInput added in v0.3.0

type CreateFixtureGroupInput struct {
	ProjectID   string                     `json:"projectId"`
	Name        string                     `json:"name"`
	Description graphql.Omittable[*string] `json:"description,omitempty"`
	FixtureIds  []string                   `json:"fixtureIds"`
	EosNumber   graphql.Omittable[*int]    `json:"eosNumber,omitempty"`
}

type CreateFixtureInstanceInput

type CreateFixtureInstanceInput struct {
	Name         string                      `json:"name"`
	Description  graphql.Omittable[*string]  `json:"description,omitempty"`
	DefinitionID string                      `json:"definitionId"`
	ModeID       graphql.Omittable[*string]  `json:"modeId,omitempty"`
	ProjectID    string                      `json:"projectId"`
	Universe     int                         `json:"universe"`
	StartChannel int                         `json:"startChannel"`
	Tags         graphql.Omittable[[]string] `json:"tags,omitempty"`
}

type CreateLookBoardButtonInput added in v0.2.30

type CreateLookBoardButtonInput struct {
	LookBoardID string                     `json:"lookBoardId"`
	LookID      string                     `json:"lookId"`
	LayoutX     int                        `json:"layoutX"`
	LayoutY     int                        `json:"layoutY"`
	Width       graphql.Omittable[*int]    `json:"width,omitempty"`
	Height      graphql.Omittable[*int]    `json:"height,omitempty"`
	Color       graphql.Omittable[*string] `json:"color,omitempty"`
	Label       graphql.Omittable[*string] `json:"label,omitempty"`
}

type CreateLookBoardInput added in v0.2.30

type CreateLookBoardInput struct {
	Name            string                      `json:"name"`
	Description     graphql.Omittable[*string]  `json:"description,omitempty"`
	ProjectID       string                      `json:"projectId"`
	DefaultFadeTime graphql.Omittable[*float64] `json:"defaultFadeTime,omitempty"`
	GridSize        graphql.Omittable[*int]     `json:"gridSize,omitempty"`
	CanvasWidth     graphql.Omittable[*int]     `json:"canvasWidth,omitempty"`
	CanvasHeight    graphql.Omittable[*int]     `json:"canvasHeight,omitempty"`
}

type CreateLookInput added in v0.2.30

type CreateLookInput struct {
	Name          string                     `json:"name"`
	Description   graphql.Omittable[*string] `json:"description,omitempty"`
	ProjectID     string                     `json:"projectId"`
	FixtureValues []*FixtureValueInput       `json:"fixtureValues"`
}

type CreateModeInput added in v0.2.1

type CreateModeInput struct {
	Name      string                     `json:"name"`
	ShortName graphql.Omittable[*string] `json:"shortName,omitempty"`
	Channels  []string                   `json:"channels"`
}

type CreateProjectInput

type CreateProjectInput struct {
	Name        string                     `json:"name"`
	Description graphql.Omittable[*string] `json:"description,omitempty"`
	// Group to own this project (defaults to user's only group if they have exactly one)
	GroupID            graphql.Omittable[*string] `json:"groupId,omitempty"`
	LayoutCanvasWidth  graphql.Omittable[*int]    `json:"layoutCanvasWidth,omitempty"`
	LayoutCanvasHeight graphql.Omittable[*int]    `json:"layoutCanvasHeight,omitempty"`
}

type CreateUserGroupInput added in v0.2.31

type CreateUserGroupInput struct {
	Name        string                      `json:"name"`
	Description graphql.Omittable[*string]  `json:"description,omitempty"`
	Permissions graphql.Omittable[[]string] `json:"permissions,omitempty"`
}

type CreateUserInput added in v0.2.31

type CreateUserInput struct {
	Email    string                       `json:"email"`
	Password string                       `json:"password"`
	Name     graphql.Omittable[*string]   `json:"name,omitempty"`
	Role     graphql.Omittable[*UserRole] `json:"role,omitempty"`
}

type CueEffectResolver added in v0.2.30

type CueEffectResolver interface {
	OnCueChange(ctx context.Context, obj *models.CueEffect) (*TransitionBehavior, error)
}

type CueListDataChangeType added in v0.2.29

type CueListDataChangeType string
const (
	CueListDataChangeTypeCueAdded               CueListDataChangeType = "CUE_ADDED"
	CueListDataChangeTypeCueUpdated             CueListDataChangeType = "CUE_UPDATED"
	CueListDataChangeTypeCueRemoved             CueListDataChangeType = "CUE_REMOVED"
	CueListDataChangeTypeCueReordered           CueListDataChangeType = "CUE_REORDERED"
	CueListDataChangeTypeCueListMetadataChanged CueListDataChangeType = "CUE_LIST_METADATA_CHANGED"
	CueListDataChangeTypeLookNameChanged        CueListDataChangeType = "LOOK_NAME_CHANGED"
)

func (CueListDataChangeType) IsValid added in v0.2.29

func (e CueListDataChangeType) IsValid() bool

func (CueListDataChangeType) MarshalGQL added in v0.2.29

func (e CueListDataChangeType) MarshalGQL(w io.Writer)

func (CueListDataChangeType) MarshalJSON added in v0.2.29

func (e CueListDataChangeType) MarshalJSON() ([]byte, error)

func (CueListDataChangeType) String added in v0.2.29

func (e CueListDataChangeType) String() string

func (*CueListDataChangeType) UnmarshalGQL added in v0.2.29

func (e *CueListDataChangeType) UnmarshalGQL(v any) error

func (*CueListDataChangeType) UnmarshalJSON added in v0.2.29

func (e *CueListDataChangeType) UnmarshalJSON(b []byte) error

type CueListDataChangedPayload added in v0.2.29

type CueListDataChangedPayload struct {
	CueListID  string                `json:"cueListId"`
	ChangeType CueListDataChangeType `json:"changeType"`
	// Affected cue IDs (for cue changes)
	AffectedCueIds []string `json:"affectedCueIds,omitempty"`
	// Affected look ID (for look name changes)
	AffectedLookID *string `json:"affectedLookId,omitempty"`
	// New look name if this is a LOOK_NAME_CHANGED event
	NewLookName *string `json:"newLookName,omitempty"`
	// Timestamp of the change
	Timestamp string `json:"timestamp"`
}

Payload for cue list data change notifications

type CueListPlaybackStatus

type CueListPlaybackStatus struct {
	CueListID       string `json:"cueListId"`
	CurrentCueIndex *int   `json:"currentCueIndex,omitempty"`
	// True when a look's values are currently active on DMX fixtures (stays true after fade completes until stopped)
	IsPlaying bool `json:"isPlaying"`
	// True when the cue list is paused (look activated outside cue context, cue index preserved)
	IsPaused bool `json:"isPaused"`
	// True when a fade-in transition is in progress
	IsFading     bool        `json:"isFading"`
	CurrentCue   *models.Cue `json:"currentCue,omitempty"`
	NextCue      *models.Cue `json:"nextCue,omitempty"`
	PreviousCue  *models.Cue `json:"previousCue,omitempty"`
	FadeProgress *float64    `json:"fadeProgress,omitempty"`
	LastUpdated  string      `json:"lastUpdated"`
}

type CueListResolver

type CueListResolver interface {
	Project(ctx context.Context, obj *models.CueList) (*models.Project, error)
	Cues(ctx context.Context, obj *models.CueList) ([]*models.Cue, error)
	CueCount(ctx context.Context, obj *models.CueList) (int, error)
	TotalDuration(ctx context.Context, obj *models.CueList) (float64, error)
	CreatedAt(ctx context.Context, obj *models.CueList) (string, error)
	UpdatedAt(ctx context.Context, obj *models.CueList) (string, error)
}

type CueListSummary

type CueListSummary struct {
	ID            string  `json:"id"`
	Name          string  `json:"name"`
	Description   *string `json:"description,omitempty"`
	CueCount      int     `json:"cueCount"`
	TotalDuration float64 `json:"totalDuration"`
	Loop          bool    `json:"loop"`
	CreatedAt     string  `json:"createdAt"`
}

type CueListUpdateItem added in v0.1.3

type CueListUpdateItem struct {
	CueListID   string                     `json:"cueListId"`
	Name        graphql.Omittable[*string] `json:"name,omitempty"`
	Description graphql.Omittable[*string] `json:"description,omitempty"`
	Loop        graphql.Omittable[*bool]   `json:"loop,omitempty"`
}

type CueOrderInput

type CueOrderInput struct {
	CueID     string  `json:"cueId"`
	CueNumber float64 `json:"cueNumber"`
}

type CuePage

type CuePage struct {
	Cues       []*models.Cue  `json:"cues"`
	Pagination PaginationInfo `json:"pagination"`
}

type CueResolver

type CueResolver interface {
	Look(ctx context.Context, obj *models.Cue) (*models.Look, error)
	CueList(ctx context.Context, obj *models.Cue) (*models.CueList, error)

	EasingType(ctx context.Context, obj *models.Cue) (*EasingType, error)

	Effects(ctx context.Context, obj *models.Cue) ([]*models.CueEffect, error)
}

type CueUsageSummary

type CueUsageSummary struct {
	CueID       string  `json:"cueId"`
	CueNumber   float64 `json:"cueNumber"`
	CueName     string  `json:"cueName"`
	CueListID   string  `json:"cueListId"`
	CueListName string  `json:"cueListName"`
}

type CueWithLookInfo added in v0.2.30

type CueWithLookInfo struct {
	CueID     string  `json:"cueId"`
	CueNumber float64 `json:"cueNumber"`
	CueName   string  `json:"cueName"`
	LookID    string  `json:"lookId"`
	LookName  string  `json:"lookName"`
	// Other cue numbers that use the same look (excluding this cue)
	OtherCueNumbers []float64 `json:"otherCueNumbers"`
}

A cue with its associated look information for the copy modal.

type CuesWithLookInfoResponse added in v0.2.30

type CuesWithLookInfoResponse struct {
	// Cues sorted by cue number
	Cues []*CueWithLookInfo `json:"cues"`
	// Looks in the project that are not used by any cue in this cue list
	OrphanLooks []*LookSummary `json:"orphanLooks"`
}

Response for the cuesWithLookInfo query.

type DeviceAuthCode added in v0.2.31

type DeviceAuthCode struct {
	// The authorization code (6 digits)
	Code string `json:"code"`
	// When the code expires
	ExpiresAt string `json:"expiresAt"`
	// Device ID this code is for
	DeviceID string `json:"deviceId"`
}

Device authorization code for pre-authorizing devices.

type DeviceAuthStatus added in v0.2.31

type DeviceAuthStatus struct {
	// Whether the device is known and authorized
	IsAuthorized bool `json:"isAuthorized"`
	// Whether the device is known but not yet authorized
	IsPending bool `json:"isPending"`
	// The device record if it exists
	Device *models.Device `json:"device,omitempty"`
	// Default user for auto-login (if authorized)
	DefaultUser *models.User `json:"defaultUser,omitempty"`
}

Result of checking device authorization status.

type DeviceCheckResult added in v0.2.31

type DeviceCheckResult struct {
	// Current status of the device (PENDING, APPROVED, or REVOKED). Unregistered devices return PENDING status.
	Status DeviceStatus `json:"status"`
	// The device record if it exists
	Device *models.Device `json:"device,omitempty"`
	// Human-readable message about the device status
	Message *string `json:"message,omitempty"`
}

Result of checking a device's status by fingerprint. Used by clients to determine if they need to register.

type DevicePermissions added in v0.2.31

type DevicePermissions string

Permission level for device-based authentication.

const (
	// Can only view data, no modifications
	DevicePermissionsReadOnly DevicePermissions = "READ_ONLY"
	// Can control lights and make operational changes
	DevicePermissionsOperator DevicePermissions = "OPERATOR"
	// Full access including device management
	DevicePermissionsAdmin DevicePermissions = "ADMIN"
)

func (DevicePermissions) IsValid added in v0.2.31

func (e DevicePermissions) IsValid() bool

func (DevicePermissions) MarshalGQL added in v0.2.31

func (e DevicePermissions) MarshalGQL(w io.Writer)

func (DevicePermissions) MarshalJSON added in v0.2.31

func (e DevicePermissions) MarshalJSON() ([]byte, error)

func (DevicePermissions) String added in v0.2.31

func (e DevicePermissions) String() string

func (*DevicePermissions) UnmarshalGQL added in v0.2.31

func (e *DevicePermissions) UnmarshalGQL(v any) error

func (*DevicePermissions) UnmarshalJSON added in v0.2.31

func (e *DevicePermissions) UnmarshalJSON(b []byte) error

type DeviceRegistrationResult added in v0.2.31

type DeviceRegistrationResult struct {
	// Whether the registration was successful
	Success bool `json:"success"`
	// The registered device (null if registration failed)
	Device *models.Device `json:"device,omitempty"`
	// Human-readable message about the result
	Message string `json:"message"`
}

Result of registering a new device.

type DeviceResolver added in v0.2.31

type DeviceResolver interface {
	Status(ctx context.Context, obj *models.Device) (DeviceStatus, error)
	Permissions(ctx context.Context, obj *models.Device) (DevicePermissions, error)

	DefaultRole(ctx context.Context, obj *models.Device) (DeviceRole, error)
	LastSeenAt(ctx context.Context, obj *models.Device) (*string, error)

	CreatedAt(ctx context.Context, obj *models.Device) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Device) (string, error)
	ApprovedAt(ctx context.Context, obj *models.Device) (*string, error)

	Groups(ctx context.Context, obj *models.Device) ([]*models.UserGroup, error)
}

type DeviceRole added in v0.2.31

type DeviceRole string

Default role for device-authenticated users.

const (
	DeviceRolePlayer   DeviceRole = "PLAYER"
	DeviceRoleOperator DeviceRole = "OPERATOR"
	DeviceRoleDesigner DeviceRole = "DESIGNER"
)

func (DeviceRole) IsValid added in v0.2.31

func (e DeviceRole) IsValid() bool

func (DeviceRole) MarshalGQL added in v0.2.31

func (e DeviceRole) MarshalGQL(w io.Writer)

func (DeviceRole) MarshalJSON added in v0.2.31

func (e DeviceRole) MarshalJSON() ([]byte, error)

func (DeviceRole) String added in v0.2.31

func (e DeviceRole) String() string

func (*DeviceRole) UnmarshalGQL added in v0.2.31

func (e *DeviceRole) UnmarshalGQL(v any) error

func (*DeviceRole) UnmarshalJSON added in v0.2.31

func (e *DeviceRole) UnmarshalJSON(b []byte) error

type DeviceStatus added in v0.2.31

type DeviceStatus string

Status of a device in the authentication system.

const (
	// Device is registered but not yet approved
	DeviceStatusPending DeviceStatus = "PENDING"
	// Device is approved and can access the system
	DeviceStatusApproved DeviceStatus = "APPROVED"
	// Device access has been revoked
	DeviceStatusRevoked DeviceStatus = "REVOKED"
)

func (DeviceStatus) IsValid added in v0.2.31

func (e DeviceStatus) IsValid() bool

func (DeviceStatus) MarshalGQL added in v0.2.31

func (e DeviceStatus) MarshalGQL(w io.Writer)

func (DeviceStatus) MarshalJSON added in v0.2.31

func (e DeviceStatus) MarshalJSON() ([]byte, error)

func (DeviceStatus) String added in v0.2.31

func (e DeviceStatus) String() string

func (*DeviceStatus) UnmarshalGQL added in v0.2.31

func (e *DeviceStatus) UnmarshalGQL(v any) error

func (*DeviceStatus) UnmarshalJSON added in v0.2.31

func (e *DeviceStatus) UnmarshalJSON(b []byte) error

type DifferenceType

type DifferenceType string
const (
	DifferenceTypeValuesChanged DifferenceType = "VALUES_CHANGED"
	DifferenceTypeOnlyInLook1   DifferenceType = "ONLY_IN_LOOK1"
	DifferenceTypeOnlyInLook2   DifferenceType = "ONLY_IN_LOOK2"
)

func (DifferenceType) IsValid

func (e DifferenceType) IsValid() bool

func (DifferenceType) MarshalGQL

func (e DifferenceType) MarshalGQL(w io.Writer)

func (DifferenceType) MarshalJSON

func (e DifferenceType) MarshalJSON() ([]byte, error)

func (DifferenceType) String

func (e DifferenceType) String() string

func (*DifferenceType) UnmarshalGQL

func (e *DifferenceType) UnmarshalGQL(v any) error

func (*DifferenceType) UnmarshalJSON

func (e *DifferenceType) UnmarshalJSON(b []byte) error

type DirectiveRoot

type DirectiveRoot struct {
}

type EasingType

type EasingType string
const (
	EasingTypeLinear             EasingType = "LINEAR"
	EasingTypeEaseInOutCubic     EasingType = "EASE_IN_OUT_CUBIC"
	EasingTypeEaseInOutSine      EasingType = "EASE_IN_OUT_SINE"
	EasingTypeEaseOutExponential EasingType = "EASE_OUT_EXPONENTIAL"
	EasingTypeBezier             EasingType = "BEZIER"
	EasingTypeSCurve             EasingType = "S_CURVE"
)

func (EasingType) IsValid

func (e EasingType) IsValid() bool

func (EasingType) MarshalGQL

func (e EasingType) MarshalGQL(w io.Writer)

func (EasingType) MarshalJSON

func (e EasingType) MarshalJSON() ([]byte, error)

func (EasingType) String

func (e EasingType) String() string

func (*EasingType) UnmarshalGQL

func (e *EasingType) UnmarshalGQL(v any) error

func (*EasingType) UnmarshalJSON

func (e *EasingType) UnmarshalJSON(b []byte) error

type EffectChannelInput added in v0.2.30

type EffectChannelInput struct {
	// Target by DMX offset (0-based). Null if targeting by type.
	ChannelOffset graphql.Omittable[*int] `json:"channelOffset,omitempty"`
	// Target by channel type. Null if targeting by offset.
	ChannelType graphql.Omittable[*ChannelType] `json:"channelType,omitempty"`
	// Amplitude scale for this channel (0-200%). Ignored if minValue/maxValue are set.
	AmplitudeScale graphql.Omittable[*float64] `json:"amplitudeScale,omitempty"`
	// Frequency scale for this channel. Null uses effect's frequency.
	FrequencyScale graphql.Omittable[*float64] `json:"frequencyScale,omitempty"`
	// Minimum value for oscillation (0-100%). Use with maxValue to define range.
	MinValue graphql.Omittable[*float64] `json:"minValue,omitempty"`
	// Maximum value for oscillation (0-100%). Use with minValue to define range.
	MaxValue graphql.Omittable[*float64] `json:"maxValue,omitempty"`
}

Input for adding or updating a channel within an effect fixture. Target by offset OR type (not both).

type EffectResolver added in v0.2.30

type EffectResolver interface {
	EffectType(ctx context.Context, obj *models.Effect) (EffectType, error)
	PriorityBand(ctx context.Context, obj *models.Effect) (PriorityBand, error)

	CompositionMode(ctx context.Context, obj *models.Effect) (CompositionMode, error)
	OnCueChange(ctx context.Context, obj *models.Effect) (TransitionBehavior, error)

	Waveform(ctx context.Context, obj *models.Effect) (*WaveformType, error)

	CreatedAt(ctx context.Context, obj *models.Effect) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Effect) (string, error)
}

type EffectType added in v0.2.30

type EffectType string

Type of effect, determining its calculation behavior. WAVEFORM - LFO-based continuous modulation using waveforms CROSSFADE - Interpolates between channel states over time STATIC - Sets channels to fixed values without modulation MASTER - Multiplier effect for intensity scaling (grand master)

const (
	EffectTypeWaveform  EffectType = "WAVEFORM"
	EffectTypeCrossfade EffectType = "CROSSFADE"
	EffectTypeStatic    EffectType = "STATIC"
	EffectTypeMaster    EffectType = "MASTER"
)

func (EffectType) IsValid added in v0.2.30

func (e EffectType) IsValid() bool

func (EffectType) MarshalGQL added in v0.2.30

func (e EffectType) MarshalGQL(w io.Writer)

func (EffectType) MarshalJSON added in v0.2.30

func (e EffectType) MarshalJSON() ([]byte, error)

func (EffectType) String added in v0.2.30

func (e EffectType) String() string

func (*EffectType) UnmarshalGQL added in v0.2.30

func (e *EffectType) UnmarshalGQL(v any) error

func (*EffectType) UnmarshalJSON added in v0.2.30

func (e *EffectType) UnmarshalJSON(b []byte) error

type EntityDataChangeType added in v0.2.30

type EntityDataChangeType string

Type of entity change for real-time updates. CREATED - Entity was created UPDATED - Entity was modified DELETED - Entity was deleted

const (
	EntityDataChangeTypeCreated EntityDataChangeType = "CREATED"
	EntityDataChangeTypeUpdated EntityDataChangeType = "UPDATED"
	EntityDataChangeTypeDeleted EntityDataChangeType = "DELETED"
)

func (EntityDataChangeType) IsValid added in v0.2.30

func (e EntityDataChangeType) IsValid() bool

func (EntityDataChangeType) MarshalGQL added in v0.2.30

func (e EntityDataChangeType) MarshalGQL(w io.Writer)

func (EntityDataChangeType) MarshalJSON added in v0.2.30

func (e EntityDataChangeType) MarshalJSON() ([]byte, error)

func (EntityDataChangeType) String added in v0.2.30

func (e EntityDataChangeType) String() string

func (*EntityDataChangeType) UnmarshalGQL added in v0.2.30

func (e *EntityDataChangeType) UnmarshalGQL(v any) error

func (*EntityDataChangeType) UnmarshalJSON added in v0.2.30

func (e *EntityDataChangeType) UnmarshalJSON(b []byte) error

type EosExportResult added in v0.3.0

type EosExportResult struct {
	ProjectID      string        `json:"projectId"`
	ProjectName    string        `json:"projectName"`
	ASCIIContent   string        `json:"asciiContent"`
	FilenameSuffix string        `json:"filenameSuffix"`
	Warnings       []*EosWarning `json:"warnings"`
}

type EosImportOptionsInput added in v0.3.0

type EosImportOptionsInput struct {
	NewProjectName  graphql.Omittable[*string] `json:"newProjectName,omitempty"`
	TargetProjectID graphql.Omittable[*string] `json:"targetProjectId,omitempty"`
}

Options controlling how an Eos ASCII import is applied.

Exactly one of `newProjectName` or `targetProjectId` should be set:

  • `newProjectName`: create a new project with the given name (or the showfile's `$$Title` if both are absent).
  • `targetProjectId`: append the import into the named existing project. Existing fixtures, looks, cue lists, and look boards are NOT cleared; the new content is added alongside them. A future flag may add a replace mode.

type EosImportResult added in v0.3.0

type EosImportResult struct {
	ProjectID                string        `json:"projectId"`
	FixtureDefinitionsCount  int           `json:"fixtureDefinitionsCount"`
	FixtureInstancesCount    int           `json:"fixtureInstancesCount"`
	LooksCount               int           `json:"looksCount"`
	CueListsCount            int           `json:"cueListsCount"`
	CuesCount                int           `json:"cuesCount"`
	GroupsCount              int           `json:"groupsCount"`
	Warnings                 []*EosWarning `json:"warnings"`
	SynthesizedDefinitionIds []string      `json:"synthesizedDefinitionIds"`
}

type EosWarning added in v0.3.0

type EosWarning struct {
	Code     string                    `json:"code"`
	Severity EosWarningSeverity        `json:"severity"`
	Message  string                    `json:"message"`
	Context  []*EosWarningContextEntry `json:"context"`
}

type EosWarningContextEntry added in v0.3.0

type EosWarningContextEntry struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type EosWarningSeverity added in v0.3.0

type EosWarningSeverity string
const (
	EosWarningSeverityInfo EosWarningSeverity = "INFO"
	EosWarningSeverityWarn EosWarningSeverity = "WARN"
)

func (EosWarningSeverity) IsValid added in v0.3.0

func (e EosWarningSeverity) IsValid() bool

func (EosWarningSeverity) MarshalGQL added in v0.3.0

func (e EosWarningSeverity) MarshalGQL(w io.Writer)

func (EosWarningSeverity) MarshalJSON added in v0.3.0

func (e EosWarningSeverity) MarshalJSON() ([]byte, error)

func (EosWarningSeverity) String added in v0.3.0

func (e EosWarningSeverity) String() string

func (*EosWarningSeverity) UnmarshalGQL added in v0.3.0

func (e *EosWarningSeverity) UnmarshalGQL(v any) error

func (*EosWarningSeverity) UnmarshalJSON added in v0.3.0

func (e *EosWarningSeverity) UnmarshalJSON(b []byte) error

type ExportOptionsInput

type ExportOptionsInput struct {
	Description     graphql.Omittable[*string] `json:"description,omitempty"`
	IncludeFixtures graphql.Omittable[*bool]   `json:"includeFixtures,omitempty"`
	IncludeLooks    graphql.Omittable[*bool]   `json:"includeLooks,omitempty"`
	IncludeCueLists graphql.Omittable[*bool]   `json:"includeCueLists,omitempty"`
}

type ExportResult

type ExportResult struct {
	ProjectID   string      `json:"projectId"`
	ProjectName string      `json:"projectName"`
	JSONContent string      `json:"jsonContent"`
	Stats       ExportStats `json:"stats"`
}

type ExportStats

type ExportStats struct {
	FixtureDefinitionsCount int `json:"fixtureDefinitionsCount"`
	FixtureInstancesCount   int `json:"fixtureInstancesCount"`
	LooksCount              int `json:"looksCount"`
	CueListsCount           int `json:"cueListsCount"`
	CuesCount               int `json:"cuesCount"`
	LookBoardsCount         int `json:"lookBoardsCount"`
}

type FadeBehavior added in v0.2.0

type FadeBehavior string

Determines how a channel behaves during look transitions. FADE - Interpolate smoothly between values (default for intensity, colors) SNAP - Jump to target value at start of transition (for gobos, macros, effects) SNAP_END - Jump to target value at end of transition

const (
	FadeBehaviorFade    FadeBehavior = "FADE"
	FadeBehaviorSnap    FadeBehavior = "SNAP"
	FadeBehaviorSnapEnd FadeBehavior = "SNAP_END"
)

func (FadeBehavior) IsValid added in v0.2.0

func (e FadeBehavior) IsValid() bool

func (FadeBehavior) MarshalGQL added in v0.2.0

func (e FadeBehavior) MarshalGQL(w io.Writer)

func (FadeBehavior) MarshalJSON added in v0.2.0

func (e FadeBehavior) MarshalJSON() ([]byte, error)

func (FadeBehavior) String added in v0.2.0

func (e FadeBehavior) String() string

func (*FadeBehavior) UnmarshalGQL added in v0.2.0

func (e *FadeBehavior) UnmarshalGQL(v any) error

func (*FadeBehavior) UnmarshalJSON added in v0.2.0

func (e *FadeBehavior) UnmarshalJSON(b []byte) error

type FixtureChannelAssignment

type FixtureChannelAssignment struct {
	FixtureName  string  `json:"fixtureName"`
	Manufacturer string  `json:"manufacturer"`
	Model        string  `json:"model"`
	Mode         *string `json:"mode,omitempty"`
	StartChannel int     `json:"startChannel"`
	EndChannel   int     `json:"endChannel"`
	ChannelCount int     `json:"channelCount"`
	ChannelRange string  `json:"channelRange"`
}

type FixtureConflictStrategy

type FixtureConflictStrategy string
const (
	FixtureConflictStrategySkip    FixtureConflictStrategy = "SKIP"
	FixtureConflictStrategyReplace FixtureConflictStrategy = "REPLACE"
	FixtureConflictStrategyError   FixtureConflictStrategy = "ERROR"
)

func (FixtureConflictStrategy) IsValid

func (e FixtureConflictStrategy) IsValid() bool

func (FixtureConflictStrategy) MarshalGQL

func (e FixtureConflictStrategy) MarshalGQL(w io.Writer)

func (FixtureConflictStrategy) MarshalJSON

func (e FixtureConflictStrategy) MarshalJSON() ([]byte, error)

func (FixtureConflictStrategy) String

func (e FixtureConflictStrategy) String() string

func (*FixtureConflictStrategy) UnmarshalGQL

func (e *FixtureConflictStrategy) UnmarshalGQL(v any) error

func (*FixtureConflictStrategy) UnmarshalJSON

func (e *FixtureConflictStrategy) UnmarshalJSON(b []byte) error

type FixtureDataChangedPayload added in v0.2.30

type FixtureDataChangedPayload struct {
	// The affected fixture IDs
	FixtureIds []string `json:"fixtureIds"`
	// The project containing the fixtures
	ProjectID string `json:"projectId"`
	// Type of change that occurred
	ChangeType EntityDataChangeType `json:"changeType"`
	// Timestamp of the change
	Timestamp string `json:"timestamp"`
}

Payload for fixture data change notifications (used for undo/redo real-time updates)

type FixtureDefinitionFilter

type FixtureDefinitionFilter struct {
	Manufacturer graphql.Omittable[*string]       `json:"manufacturer,omitempty"`
	Model        graphql.Omittable[*string]       `json:"model,omitempty"`
	Type         graphql.Omittable[*FixtureType]  `json:"type,omitempty"`
	IsBuiltIn    graphql.Omittable[*bool]         `json:"isBuiltIn,omitempty"`
	ChannelTypes graphql.Omittable[[]ChannelType] `json:"channelTypes,omitempty"`
}

type FixtureDefinitionResolver

type FixtureDefinitionResolver interface {
	Type(ctx context.Context, obj *models.FixtureDefinition) (FixtureType, error)
	Channels(ctx context.Context, obj *models.FixtureDefinition) ([]*models.ChannelDefinition, error)
	Modes(ctx context.Context, obj *models.FixtureDefinition) ([]*models.FixtureMode, error)

	CreatedAt(ctx context.Context, obj *models.FixtureDefinition) (string, error)
}

type FixtureDefinitionUpdateItem added in v0.1.3

type FixtureDefinitionUpdateItem struct {
	DefinitionID string                          `json:"definitionId"`
	Manufacturer graphql.Omittable[*string]      `json:"manufacturer,omitempty"`
	Model        graphql.Omittable[*string]      `json:"model,omitempty"`
	Type         graphql.Omittable[*FixtureType] `json:"type,omitempty"`
}

type FixtureFilterInput

type FixtureFilterInput struct {
	Type         graphql.Omittable[*FixtureType] `json:"type,omitempty"`
	Universe     graphql.Omittable[*int]         `json:"universe,omitempty"`
	Tags         graphql.Omittable[[]string]     `json:"tags,omitempty"`
	Manufacturer graphql.Omittable[*string]      `json:"manufacturer,omitempty"`
	Model        graphql.Omittable[*string]      `json:"model,omitempty"`
}

type FixtureGroupResolver added in v0.3.0

type FixtureGroupResolver interface {
	Project(ctx context.Context, obj *models.FixtureGroup) (*models.Project, error)
	Fixtures(ctx context.Context, obj *models.FixtureGroup) ([]*models.FixtureInstance, error)
	CreatedAt(ctx context.Context, obj *models.FixtureGroup) (string, error)
	UpdatedAt(ctx context.Context, obj *models.FixtureGroup) (string, error)
}

type FixtureInstancePage

type FixtureInstancePage struct {
	Fixtures   []*models.FixtureInstance `json:"fixtures"`
	Pagination PaginationInfo            `json:"pagination"`
}

type FixtureInstanceResolver

type FixtureInstanceResolver interface {
	Manufacturer(ctx context.Context, obj *models.FixtureInstance) (string, error)
	Model(ctx context.Context, obj *models.FixtureInstance) (string, error)
	Type(ctx context.Context, obj *models.FixtureInstance) (FixtureType, error)
	ModeName(ctx context.Context, obj *models.FixtureInstance) (string, error)
	ChannelCount(ctx context.Context, obj *models.FixtureInstance) (int, error)
	Channels(ctx context.Context, obj *models.FixtureInstance) ([]*models.InstanceChannel, error)
	Project(ctx context.Context, obj *models.FixtureInstance) (*models.Project, error)

	Tags(ctx context.Context, obj *models.FixtureInstance) ([]string, error)

	CreatedAt(ctx context.Context, obj *models.FixtureInstance) (string, error)
}

type FixtureMapping

type FixtureMapping struct {
	LacyLightsKey   string `json:"lacyLightsKey"`
	QlcManufacturer string `json:"qlcManufacturer"`
	QlcModel        string `json:"qlcModel"`
	QlcMode         string `json:"qlcMode"`
}

type FixtureMappingInput

type FixtureMappingInput struct {
	LacyLightsKey   string `json:"lacyLightsKey"`
	QlcManufacturer string `json:"qlcManufacturer"`
	QlcModel        string `json:"qlcModel"`
	QlcMode         string `json:"qlcMode"`
}

type FixtureMappingSuggestion

type FixtureMappingSuggestion struct {
	Fixture     LacyLightsFixture       `json:"fixture"`
	Suggestions []*QLCFixtureDefinition `json:"suggestions"`
}

type FixtureModeResolver

type FixtureModeResolver interface {
	Channels(ctx context.Context, obj *models.FixtureMode) ([]*models.ModeChannel, error)
}

type FixtureOrderInput

type FixtureOrderInput struct {
	FixtureID string `json:"fixtureId"`
	Order     int    `json:"order"`
}

type FixturePositionInput

type FixturePositionInput struct {
	FixtureID      string                      `json:"fixtureId"`
	LayoutX        float64                     `json:"layoutX"`
	LayoutY        float64                     `json:"layoutY"`
	LayoutRotation graphql.Omittable[*float64] `json:"layoutRotation,omitempty"`
}

type FixtureSpecInput

type FixtureSpecInput struct {
	Name         string                     `json:"name"`
	Manufacturer string                     `json:"manufacturer"`
	Model        string                     `json:"model"`
	Mode         graphql.Omittable[*string] `json:"mode,omitempty"`
	ChannelCount graphql.Omittable[*int]    `json:"channelCount,omitempty"`
}

type FixtureType

type FixtureType string
const (
	FixtureTypeLedPar     FixtureType = "LED_PAR"
	FixtureTypeMovingHead FixtureType = "MOVING_HEAD"
	FixtureTypeStrobe     FixtureType = "STROBE"
	FixtureTypeDimmer     FixtureType = "DIMMER"
	FixtureTypeOther      FixtureType = "OTHER"
)

func (FixtureType) IsValid

func (e FixtureType) IsValid() bool

func (FixtureType) MarshalGQL

func (e FixtureType) MarshalGQL(w io.Writer)

func (FixtureType) MarshalJSON

func (e FixtureType) MarshalJSON() ([]byte, error)

func (FixtureType) String

func (e FixtureType) String() string

func (*FixtureType) UnmarshalGQL

func (e *FixtureType) UnmarshalGQL(v any) error

func (*FixtureType) UnmarshalJSON

func (e *FixtureType) UnmarshalJSON(b []byte) error

type FixtureUpdateItem

type FixtureUpdateItem struct {
	FixtureID      string                      `json:"fixtureId"`
	Name           graphql.Omittable[*string]  `json:"name,omitempty"`
	Description    graphql.Omittable[*string]  `json:"description,omitempty"`
	Universe       graphql.Omittable[*int]     `json:"universe,omitempty"`
	StartChannel   graphql.Omittable[*int]     `json:"startChannel,omitempty"`
	Tags           graphql.Omittable[[]string] `json:"tags,omitempty"`
	LayoutX        graphql.Omittable[*float64] `json:"layoutX,omitempty"`
	LayoutY        graphql.Omittable[*float64] `json:"layoutY,omitempty"`
	LayoutRotation graphql.Omittable[*float64] `json:"layoutRotation,omitempty"`
}

type FixtureUsage

type FixtureUsage struct {
	FixtureID   string             `json:"fixtureId"`
	FixtureName string             `json:"fixtureName"`
	Looks       []*LookSummary     `json:"looks"`
	Cues        []*CueUsageSummary `json:"cues"`
}

type FixtureValueInput

type FixtureValueInput struct {
	FixtureID string                  `json:"fixtureId"`
	Channels  []*ChannelValueInput    `json:"channels"`
	LookOrder graphql.Omittable[*int] `json:"lookOrder,omitempty"`
}

type FixtureValueResolver

type FixtureValueResolver interface {
	Fixture(ctx context.Context, obj *models.FixtureValue) (*models.FixtureInstance, error)
	Channels(ctx context.Context, obj *models.FixtureValue) ([]*models.ChannelValue, error)
}

type GlobalPlaybackStatus added in v0.2.17

type GlobalPlaybackStatus struct {
	// True if any cue list is currently playing
	IsPlaying bool `json:"isPlaying"`
	// True if a cue list is paused (look activated outside cue context)
	IsPaused bool `json:"isPaused"`
	// True if a fade transition is in progress
	IsFading bool `json:"isFading"`
	// ID of the currently playing cue list (null if not playing)
	CueListID *string `json:"cueListId,omitempty"`
	// Name of the currently playing cue list (null if not playing)
	CueListName *string `json:"cueListName,omitempty"`
	// Current cue index in the playing cue list (null if not playing)
	CurrentCueIndex *int `json:"currentCueIndex,omitempty"`
	// Total number of cues in the playing cue list (null if not playing)
	CueCount *int `json:"cueCount,omitempty"`
	// Name of the currently playing cue (null if not playing)
	CurrentCueName *string `json:"currentCueName,omitempty"`
	// Fade progress percentage (0-100)
	FadeProgress *float64 `json:"fadeProgress,omitempty"`
	LastUpdated  string   `json:"lastUpdated"`
}

Global playback status - returns which cue list is currently playing or paused (if any)

type GroupInvitationResolver added in v0.2.31

type GroupInvitationResolver interface {
	Group(ctx context.Context, obj *models.GroupInvitation) (*models.UserGroup, error)

	InvitedBy(ctx context.Context, obj *models.GroupInvitation) (*models.User, error)
	Role(ctx context.Context, obj *models.GroupInvitation) (GroupMemberRole, error)
	Status(ctx context.Context, obj *models.GroupInvitation) (InvitationStatus, error)
	ExpiresAt(ctx context.Context, obj *models.GroupInvitation) (string, error)
	CreatedAt(ctx context.Context, obj *models.GroupInvitation) (string, error)
}

type GroupMember added in v0.2.31

type GroupMember struct {
	ID       string          `json:"id"`
	User     models.User     `json:"user"`
	Role     GroupMemberRole `json:"role"`
	JoinedAt string          `json:"joinedAt"`
}

A member of a group with their role.

type GroupMemberResolver added in v0.2.31

type GroupMemberResolver interface {
	User(ctx context.Context, obj *GroupMember) (*models.User, error)
}

type GroupMemberRole added in v0.2.31

type GroupMemberRole string
const (
	GroupMemberRoleMember     GroupMemberRole = "MEMBER"
	GroupMemberRoleGroupAdmin GroupMemberRole = "GROUP_ADMIN"
)

func (GroupMemberRole) IsValid added in v0.2.31

func (e GroupMemberRole) IsValid() bool

func (GroupMemberRole) MarshalGQL added in v0.2.31

func (e GroupMemberRole) MarshalGQL(w io.Writer)

func (GroupMemberRole) MarshalJSON added in v0.2.31

func (e GroupMemberRole) MarshalJSON() ([]byte, error)

func (GroupMemberRole) String added in v0.2.31

func (e GroupMemberRole) String() string

func (*GroupMemberRole) UnmarshalGQL added in v0.2.31

func (e *GroupMemberRole) UnmarshalGQL(v any) error

func (*GroupMemberRole) UnmarshalJSON added in v0.2.31

func (e *GroupMemberRole) UnmarshalJSON(b []byte) error

type ImportMode

type ImportMode string
const (
	ImportModeCreate ImportMode = "CREATE"
	ImportModeMerge  ImportMode = "MERGE"
)

func (ImportMode) IsValid

func (e ImportMode) IsValid() bool

func (ImportMode) MarshalGQL

func (e ImportMode) MarshalGQL(w io.Writer)

func (ImportMode) MarshalJSON

func (e ImportMode) MarshalJSON() ([]byte, error)

func (ImportMode) String

func (e ImportMode) String() string

func (*ImportMode) UnmarshalGQL

func (e *ImportMode) UnmarshalGQL(v any) error

func (*ImportMode) UnmarshalJSON

func (e *ImportMode) UnmarshalJSON(b []byte) error

type ImportOFLFixtureInput

type ImportOFLFixtureInput struct {
	Manufacturer   string                   `json:"manufacturer"`
	OflFixtureJSON string                   `json:"oflFixtureJson"`
	Replace        graphql.Omittable[*bool] `json:"replace,omitempty"`
}

type ImportOptionsInput

type ImportOptionsInput struct {
	Mode                    ImportMode                                  `json:"mode"`
	TargetProjectID         graphql.Omittable[*string]                  `json:"targetProjectId,omitempty"`
	ProjectName             graphql.Omittable[*string]                  `json:"projectName,omitempty"`
	FixtureConflictStrategy graphql.Omittable[*FixtureConflictStrategy] `json:"fixtureConflictStrategy,omitempty"`
	ImportBuiltInFixtures   graphql.Omittable[*bool]                    `json:"importBuiltInFixtures,omitempty"`
}

type ImportResult

type ImportResult struct {
	ProjectID string      `json:"projectId"`
	Stats     ImportStats `json:"stats"`
	Warnings  []string    `json:"warnings"`
}

type ImportStats

type ImportStats struct {
	FixtureDefinitionsCreated int `json:"fixtureDefinitionsCreated"`
	FixtureInstancesCreated   int `json:"fixtureInstancesCreated"`
	LooksCreated              int `json:"looksCreated"`
	CueListsCreated           int `json:"cueListsCreated"`
	CuesCreated               int `json:"cuesCreated"`
	LookBoardsCreated         int `json:"lookBoardsCreated"`
}

type InstanceChannelResolver

type InstanceChannelResolver interface {
	Type(ctx context.Context, obj *models.InstanceChannel) (ChannelType, error)

	FadeBehavior(ctx context.Context, obj *models.InstanceChannel) (FadeBehavior, error)
}

type InvitationStatus added in v0.2.31

type InvitationStatus string
const (
	InvitationStatusPending  InvitationStatus = "PENDING"
	InvitationStatusAccepted InvitationStatus = "ACCEPTED"
	InvitationStatusDeclined InvitationStatus = "DECLINED"
	InvitationStatusExpired  InvitationStatus = "EXPIRED"
)

func (InvitationStatus) IsValid added in v0.2.31

func (e InvitationStatus) IsValid() bool

func (InvitationStatus) MarshalGQL added in v0.2.31

func (e InvitationStatus) MarshalGQL(w io.Writer)

func (InvitationStatus) MarshalJSON added in v0.2.31

func (e InvitationStatus) MarshalJSON() ([]byte, error)

func (InvitationStatus) String added in v0.2.31

func (e InvitationStatus) String() string

func (*InvitationStatus) UnmarshalGQL added in v0.2.31

func (e *InvitationStatus) UnmarshalGQL(v any) error

func (*InvitationStatus) UnmarshalJSON added in v0.2.31

func (e *InvitationStatus) UnmarshalJSON(b []byte) error

type LacyLightsFixture

type LacyLightsFixture struct {
	Manufacturer string `json:"manufacturer"`
	Model        string `json:"model"`
}

type LookBoardButtonPositionInput added in v0.2.30

type LookBoardButtonPositionInput struct {
	ButtonID string `json:"buttonId"`
	LayoutX  int    `json:"layoutX"`
	LayoutY  int    `json:"layoutY"`
}

type LookBoardButtonResolver added in v0.2.30

type LookBoardButtonResolver interface {
	LookBoard(ctx context.Context, obj *models.LookBoardButton) (*models.LookBoard, error)
	Look(ctx context.Context, obj *models.LookBoardButton) (*models.Look, error)

	CreatedAt(ctx context.Context, obj *models.LookBoardButton) (string, error)
	UpdatedAt(ctx context.Context, obj *models.LookBoardButton) (string, error)
}

type LookBoardButtonUpdateItem added in v0.2.30

type LookBoardButtonUpdateItem struct {
	ButtonID string                     `json:"buttonId"`
	LayoutX  graphql.Omittable[*int]    `json:"layoutX,omitempty"`
	LayoutY  graphql.Omittable[*int]    `json:"layoutY,omitempty"`
	Width    graphql.Omittable[*int]    `json:"width,omitempty"`
	Height   graphql.Omittable[*int]    `json:"height,omitempty"`
	Color    graphql.Omittable[*string] `json:"color,omitempty"`
	Label    graphql.Omittable[*string] `json:"label,omitempty"`
}

type LookBoardDataChangedPayload added in v0.2.30

type LookBoardDataChangedPayload struct {
	LookBoardID string               `json:"lookBoardId"`
	ProjectID   string               `json:"projectId"`
	ChangeType  EntityDataChangeType `json:"changeType"`
	// Affected button IDs (for button-specific changes)
	AffectedButtonIds []string `json:"affectedButtonIds,omitempty"`
	// Timestamp of the change
	Timestamp string `json:"timestamp"`
}

Payload for look board data change notifications (used for undo/redo real-time updates)

type LookBoardResolver added in v0.2.30

type LookBoardResolver interface {
	Project(ctx context.Context, obj *models.LookBoard) (*models.Project, error)

	Buttons(ctx context.Context, obj *models.LookBoard) ([]*models.LookBoardButton, error)
	CreatedAt(ctx context.Context, obj *models.LookBoard) (string, error)
	UpdatedAt(ctx context.Context, obj *models.LookBoard) (string, error)
}

type LookBoardUpdateItem added in v0.2.30

type LookBoardUpdateItem struct {
	LookBoardID     string                      `json:"lookBoardId"`
	Name            graphql.Omittable[*string]  `json:"name,omitempty"`
	Description     graphql.Omittable[*string]  `json:"description,omitempty"`
	DefaultFadeTime graphql.Omittable[*float64] `json:"defaultFadeTime,omitempty"`
	GridSize        graphql.Omittable[*int]     `json:"gridSize,omitempty"`
	CanvasWidth     graphql.Omittable[*int]     `json:"canvasWidth,omitempty"`
	CanvasHeight    graphql.Omittable[*int]     `json:"canvasHeight,omitempty"`
}

type LookComparison added in v0.2.30

type LookComparison struct {
	Look1                 LookSummary       `json:"look1"`
	Look2                 LookSummary       `json:"look2"`
	Differences           []*LookDifference `json:"differences"`
	IdenticalFixtureCount int               `json:"identicalFixtureCount"`
	DifferentFixtureCount int               `json:"differentFixtureCount"`
}

type LookDataChangedPayload added in v0.2.30

type LookDataChangedPayload struct {
	LookID     string               `json:"lookId"`
	ProjectID  string               `json:"projectId"`
	ChangeType EntityDataChangeType `json:"changeType"`
	// Timestamp of the change
	Timestamp string `json:"timestamp"`
}

Payload for look data change notifications (used for undo/redo real-time updates)

type LookDifference added in v0.2.30

type LookDifference struct {
	FixtureID      string         `json:"fixtureId"`
	FixtureName    string         `json:"fixtureName"`
	DifferenceType DifferenceType `json:"differenceType"`
	Look1Values    []int          `json:"look1Values,omitempty"`
	Look2Values    []int          `json:"look2Values,omitempty"`
}

type LookFilterInput added in v0.2.30

type LookFilterInput struct {
	NameContains graphql.Omittable[*string] `json:"nameContains,omitempty"`
	UsesFixture  graphql.Omittable[*string] `json:"usesFixture,omitempty"`
}

type LookFixtureSummary added in v0.2.30

type LookFixtureSummary struct {
	FixtureID   string      `json:"fixtureId"`
	FixtureName string      `json:"fixtureName"`
	FixtureType FixtureType `json:"fixtureType"`
}

type LookPage added in v0.2.30

type LookPage struct {
	Looks      []*LookSummary `json:"looks"`
	Pagination PaginationInfo `json:"pagination"`
}

type LookPartialUpdateItem added in v0.2.30

type LookPartialUpdateItem struct {
	LookID        string                                  `json:"lookId"`
	Name          graphql.Omittable[*string]              `json:"name,omitempty"`
	Description   graphql.Omittable[*string]              `json:"description,omitempty"`
	FixtureValues graphql.Omittable[[]*FixtureValueInput] `json:"fixtureValues,omitempty"`
	// When true (default), only specified fixtures are updated. When false, replaces all fixtures.
	MergeFixtures graphql.Omittable[*bool] `json:"mergeFixtures,omitempty"`
}

Partial update for a single look in a bulk operation. When mergeFixtures is true (default), only specified fixtures are updated. When false, all existing fixtures are replaced with the provided list.

type LookResolver added in v0.2.30

type LookResolver interface {
	Project(ctx context.Context, obj *models.Look) (*models.Project, error)
	FixtureValues(ctx context.Context, obj *models.Look) ([]*models.FixtureValue, error)
	CreatedAt(ctx context.Context, obj *models.Look) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Look) (string, error)
}

type LookSortField added in v0.2.30

type LookSortField string
const (
	LookSortFieldName      LookSortField = "NAME"
	LookSortFieldCreatedAt LookSortField = "CREATED_AT"
	LookSortFieldUpdatedAt LookSortField = "UPDATED_AT"
)

func (LookSortField) IsValid added in v0.2.30

func (e LookSortField) IsValid() bool

func (LookSortField) MarshalGQL added in v0.2.30

func (e LookSortField) MarshalGQL(w io.Writer)

func (LookSortField) MarshalJSON added in v0.2.30

func (e LookSortField) MarshalJSON() ([]byte, error)

func (LookSortField) String added in v0.2.30

func (e LookSortField) String() string

func (*LookSortField) UnmarshalGQL added in v0.2.30

func (e *LookSortField) UnmarshalGQL(v any) error

func (*LookSortField) UnmarshalJSON added in v0.2.30

func (e *LookSortField) UnmarshalJSON(b []byte) error

type LookSummary added in v0.2.30

type LookSummary struct {
	ID           string  `json:"id"`
	Name         string  `json:"name"`
	Description  *string `json:"description,omitempty"`
	FixtureCount int     `json:"fixtureCount"`
	CreatedAt    string  `json:"createdAt"`
	UpdatedAt    string  `json:"updatedAt"`
}

type LookUpdateItem added in v0.2.30

type LookUpdateItem struct {
	LookID      string                     `json:"lookId"`
	Name        graphql.Omittable[*string] `json:"name,omitempty"`
	Description graphql.Omittable[*string] `json:"description,omitempty"`
}

type LookUsage added in v0.2.30

type LookUsage struct {
	LookID   string             `json:"lookId"`
	LookName string             `json:"lookName"`
	Cues     []*CueUsageSummary `json:"cues"`
}

type ModeChannelResolver

type ModeChannelResolver interface {
	Channel(ctx context.Context, obj *models.ModeChannel) (*models.ChannelDefinition, error)
}

type ModulatorStatus added in v0.2.30

type ModulatorStatus struct {
	IsRunning         bool                  `json:"isRunning"`
	UpdateRateHz      int                   `json:"updateRateHz"`
	ActiveEffectCount int                   `json:"activeEffectCount"`
	ActiveEffects     []*ActiveEffectStatus `json:"activeEffects"`
	IsBlackoutActive  bool                  `json:"isBlackoutActive"`
	BlackoutIntensity float64               `json:"blackoutIntensity"`
	GrandMasterValue  float64               `json:"grandMasterValue"`
	// Whether there's an active crossfade transition
	HasActiveTransition bool `json:"hasActiveTransition"`
	// Progress of the active transition (0-100)
	TransitionProgress float64 `json:"transitionProgress"`
}

Status of the modulator engine.

type Mutation

type Mutation struct {
}

type MutationResolver

type MutationResolver interface {
	Register(ctx context.Context, input RegisterInput) (*AuthPayload, error)
	Login(ctx context.Context, email string, password string) (*AuthPayload, error)
	Logout(ctx context.Context) (bool, error)
	LogoutAll(ctx context.Context) (bool, error)
	RefreshToken(ctx context.Context, refreshToken string) (*AuthPayload, error)
	ChangePassword(ctx context.Context, oldPassword string, newPassword string) (bool, error)
	RequestPasswordReset(ctx context.Context, email string) (bool, error)
	ResetPassword(ctx context.Context, token string, newPassword string) (bool, error)
	RequestEmailVerification(ctx context.Context) (bool, error)
	VerifyEmail(ctx context.Context, token string) (bool, error)
	AppleSignIn(ctx context.Context, identityToken string, authorizationCode string) (*AuthPayload, error)
	RegisterDevice(ctx context.Context, fingerprint string, name string) (*DeviceRegistrationResult, error)
	AuthorizeDevice(ctx context.Context, fingerprint string, authorizationCode string) (*AuthPayload, error)
	CreateUser(ctx context.Context, input CreateUserInput) (*models.User, error)
	UpdateUser(ctx context.Context, id string, input UpdateUserInput) (*models.User, error)
	DeleteUser(ctx context.Context, id string) (bool, error)
	CreateUserGroup(ctx context.Context, input CreateUserGroupInput) (*models.UserGroup, error)
	UpdateUserGroup(ctx context.Context, id string, input UpdateUserGroupInput) (*models.UserGroup, error)
	DeleteUserGroup(ctx context.Context, id string) (bool, error)
	AddUserToGroup(ctx context.Context, userID string, groupID string, role *GroupMemberRole) (bool, error)
	RemoveUserFromGroup(ctx context.Context, userID string, groupID string) (bool, error)
	UpdateGroupMemberRole(ctx context.Context, userID string, groupID string, role GroupMemberRole) (bool, error)
	InviteToGroup(ctx context.Context, groupID string, email string, role *GroupMemberRole) (*models.GroupInvitation, error)
	AcceptInvitation(ctx context.Context, invitationID string) (bool, error)
	DeclineInvitation(ctx context.Context, invitationID string) (bool, error)
	CancelInvitation(ctx context.Context, invitationID string) (bool, error)
	AddDeviceToGroup(ctx context.Context, deviceID string, groupID string) (bool, error)
	RemoveDeviceFromGroup(ctx context.Context, deviceID string, groupID string) (bool, error)
	CreateDeviceAuthCode(ctx context.Context, deviceID string) (*DeviceAuthCode, error)
	ApproveDevice(ctx context.Context, deviceID string, permissions DevicePermissions, groupID *string, defaultUserID *string) (*models.Device, error)
	UpdateDevice(ctx context.Context, id string, input UpdateDeviceInput) (*models.Device, error)
	UpdateDevicePermissions(ctx context.Context, deviceID string, permissions DevicePermissions) (*models.Device, error)
	RevokeDevice(ctx context.Context, id string) (*models.Device, error)
	RevokeSession(ctx context.Context, sessionID string) (bool, error)
	RevokeAllUserSessions(ctx context.Context, userID string) (bool, error)
	UpdateAuthSettings(ctx context.Context, input UpdateAuthSettingsInput) (*AuthSettings, error)
	CreateProject(ctx context.Context, input CreateProjectInput) (*models.Project, error)
	UpdateProject(ctx context.Context, id string, input CreateProjectInput) (*models.Project, error)
	DeleteProject(ctx context.Context, id string) (bool, error)
	RestoreProject(ctx context.Context, id string) (*models.Project, error)
	PermanentlyDeleteProject(ctx context.Context, id string) (bool, error)
	BulkCreateProjects(ctx context.Context, input BulkProjectCreateInput) ([]*models.Project, error)
	BulkUpdateProjects(ctx context.Context, input BulkProjectUpdateInput) ([]*models.Project, error)
	BulkDeleteProjects(ctx context.Context, projectIds []string) (*BulkDeleteResult, error)
	CreateFixtureDefinition(ctx context.Context, input CreateFixtureDefinitionInput) (*models.FixtureDefinition, error)
	ImportOFLFixture(ctx context.Context, input ImportOFLFixtureInput) (*models.FixtureDefinition, error)
	UpdateFixtureDefinition(ctx context.Context, id string, input CreateFixtureDefinitionInput) (*models.FixtureDefinition, error)
	DeleteFixtureDefinition(ctx context.Context, id string) (bool, error)
	BulkCreateFixtureDefinitions(ctx context.Context, input BulkFixtureDefinitionCreateInput) ([]*models.FixtureDefinition, error)
	BulkUpdateFixtureDefinitions(ctx context.Context, input BulkFixtureDefinitionUpdateInput) ([]*models.FixtureDefinition, error)
	BulkDeleteFixtureDefinitions(ctx context.Context, definitionIds []string) (*BulkDeleteResult, error)
	CreateFixtureInstance(ctx context.Context, input CreateFixtureInstanceInput) (*models.FixtureInstance, error)
	UpdateFixtureInstance(ctx context.Context, id string, input UpdateFixtureInstanceInput) (*models.FixtureInstance, error)
	BulkUpdateFixtures(ctx context.Context, input BulkFixtureUpdateInput) ([]*models.FixtureInstance, error)
	BulkCreateFixtures(ctx context.Context, input BulkFixtureCreateInput) ([]*models.FixtureInstance, error)
	DeleteFixtureInstance(ctx context.Context, id string) (bool, error)
	BulkDeleteFixtures(ctx context.Context, fixtureIds []string) (*BulkDeleteResult, error)
	UpdateInstanceChannelFadeBehavior(ctx context.Context, channelID string, fadeBehavior FadeBehavior) (*models.InstanceChannel, error)
	BulkUpdateInstanceChannelsFadeBehavior(ctx context.Context, updates []*ChannelFadeBehaviorInput) ([]*models.InstanceChannel, error)
	ReorderProjectFixtures(ctx context.Context, projectID string, fixtureOrders []*FixtureOrderInput) (bool, error)
	ReorderLookFixtures(ctx context.Context, lookID string, fixtureOrders []*FixtureOrderInput) (bool, error)
	UpdateFixturePositions(ctx context.Context, positions []*FixturePositionInput) (bool, error)
	CreateLook(ctx context.Context, input CreateLookInput) (*models.Look, error)
	UpdateLook(ctx context.Context, id string, input UpdateLookInput) (*models.Look, error)
	DuplicateLook(ctx context.Context, id string) (*models.Look, error)
	CloneLook(ctx context.Context, lookID string, newName string) (*models.Look, error)
	DeleteLook(ctx context.Context, id string) (bool, error)
	BulkCreateLooks(ctx context.Context, input BulkLookCreateInput) ([]*models.Look, error)
	BulkUpdateLooks(ctx context.Context, input BulkLookUpdateInput) ([]*models.Look, error)
	BulkDeleteLooks(ctx context.Context, lookIds []string) (*BulkDeleteResult, error)
	AddFixturesToLook(ctx context.Context, lookID string, fixtureValues []*FixtureValueInput, overwriteExisting *bool) (*models.Look, error)
	RemoveFixturesFromLook(ctx context.Context, lookID string, fixtureIds []string) (*models.Look, error)
	UpdateLookPartial(ctx context.Context, lookID string, name *string, description *string, fixtureValues []*FixtureValueInput, mergeFixtures *bool) (*models.Look, error)
	BulkUpdateLooksPartial(ctx context.Context, input BulkLookPartialUpdateInput) ([]*models.Look, error)
	CopyFixturesToLooks(ctx context.Context, input CopyFixturesToLooksInput) (*CopyFixturesToLooksResult, error)
	CreateLookBoard(ctx context.Context, input CreateLookBoardInput) (*models.LookBoard, error)
	UpdateLookBoard(ctx context.Context, id string, input UpdateLookBoardInput) (*models.LookBoard, error)
	DeleteLookBoard(ctx context.Context, id string) (bool, error)
	BulkCreateLookBoards(ctx context.Context, input BulkLookBoardCreateInput) ([]*models.LookBoard, error)
	BulkUpdateLookBoards(ctx context.Context, input BulkLookBoardUpdateInput) ([]*models.LookBoard, error)
	BulkDeleteLookBoards(ctx context.Context, lookBoardIds []string) (*BulkDeleteResult, error)
	AddLookToBoard(ctx context.Context, input CreateLookBoardButtonInput) (*models.LookBoardButton, error)
	UpdateLookBoardButton(ctx context.Context, id string, input UpdateLookBoardButtonInput) (*models.LookBoardButton, error)
	RemoveLookFromBoard(ctx context.Context, buttonID string) (bool, error)
	UpdateLookBoardButtonPositions(ctx context.Context, positions []*LookBoardButtonPositionInput) (bool, error)
	BulkCreateLookBoardButtons(ctx context.Context, input BulkLookBoardButtonCreateInput) ([]*models.LookBoardButton, error)
	BulkUpdateLookBoardButtons(ctx context.Context, input BulkLookBoardButtonUpdateInput) ([]*models.LookBoardButton, error)
	BulkDeleteLookBoardButtons(ctx context.Context, buttonIds []string) (*BulkDeleteResult, error)
	ActivateLookFromBoard(ctx context.Context, lookBoardID string, lookID string, fadeTimeOverride *float64) (bool, error)
	CreateFixtureGroup(ctx context.Context, input CreateFixtureGroupInput) (*models.FixtureGroup, error)
	UpdateFixtureGroup(ctx context.Context, input UpdateFixtureGroupInput) (*models.FixtureGroup, error)
	DeleteFixtureGroup(ctx context.Context, id string) (bool, error)
	AddFixturesToGroup(ctx context.Context, groupID string, fixtureIds []string) (*models.FixtureGroup, error)
	RemoveFixturesFromGroup(ctx context.Context, groupID string, fixtureIds []string) (*models.FixtureGroup, error)
	ReorderFixturesInGroup(ctx context.Context, input ReorderFixturesInGroupInput) (*models.FixtureGroup, error)
	BulkCreateFixtureGroups(ctx context.Context, inputs []*CreateFixtureGroupInput) ([]*models.FixtureGroup, error)
	BulkUpdateFixtureGroups(ctx context.Context, inputs []*UpdateFixtureGroupInput) ([]*models.FixtureGroup, error)
	BulkDeleteFixtureGroups(ctx context.Context, ids []string) (int, error)
	CreateCueList(ctx context.Context, input CreateCueListInput) (*models.CueList, error)
	UpdateCueList(ctx context.Context, id string, input CreateCueListInput) (*models.CueList, error)
	DeleteCueList(ctx context.Context, id string) (bool, error)
	BulkCreateCueLists(ctx context.Context, input BulkCueListCreateInput) ([]*models.CueList, error)
	BulkUpdateCueLists(ctx context.Context, input BulkCueListUpdateInput) ([]*models.CueList, error)
	BulkDeleteCueLists(ctx context.Context, cueListIds []string) (*BulkDeleteResult, error)
	CreateCue(ctx context.Context, input CreateCueInput) (*models.Cue, error)
	UpdateCue(ctx context.Context, id string, input CreateCueInput) (*models.Cue, error)
	DeleteCue(ctx context.Context, id string) (bool, error)
	ReorderCues(ctx context.Context, cueListID string, cueOrders []*CueOrderInput) (bool, error)
	BulkCreateCues(ctx context.Context, input BulkCueCreateInput) ([]*models.Cue, error)
	BulkUpdateCues(ctx context.Context, input BulkCueUpdateInput) ([]*models.Cue, error)
	BulkDeleteCues(ctx context.Context, cueIds []string) (*BulkDeleteResult, error)
	ToggleCueSkip(ctx context.Context, cueID string) (*models.Cue, error)
	StartPreviewSession(ctx context.Context, projectID string) (*models.PreviewSession, error)
	CommitPreviewSession(ctx context.Context, sessionID string) (bool, error)
	CancelPreviewSession(ctx context.Context, sessionID string) (bool, error)
	UpdatePreviewChannel(ctx context.Context, sessionID string, fixtureID string, channelIndex int, value int) (bool, error)
	UpdatePreviewChannels(ctx context.Context, sessionID string, updates []*PreviewChannelUpdateInput) (bool, error)
	InitializePreviewWithLook(ctx context.Context, sessionID string, lookID string) (bool, error)
	SetChannelValue(ctx context.Context, universe int, channel int, value int) (bool, error)
	SetLookLive(ctx context.Context, lookID string) (bool, error)
	PlayCue(ctx context.Context, cueID string, fadeInTime *float64) (bool, error)
	FadeToBlack(ctx context.Context, fadeOutTime float64) (bool, error)
	StartCueList(ctx context.Context, cueListID string, startFromCue *int, fadeInTime *float64) (bool, error)
	NextCue(ctx context.Context, cueListID string, fadeInTime *float64) (bool, error)
	PreviousCue(ctx context.Context, cueListID string, fadeInTime *float64) (bool, error)
	GoToCue(ctx context.Context, cueListID string, cueIndex int, fadeInTime *float64) (bool, error)
	StopCueList(ctx context.Context, cueListID string) (bool, error)
	ResumeCueList(ctx context.Context, cueListID string) (bool, error)
	ExportProject(ctx context.Context, projectID string, options *ExportOptionsInput) (*ExportResult, error)
	ImportProject(ctx context.Context, jsonContent string, options ImportOptionsInput) (*ImportResult, error)
	ImportProjectFromQlc(ctx context.Context, xmlContent string, originalFileName string) (*QLCImportResult, error)
	ExportProjectToQlc(ctx context.Context, projectID string, fixtureMappings []*FixtureMappingInput) (*QLCExportResult, error)
	ImportProjectFromEos(ctx context.Context, asciiContent string, options *EosImportOptionsInput) (*EosImportResult, error)
	ExportProjectToEos(ctx context.Context, projectID string) (*EosExportResult, error)
	UpdateSetting(ctx context.Context, input UpdateSettingInput) (*models.Setting, error)
	UpdateFadeUpdateRate(ctx context.Context, rateHz int) (bool, error)
	SetArtNetEnabled(ctx context.Context, enabled bool, fadeTime *float64) (*ArtNetStatus, error)
	ConnectWiFi(ctx context.Context, ssid string, password *string) (*WiFiConnectionResult, error)
	DisconnectWiFi(ctx context.Context) (*WiFiConnectionResult, error)
	SetWiFiEnabled(ctx context.Context, enabled bool) (*WiFiStatus, error)
	ForgetWiFiNetwork(ctx context.Context, ssid string) (bool, error)
	StartAPMode(ctx context.Context) (*WiFiModeResult, error)
	StopAPMode(ctx context.Context, connectToSsid *string) (*WiFiModeResult, error)
	ResetAPTimeout(ctx context.Context) (bool, error)
	UpdateRepository(ctx context.Context, repository string, version *string) (*UpdateResult, error)
	UpdateAllRepositories(ctx context.Context) ([]*UpdateResult, error)
	TriggerOFLImport(ctx context.Context, options *OFLImportOptionsInput) (*OFLImportResult, error)
	CancelOFLImport(ctx context.Context) (bool, error)
	CreateEffect(ctx context.Context, input CreateEffectInput) (*models.Effect, error)
	UpdateEffect(ctx context.Context, id string, input UpdateEffectInput) (*models.Effect, error)
	DeleteEffect(ctx context.Context, id string) (bool, error)
	AddFixtureToEffect(ctx context.Context, input AddFixtureToEffectInput) (*models.EffectFixture, error)
	RemoveFixtureFromEffect(ctx context.Context, effectID string, fixtureID string) (bool, error)
	UpdateEffectFixture(ctx context.Context, id string, input UpdateEffectFixtureInput) (*models.EffectFixture, error)
	AddChannelToEffectFixture(ctx context.Context, effectFixtureID string, input EffectChannelInput) (*models.EffectChannel, error)
	UpdateEffectChannel(ctx context.Context, id string, input EffectChannelInput) (*models.EffectChannel, error)
	RemoveChannelFromEffectFixture(ctx context.Context, id string) (bool, error)
	AddEffectToCue(ctx context.Context, input AddEffectToCueInput) (*models.CueEffect, error)
	RemoveEffectFromCue(ctx context.Context, cueID string, effectID string) (bool, error)
	ActivateEffect(ctx context.Context, effectID string, fadeTime *float64) (bool, error)
	StopEffect(ctx context.Context, effectID string, fadeTime *float64) (bool, error)
	ActivateBlackout(ctx context.Context, fadeTime *float64) (bool, error)
	ReleaseBlackout(ctx context.Context, fadeTime *float64) (bool, error)
	SetGrandMaster(ctx context.Context, value float64) (bool, error)
	Undo(ctx context.Context, projectID string) (*UndoRedoResult, error)
	Redo(ctx context.Context, projectID string) (*UndoRedoResult, error)
	JumpToOperation(ctx context.Context, projectID string, operationID string) (*UndoRedoResult, error)
	ClearOperationHistory(ctx context.Context, projectID string, confirmClear bool) (bool, error)
}

type NetworkInterfaceOption

type NetworkInterfaceOption struct {
	Name          string `json:"name"`
	Address       string `json:"address"`
	Broadcast     string `json:"broadcast"`
	Description   string `json:"description"`
	InterfaceType string `json:"interfaceType"`
}

type OAuthProvider added in v0.2.31

type OAuthProvider string

OAuth provider type for authentication.

const (
	OAuthProviderApple OAuthProvider = "APPLE"
)

func (OAuthProvider) IsValid added in v0.2.31

func (e OAuthProvider) IsValid() bool

func (OAuthProvider) MarshalGQL added in v0.2.31

func (e OAuthProvider) MarshalGQL(w io.Writer)

func (OAuthProvider) MarshalJSON added in v0.2.31

func (e OAuthProvider) MarshalJSON() ([]byte, error)

func (OAuthProvider) String added in v0.2.31

func (e OAuthProvider) String() string

func (*OAuthProvider) UnmarshalGQL added in v0.2.31

func (e *OAuthProvider) UnmarshalGQL(v any) error

func (*OAuthProvider) UnmarshalJSON added in v0.2.31

func (e *OAuthProvider) UnmarshalJSON(b []byte) error

type OFLFixtureChangeType added in v0.2.0

type OFLFixtureChangeType string

Type of fixture change detected during OFL update check

const (
	OFLFixtureChangeTypeNew       OFLFixtureChangeType = "NEW"
	OFLFixtureChangeTypeUpdated   OFLFixtureChangeType = "UPDATED"
	OFLFixtureChangeTypeUnchanged OFLFixtureChangeType = "UNCHANGED"
)

func (OFLFixtureChangeType) IsValid added in v0.2.0

func (e OFLFixtureChangeType) IsValid() bool

func (OFLFixtureChangeType) MarshalGQL added in v0.2.0

func (e OFLFixtureChangeType) MarshalGQL(w io.Writer)

func (OFLFixtureChangeType) MarshalJSON added in v0.2.0

func (e OFLFixtureChangeType) MarshalJSON() ([]byte, error)

func (OFLFixtureChangeType) String added in v0.2.0

func (e OFLFixtureChangeType) String() string

func (*OFLFixtureChangeType) UnmarshalGQL added in v0.2.0

func (e *OFLFixtureChangeType) UnmarshalGQL(v any) error

func (*OFLFixtureChangeType) UnmarshalJSON added in v0.2.0

func (e *OFLFixtureChangeType) UnmarshalJSON(b []byte) error

type OFLFixtureUpdate added in v0.2.0

type OFLFixtureUpdate struct {
	// Unique key (manufacturer/model)
	FixtureKey string `json:"fixtureKey"`
	// Manufacturer name
	Manufacturer string `json:"manufacturer"`
	// Model name
	Model string `json:"model"`
	// Type of change
	ChangeType OFLFixtureChangeType `json:"changeType"`
	// Whether this fixture is currently in use by any project
	IsInUse bool `json:"isInUse"`
	// Number of instances using this definition
	InstanceCount int `json:"instanceCount"`
	// Current hash (null if new)
	CurrentHash *string `json:"currentHash,omitempty"`
	// New hash from OFL
	NewHash string `json:"newHash"`
}

Information about a fixture that may need updating

type OFLImportOptionsInput added in v0.2.0

type OFLImportOptionsInput struct {
	// Force reimport of all fixtures, even if unchanged
	ForceReimport graphql.Omittable[*bool] `json:"forceReimport,omitempty"`
	// Update fixtures that are currently in use by projects
	UpdateInUseFixtures graphql.Omittable[*bool] `json:"updateInUseFixtures,omitempty"`
	// Only import specific manufacturers (empty = all)
	Manufacturers graphql.Omittable[[]string] `json:"manufacturers,omitempty"`
	// Prefer bundled data over fetching from GitHub
	PreferBundled graphql.Omittable[*bool] `json:"preferBundled,omitempty"`
}

Options for triggering an OFL import

type OFLImportPhase added in v0.2.0

type OFLImportPhase string

Phases of the OFL import process

const (
	OFLImportPhaseIdle        OFLImportPhase = "IDLE"
	OFLImportPhaseDownloading OFLImportPhase = "DOWNLOADING"
	OFLImportPhaseExtracting  OFLImportPhase = "EXTRACTING"
	OFLImportPhaseParsing     OFLImportPhase = "PARSING"
	OFLImportPhaseImporting   OFLImportPhase = "IMPORTING"
	OFLImportPhaseComplete    OFLImportPhase = "COMPLETE"
	OFLImportPhaseFailed      OFLImportPhase = "FAILED"
	OFLImportPhaseCancelled   OFLImportPhase = "CANCELLED"
)

func (OFLImportPhase) IsValid added in v0.2.0

func (e OFLImportPhase) IsValid() bool

func (OFLImportPhase) MarshalGQL added in v0.2.0

func (e OFLImportPhase) MarshalGQL(w io.Writer)

func (OFLImportPhase) MarshalJSON added in v0.2.0

func (e OFLImportPhase) MarshalJSON() ([]byte, error)

func (OFLImportPhase) String added in v0.2.0

func (e OFLImportPhase) String() string

func (*OFLImportPhase) UnmarshalGQL added in v0.2.0

func (e *OFLImportPhase) UnmarshalGQL(v any) error

func (*OFLImportPhase) UnmarshalJSON added in v0.2.0

func (e *OFLImportPhase) UnmarshalJSON(b []byte) error

type OFLImportResult added in v0.2.0

type OFLImportResult struct {
	Success      bool           `json:"success"`
	Stats        OFLImportStats `json:"stats"`
	ErrorMessage *string        `json:"errorMessage,omitempty"`
	OflVersion   string         `json:"oflVersion"`
}

Final result of an OFL import operation

type OFLImportStats added in v0.2.0

type OFLImportStats struct {
	TotalProcessed    int     `json:"totalProcessed"`
	SuccessfulImports int     `json:"successfulImports"`
	FailedImports     int     `json:"failedImports"`
	SkippedDuplicates int     `json:"skippedDuplicates"`
	UpdatedFixtures   int     `json:"updatedFixtures"`
	DurationSeconds   float64 `json:"durationSeconds"`
}

Statistics about an OFL import

type OFLImportStatus added in v0.2.0

type OFLImportStatus struct {
	// Whether an import is currently in progress
	IsImporting bool `json:"isImporting"`
	// Current phase of the import
	Phase OFLImportPhase `json:"phase"`
	// Total number of fixtures to import
	TotalFixtures int `json:"totalFixtures"`
	// Number of fixtures successfully imported
	ImportedCount int `json:"importedCount"`
	// Number of fixtures that failed to import
	FailedCount int `json:"failedCount"`
	// Number of fixtures skipped (already exist)
	SkippedCount int `json:"skippedCount"`
	// Percentage complete (0-100)
	PercentComplete float64 `json:"percentComplete"`
	// Name of the current fixture being imported
	CurrentFixture *string `json:"currentFixture,omitempty"`
	// Current manufacturer being processed
	CurrentManufacturer *string `json:"currentManufacturer,omitempty"`
	// Estimated seconds remaining (null if unknown)
	EstimatedSecondsRemaining *int `json:"estimatedSecondsRemaining,omitempty"`
	// Error message if phase is FAILED
	ErrorMessage *string `json:"errorMessage,omitempty"`
	// When the import started
	StartedAt *string `json:"startedAt,omitempty"`
	// When the import completed (if done)
	CompletedAt *string `json:"completedAt,omitempty"`
	// OFL version/commit being imported
	OflVersion *string `json:"oflVersion,omitempty"`
	// Whether using bundled data (offline) or fetched from GitHub
	UsingBundledData bool `json:"usingBundledData"`
}

Real-time status of an OFL import operation

type OFLUpdateCheckResult added in v0.2.0

type OFLUpdateCheckResult struct {
	// Total fixtures in current database
	CurrentFixtureCount int `json:"currentFixtureCount"`
	// Total fixtures in OFL source
	OflFixtureCount int `json:"oflFixtureCount"`
	// Number of new fixtures available
	NewFixtureCount int `json:"newFixtureCount"`
	// Number of changed fixtures
	ChangedFixtureCount int `json:"changedFixtureCount"`
	// Number of changed fixtures that are in use
	ChangedInUseCount int `json:"changedInUseCount"`
	// Detailed list of fixture changes (limited)
	FixtureUpdates []*OFLFixtureUpdate `json:"fixtureUpdates"`
	// OFL version/commit being checked
	OflVersion string `json:"oflVersion"`
	// When this check was performed
	CheckedAt string `json:"checkedAt"`
}

Result of checking for OFL updates

type OperationHistoryPage added in v0.2.30

type OperationHistoryPage struct {
	Operations      []*OperationSummary `json:"operations"`
	Pagination      PaginationInfo      `json:"pagination"`
	CurrentSequence int                 `json:"currentSequence"`
}

Paginated operation history for a project.

type OperationResolver added in v0.2.30

type OperationResolver interface {
	OperationType(ctx context.Context, obj *models.Operation) (OperationType, error)
	EntityType(ctx context.Context, obj *models.Operation) (UndoEntityType, error)

	CreatedAt(ctx context.Context, obj *models.Operation) (string, error)
	RelatedIds(ctx context.Context, obj *models.Operation) ([]string, error)
}

type OperationSummary added in v0.2.30

type OperationSummary struct {
	ID            string         `json:"id"`
	Description   string         `json:"description"`
	OperationType OperationType  `json:"operationType"`
	EntityType    UndoEntityType `json:"entityType"`
	Sequence      int            `json:"sequence"`
	CreatedAt     string         `json:"createdAt"`
	// True if this operation is at the current position in history
	IsCurrent bool `json:"isCurrent"`
}

Summary view of an operation for history display.

type OperationType added in v0.2.30

type OperationType string

Type of operation recorded for undo/redo.

const (
	OperationTypeCreate OperationType = "CREATE"
	OperationTypeUpdate OperationType = "UPDATE"
	OperationTypeDelete OperationType = "DELETE"
	OperationTypeBulk   OperationType = "BULK"
)

func (OperationType) IsValid added in v0.2.30

func (e OperationType) IsValid() bool

func (OperationType) MarshalGQL added in v0.2.30

func (e OperationType) MarshalGQL(w io.Writer)

func (OperationType) MarshalJSON added in v0.2.30

func (e OperationType) MarshalJSON() ([]byte, error)

func (OperationType) String added in v0.2.30

func (e OperationType) String() string

func (*OperationType) UnmarshalGQL added in v0.2.30

func (e *OperationType) UnmarshalGQL(v any) error

func (*OperationType) UnmarshalJSON added in v0.2.30

func (e *OperationType) UnmarshalJSON(b []byte) error

type PaginationInfo

type PaginationInfo struct {
	Total      int  `json:"total"`
	Page       int  `json:"page"`
	PerPage    int  `json:"perPage"`
	TotalPages int  `json:"totalPages"`
	HasMore    bool `json:"hasMore"`
}

type PreviewChannelUpdateInput added in v0.2.31

type PreviewChannelUpdateInput struct {
	FixtureID    string `json:"fixtureId"`
	ChannelIndex int    `json:"channelIndex"`
	Value        int    `json:"value"`
}

type PreviewSessionResolver

type PreviewSessionResolver interface {
	Project(ctx context.Context, obj *models.PreviewSession) (*models.Project, error)
	User(ctx context.Context, obj *models.PreviewSession) (*models.User, error)

	CreatedAt(ctx context.Context, obj *models.PreviewSession) (string, error)
	DmxOutput(ctx context.Context, obj *models.PreviewSession) ([]*UniverseOutput, error)
}

type PriorityBand added in v0.2.30

type PriorityBand string

Priority band determines effect processing order. Effects in higher bands (SYSTEM) override effects in lower bands (BASE).

const (
	PriorityBandBase   PriorityBand = "BASE"
	PriorityBandUser   PriorityBand = "USER"
	PriorityBandCue    PriorityBand = "CUE"
	PriorityBandSystem PriorityBand = "SYSTEM"
)

func (PriorityBand) IsValid added in v0.2.30

func (e PriorityBand) IsValid() bool

func (PriorityBand) MarshalGQL added in v0.2.30

func (e PriorityBand) MarshalGQL(w io.Writer)

func (PriorityBand) MarshalJSON added in v0.2.30

func (e PriorityBand) MarshalJSON() ([]byte, error)

func (PriorityBand) String added in v0.2.30

func (e PriorityBand) String() string

func (*PriorityBand) UnmarshalGQL added in v0.2.30

func (e *PriorityBand) UnmarshalGQL(v any) error

func (*PriorityBand) UnmarshalJSON added in v0.2.30

func (e *PriorityBand) UnmarshalJSON(b []byte) error

type ProjectResolver

type ProjectResolver interface {
	FixtureCount(ctx context.Context, obj *models.Project) (int, error)
	LookCount(ctx context.Context, obj *models.Project) (int, error)
	CueListCount(ctx context.Context, obj *models.Project) (int, error)
	Group(ctx context.Context, obj *models.Project) (*models.UserGroup, error)

	CreatedAt(ctx context.Context, obj *models.Project) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Project) (string, error)
	DeletedAt(ctx context.Context, obj *models.Project) (*string, error)
	Fixtures(ctx context.Context, obj *models.Project) ([]*models.FixtureInstance, error)
	Looks(ctx context.Context, obj *models.Project) ([]*models.Look, error)
	CueLists(ctx context.Context, obj *models.Project) ([]*models.CueList, error)

	Users(ctx context.Context, obj *models.Project) ([]*models.ProjectUser, error)
}

type ProjectRole

type ProjectRole string
const (
	ProjectRoleOwner  ProjectRole = "OWNER"
	ProjectRoleEditor ProjectRole = "EDITOR"
	ProjectRoleViewer ProjectRole = "VIEWER"
)

func (ProjectRole) IsValid

func (e ProjectRole) IsValid() bool

func (ProjectRole) MarshalGQL

func (e ProjectRole) MarshalGQL(w io.Writer)

func (ProjectRole) MarshalJSON

func (e ProjectRole) MarshalJSON() ([]byte, error)

func (ProjectRole) String

func (e ProjectRole) String() string

func (*ProjectRole) UnmarshalGQL

func (e *ProjectRole) UnmarshalGQL(v any) error

func (*ProjectRole) UnmarshalJSON

func (e *ProjectRole) UnmarshalJSON(b []byte) error

type ProjectUpdateItem added in v0.1.3

type ProjectUpdateItem struct {
	ProjectID          string                     `json:"projectId"`
	Name               graphql.Omittable[*string] `json:"name,omitempty"`
	Description        graphql.Omittable[*string] `json:"description,omitempty"`
	LayoutCanvasWidth  graphql.Omittable[*int]    `json:"layoutCanvasWidth,omitempty"`
	LayoutCanvasHeight graphql.Omittable[*int]    `json:"layoutCanvasHeight,omitempty"`
}

type ProjectUserResolver

type ProjectUserResolver interface {
	User(ctx context.Context, obj *models.ProjectUser) (*models.User, error)
	Project(ctx context.Context, obj *models.ProjectUser) (*models.Project, error)
	Role(ctx context.Context, obj *models.ProjectUser) (ProjectRole, error)
	JoinedAt(ctx context.Context, obj *models.ProjectUser) (string, error)
}

type QLCExportResult

type QLCExportResult struct {
	ProjectName  string `json:"projectName"`
	XMLContent   string `json:"xmlContent"`
	FixtureCount int    `json:"fixtureCount"`
	LookCount    int    `json:"lookCount"`
	CueListCount int    `json:"cueListCount"`
}

type QLCFixtureDefinition

type QLCFixtureDefinition struct {
	Manufacturer string            `json:"manufacturer"`
	Model        string            `json:"model"`
	Type         string            `json:"type"`
	Modes        []*QLCFixtureMode `json:"modes"`
}

type QLCFixtureMappingResult

type QLCFixtureMappingResult struct {
	ProjectID          string                      `json:"projectId"`
	LacyLightsFixtures []*LacyLightsFixture        `json:"lacyLightsFixtures"`
	Suggestions        []*FixtureMappingSuggestion `json:"suggestions"`
	DefaultMappings    []*FixtureMapping           `json:"defaultMappings"`
}

type QLCFixtureMode

type QLCFixtureMode struct {
	Name         string `json:"name"`
	ChannelCount int    `json:"channelCount"`
}

type QLCImportResult

type QLCImportResult struct {
	Project          models.Project `json:"project"`
	OriginalFileName string         `json:"originalFileName"`
	FixtureCount     int            `json:"fixtureCount"`
	LookCount        int            `json:"lookCount"`
	CueListCount     int            `json:"cueListCount"`
	Warnings         []string       `json:"warnings"`
}

type Query

type Query struct {
}

type QueryResolver

type QueryResolver interface {
	Me(ctx context.Context) (*AuthUser, error)
	AuthEnabled(ctx context.Context) (bool, error)
	AuthSettings(ctx context.Context) (*AuthSettings, error)
	CheckDeviceAuthorization(ctx context.Context, fingerprint string) (*DeviceAuthStatus, error)
	CheckDevice(ctx context.Context, fingerprint string) (*DeviceCheckResult, error)
	MySessions(ctx context.Context) ([]*models.Session, error)
	Users(ctx context.Context, page *int, perPage *int) ([]*models.User, error)
	User(ctx context.Context, id string) (*models.User, error)
	UserGroups(ctx context.Context) ([]*models.UserGroup, error)
	UserGroup(ctx context.Context, id string) (*models.UserGroup, error)
	Devices(ctx context.Context, status *DeviceStatus) ([]*models.Device, error)
	PendingDevices(ctx context.Context) ([]*models.Device, error)
	Device(ctx context.Context, id string) (*models.Device, error)
	MyGroups(ctx context.Context) ([]*models.UserGroup, error)
	MyInvitations(ctx context.Context) ([]*models.GroupInvitation, error)
	GroupInvitations(ctx context.Context, groupID string) ([]*models.GroupInvitation, error)
	Projects(ctx context.Context) ([]*models.Project, error)
	Project(ctx context.Context, id string) (*models.Project, error)
	DeletedProjects(ctx context.Context) ([]*models.Project, error)
	FixtureDefinitions(ctx context.Context, filter *FixtureDefinitionFilter) ([]*models.FixtureDefinition, error)
	FixtureDefinition(ctx context.Context, id string) (*models.FixtureDefinition, error)
	FixtureInstances(ctx context.Context, projectID string, page *int, perPage *int, filter *FixtureFilterInput) (*FixtureInstancePage, error)
	FixtureInstance(ctx context.Context, id string) (*models.FixtureInstance, error)
	SearchFixtures(ctx context.Context, projectID string, query string, filter *FixtureFilterInput, page *int, perPage *int) (*FixtureInstancePage, error)
	ChannelMap(ctx context.Context, projectID string, universe *int) (*ChannelMapResult, error)
	SuggestChannelAssignment(ctx context.Context, input ChannelAssignmentInput) (*ChannelAssignmentSuggestion, error)
	Looks(ctx context.Context, projectID string, page *int, perPage *int, filter *LookFilterInput, sortBy *LookSortField) (*LookPage, error)
	Look(ctx context.Context, id string, includeFixtureValues *bool) (*models.Look, error)
	LookFixtures(ctx context.Context, lookID string) ([]*LookFixtureSummary, error)
	SearchLooks(ctx context.Context, projectID string, query string, filter *LookFilterInput, page *int, perPage *int) (*LookPage, error)
	LookBoards(ctx context.Context, projectID string) ([]*models.LookBoard, error)
	LookBoard(ctx context.Context, id string) (*models.LookBoard, error)
	LookBoardButton(ctx context.Context, id string) (*models.LookBoardButton, error)
	FixtureGroup(ctx context.Context, id string) (*models.FixtureGroup, error)
	FixtureGroups(ctx context.Context, projectID string) ([]*models.FixtureGroup, error)
	FixtureUsage(ctx context.Context, fixtureID string) (*FixtureUsage, error)
	LookUsage(ctx context.Context, lookID string) (*LookUsage, error)
	CompareLooks(ctx context.Context, lookID1 string, lookID2 string) (*LookComparison, error)
	CueLists(ctx context.Context, projectID string) ([]*CueListSummary, error)
	CueList(ctx context.Context, id string, page *int, perPage *int, includeLookDetails *bool) (*models.CueList, error)
	CueListPlaybackStatus(ctx context.Context, cueListID string) (*CueListPlaybackStatus, error)
	GlobalPlaybackStatus(ctx context.Context) (*GlobalPlaybackStatus, error)
	CuesWithLookInfo(ctx context.Context, cueListID string) (*CuesWithLookInfoResponse, error)
	Cue(ctx context.Context, id string) (*models.Cue, error)
	SearchCues(ctx context.Context, cueListID string, query string, page *int, perPage *int) (*CuePage, error)
	DmxOutput(ctx context.Context, universe int) ([]int, error)
	AllDmxOutput(ctx context.Context) ([]*UniverseOutput, error)
	PreviewSession(ctx context.Context, sessionID string) (*models.PreviewSession, error)
	CurrentActiveLook(ctx context.Context) (*models.Look, error)
	Settings(ctx context.Context) ([]*models.Setting, error)
	Setting(ctx context.Context, key string) (*models.Setting, error)
	SystemInfo(ctx context.Context) (*SystemInfo, error)
	ArtNetStatus(ctx context.Context) (*ArtNetStatus, error)
	NetworkInterfaceOptions(ctx context.Context) ([]*NetworkInterfaceOption, error)
	WifiNetworks(ctx context.Context, rescan *bool, deduplicate *bool) ([]*WiFiNetwork, error)
	WifiStatus(ctx context.Context) (*WiFiStatus, error)
	SavedWifiNetworks(ctx context.Context) ([]*WiFiNetwork, error)
	WifiMode(ctx context.Context) (WiFiMode, error)
	ApConfig(ctx context.Context) (*APConfig, error)
	ApClients(ctx context.Context) ([]*APClient, error)
	GetQLCFixtureMappingSuggestions(ctx context.Context, projectID string) (*QLCFixtureMappingResult, error)
	SystemVersions(ctx context.Context) (*SystemVersionInfo, error)
	AvailableVersions(ctx context.Context, repository string) ([]string, error)
	BuildInfo(ctx context.Context) (*BuildInfo, error)
	OflImportStatus(ctx context.Context) (*OFLImportStatus, error)
	CheckOFLUpdates(ctx context.Context) (*OFLUpdateCheckResult, error)
	Effect(ctx context.Context, id string) (*models.Effect, error)
	Effects(ctx context.Context, projectID string) ([]*models.Effect, error)
	ModulatorStatus(ctx context.Context) (*ModulatorStatus, error)
	FixturesByIds(ctx context.Context, ids []string) ([]*models.FixtureInstance, error)
	LooksByIds(ctx context.Context, ids []string) ([]*models.Look, error)
	CuesByIds(ctx context.Context, ids []string) ([]*models.Cue, error)
	CueListsByIds(ctx context.Context, ids []string) ([]*models.CueList, error)
	LookBoardsByIds(ctx context.Context, ids []string) ([]*models.LookBoard, error)
	FixtureDefinitionsByIds(ctx context.Context, ids []string) ([]*models.FixtureDefinition, error)
	ProjectsByIds(ctx context.Context, ids []string) ([]*models.Project, error)
	UndoRedoStatus(ctx context.Context, projectID string) (*UndoRedoStatus, error)
	OperationHistory(ctx context.Context, projectID string, page *int, perPage *int) (*OperationHistoryPage, error)
	Operation(ctx context.Context, operationID string) (*models.Operation, error)
}

type RegisterInput added in v0.2.31

type RegisterInput struct {
	Email    string                     `json:"email"`
	Password string                     `json:"password"`
	Name     graphql.Omittable[*string] `json:"name,omitempty"`
}

type ReorderFixturesInGroupInput added in v0.3.0

type ReorderFixturesInGroupInput struct {
	GroupID    string   `json:"groupId"`
	FixtureIds []string `json:"fixtureIds"`
}

type RepositoryVersion

type RepositoryVersion struct {
	Repository      string `json:"repository"`
	Installed       string `json:"installed"`
	Latest          string `json:"latest"`
	UpdateAvailable bool   `json:"updateAvailable"`
}

type ResolverRoot

type ResolverRoot interface {
	ChannelDefinition() ChannelDefinitionResolver
	Cue() CueResolver
	CueEffect() CueEffectResolver
	CueList() CueListResolver
	Device() DeviceResolver
	Effect() EffectResolver
	FixtureDefinition() FixtureDefinitionResolver
	FixtureGroup() FixtureGroupResolver
	FixtureInstance() FixtureInstanceResolver
	FixtureMode() FixtureModeResolver
	FixtureValue() FixtureValueResolver
	GroupInvitation() GroupInvitationResolver
	GroupMember() GroupMemberResolver
	InstanceChannel() InstanceChannelResolver
	Look() LookResolver
	LookBoard() LookBoardResolver
	LookBoardButton() LookBoardButtonResolver
	ModeChannel() ModeChannelResolver
	Mutation() MutationResolver
	Operation() OperationResolver
	PreviewSession() PreviewSessionResolver
	Project() ProjectResolver
	ProjectUser() ProjectUserResolver
	Query() QueryResolver
	Session() SessionResolver
	Setting() SettingResolver
	Subscription() SubscriptionResolver
	User() UserResolver
	UserGroup() UserGroupResolver
}

type SessionResolver added in v0.2.31

type SessionResolver interface {
	ExpiresAt(ctx context.Context, obj *models.Session) (string, error)
	LastActivityAt(ctx context.Context, obj *models.Session) (string, error)
	CreatedAt(ctx context.Context, obj *models.Session) (string, error)
}

type SettingResolver

type SettingResolver interface {
	CreatedAt(ctx context.Context, obj *models.Setting) (string, error)
	UpdatedAt(ctx context.Context, obj *models.Setting) (string, error)
}

type Subscription

type Subscription struct {
}

type SubscriptionResolver

type SubscriptionResolver interface {
	DmxOutputChanged(ctx context.Context, universe *int) (<-chan *UniverseOutput, error)
	ProjectUpdated(ctx context.Context, projectID string) (<-chan *models.Project, error)
	PreviewSessionUpdated(ctx context.Context, projectID string) (<-chan *models.PreviewSession, error)
	CueListPlaybackUpdated(ctx context.Context, cueListID string) (<-chan *CueListPlaybackStatus, error)
	CueListDataChanged(ctx context.Context, cueListID string) (<-chan *CueListDataChangedPayload, error)
	GlobalPlaybackStatusUpdated(ctx context.Context) (<-chan *GlobalPlaybackStatus, error)
	SystemInfoUpdated(ctx context.Context) (<-chan *SystemInfo, error)
	WifiStatusUpdated(ctx context.Context) (<-chan *WiFiStatus, error)
	WifiModeChanged(ctx context.Context) (<-chan WiFiMode, error)
	OflImportProgress(ctx context.Context) (<-chan *OFLImportStatus, error)
	OperationHistoryChanged(ctx context.Context, projectID string) (<-chan *UndoRedoStatus, error)
	LookDataChanged(ctx context.Context, projectID string) (<-chan *LookDataChangedPayload, error)
	LookBoardDataChanged(ctx context.Context, projectID string) (<-chan *LookBoardDataChangedPayload, error)
	FixtureDataChanged(ctx context.Context, projectID string) (<-chan *FixtureDataChangedPayload, error)
}

type SystemInfo

type SystemInfo struct {
	ArtnetBroadcastAddress string `json:"artnetBroadcastAddress"`
	ArtnetEnabled          bool   `json:"artnetEnabled"`
	FadeUpdateRateHz       int    `json:"fadeUpdateRateHz"`
}

type SystemVersionInfo

type SystemVersionInfo struct {
	Repositories               []*RepositoryVersion `json:"repositories"`
	LastChecked                string               `json:"lastChecked"`
	VersionManagementSupported bool                 `json:"versionManagementSupported"`
}

type TransitionBehavior added in v0.2.30

type TransitionBehavior string

How an effect behaves when a cue change occurs. FADE_OUT - Effect fades out when cue changes PERSIST - Effect persists across cue changes SNAP_OFF - Effect immediately stops when cue changes CROSSFADE_PARAMS - Effect parameters crossfade to new values

const (
	TransitionBehaviorFadeOut         TransitionBehavior = "FADE_OUT"
	TransitionBehaviorPersist         TransitionBehavior = "PERSIST"
	TransitionBehaviorSnapOff         TransitionBehavior = "SNAP_OFF"
	TransitionBehaviorCrossfadeParams TransitionBehavior = "CROSSFADE_PARAMS"
)

func (TransitionBehavior) IsValid added in v0.2.30

func (e TransitionBehavior) IsValid() bool

func (TransitionBehavior) MarshalGQL added in v0.2.30

func (e TransitionBehavior) MarshalGQL(w io.Writer)

func (TransitionBehavior) MarshalJSON added in v0.2.30

func (e TransitionBehavior) MarshalJSON() ([]byte, error)

func (TransitionBehavior) String added in v0.2.30

func (e TransitionBehavior) String() string

func (*TransitionBehavior) UnmarshalGQL added in v0.2.30

func (e *TransitionBehavior) UnmarshalGQL(v any) error

func (*TransitionBehavior) UnmarshalJSON added in v0.2.30

func (e *TransitionBehavior) UnmarshalJSON(b []byte) error

type UndoEntityType added in v0.2.30

type UndoEntityType string

Type of entity being operated on.

const (
	UndoEntityTypeLook            UndoEntityType = "Look"
	UndoEntityTypeFixtureInstance UndoEntityType = "FixtureInstance"
	UndoEntityTypeCue             UndoEntityType = "Cue"
	UndoEntityTypeCueList         UndoEntityType = "CueList"
	UndoEntityTypeLookBoard       UndoEntityType = "LookBoard"
	UndoEntityTypeLookBoardButton UndoEntityType = "LookBoardButton"
	UndoEntityTypeEffect          UndoEntityType = "Effect"
	UndoEntityTypeProject         UndoEntityType = "Project"
	UndoEntityTypeCuePlayback     UndoEntityType = "CuePlayback"
)

func (UndoEntityType) IsValid added in v0.2.30

func (e UndoEntityType) IsValid() bool

func (UndoEntityType) MarshalGQL added in v0.2.30

func (e UndoEntityType) MarshalGQL(w io.Writer)

func (UndoEntityType) MarshalJSON added in v0.2.30

func (e UndoEntityType) MarshalJSON() ([]byte, error)

func (UndoEntityType) String added in v0.2.30

func (e UndoEntityType) String() string

func (*UndoEntityType) UnmarshalGQL added in v0.2.30

func (e *UndoEntityType) UnmarshalGQL(v any) error

func (*UndoEntityType) UnmarshalJSON added in v0.2.30

func (e *UndoEntityType) UnmarshalJSON(b []byte) error

type UndoRedoResult added in v0.2.30

type UndoRedoResult struct {
	Success   bool              `json:"success"`
	Operation *models.Operation `json:"operation,omitempty"`
	Message   *string           `json:"message,omitempty"`
	// ID of the entity that was restored
	RestoredEntityID *string `json:"restoredEntityId,omitempty"`
}

Result of an undo or redo operation.

type UndoRedoStatus added in v0.2.30

type UndoRedoStatus struct {
	ProjectID       string `json:"projectId"`
	CanUndo         bool   `json:"canUndo"`
	CanRedo         bool   `json:"canRedo"`
	CurrentSequence int    `json:"currentSequence"`
	TotalOperations int    `json:"totalOperations"`
	// Description of what would be undone
	UndoDescription *string `json:"undoDescription,omitempty"`
	// Description of what would be redone
	RedoDescription *string `json:"redoDescription,omitempty"`
}

Current status of undo/redo for a project.

type UniverseChannelMap

type UniverseChannelMap struct {
	Universe          int                  `json:"universe"`
	Fixtures          []*ChannelMapFixture `json:"fixtures"`
	ChannelUsage      []*ChannelUsage      `json:"channelUsage"`
	AvailableChannels int                  `json:"availableChannels"`
	UsedChannels      int                  `json:"usedChannels"`
}

type UniverseOutput

type UniverseOutput struct {
	Universe int   `json:"universe"`
	Channels []int `json:"channels"`
}

type UpdateAuthSettingsInput added in v0.2.31

type UpdateAuthSettingsInput struct {
	AuthEnabled              graphql.Omittable[*bool]    `json:"authEnabled,omitempty"`
	AllowedMethods           graphql.Omittable[[]string] `json:"allowedMethods,omitempty"`
	DeviceAuthEnabled        graphql.Omittable[*bool]    `json:"deviceAuthEnabled,omitempty"`
	SessionDurationHours     graphql.Omittable[*int]     `json:"sessionDurationHours,omitempty"`
	PasswordMinLength        graphql.Omittable[*int]     `json:"passwordMinLength,omitempty"`
	RequireEmailVerification graphql.Omittable[*bool]    `json:"requireEmailVerification,omitempty"`
}

type UpdateDeviceInput added in v0.2.31

type UpdateDeviceInput struct {
	Name          graphql.Omittable[*string]            `json:"name,omitempty"`
	DefaultUserID graphql.Omittable[*string]            `json:"defaultUserId,omitempty"`
	DefaultRole   graphql.Omittable[*DeviceRole]        `json:"defaultRole,omitempty"`
	IsAuthorized  graphql.Omittable[*bool]              `json:"isAuthorized,omitempty"`
	Permissions   graphql.Omittable[*DevicePermissions] `json:"permissions,omitempty"`
}

type UpdateEffectFixtureInput added in v0.2.30

type UpdateEffectFixtureInput struct {
	// Phase offset override for this fixture (degrees).
	PhaseOffset graphql.Omittable[*float64] `json:"phaseOffset,omitempty"`
	// Amplitude scale for this fixture (0-200%).
	AmplitudeScale graphql.Omittable[*float64] `json:"amplitudeScale,omitempty"`
	// Order for auto-phase distribution.
	EffectOrder graphql.Omittable[*int] `json:"effectOrder,omitempty"`
}

Input for updating an effect fixture's settings.

type UpdateEffectInput added in v0.2.30

type UpdateEffectInput struct {
	Name            graphql.Omittable[*string]             `json:"name,omitempty"`
	Description     graphql.Omittable[*string]             `json:"description,omitempty"`
	EffectType      graphql.Omittable[*EffectType]         `json:"effectType,omitempty"`
	PriorityBand    graphql.Omittable[*PriorityBand]       `json:"priorityBand,omitempty"`
	PrioritySub     graphql.Omittable[*int]                `json:"prioritySub,omitempty"`
	CompositionMode graphql.Omittable[*CompositionMode]    `json:"compositionMode,omitempty"`
	OnCueChange     graphql.Omittable[*TransitionBehavior] `json:"onCueChange,omitempty"`
	FadeDuration    graphql.Omittable[*float64]            `json:"fadeDuration,omitempty"`
	Waveform        graphql.Omittable[*WaveformType]       `json:"waveform,omitempty"`
	Frequency       graphql.Omittable[*float64]            `json:"frequency,omitempty"`
	Amplitude       graphql.Omittable[*float64]            `json:"amplitude,omitempty"`
	Offset          graphql.Omittable[*float64]            `json:"offset,omitempty"`
	PhaseOffset     graphql.Omittable[*float64]            `json:"phaseOffset,omitempty"`
	MasterValue     graphql.Omittable[*float64]            `json:"masterValue,omitempty"`
}

type UpdateFixtureGroupInput added in v0.3.0

type UpdateFixtureGroupInput struct {
	ID           string                     `json:"id"`
	Name         graphql.Omittable[*string] `json:"name,omitempty"`
	Description  graphql.Omittable[*string] `json:"description,omitempty"`
	EosNumber    graphql.Omittable[*int]    `json:"eosNumber,omitempty"`
	ProjectOrder graphql.Omittable[*int]    `json:"projectOrder,omitempty"`
}

type UpdateFixtureInstanceInput

type UpdateFixtureInstanceInput struct {
	Name           graphql.Omittable[*string]  `json:"name,omitempty"`
	Description    graphql.Omittable[*string]  `json:"description,omitempty"`
	DefinitionID   graphql.Omittable[*string]  `json:"definitionId,omitempty"`
	ModeID         graphql.Omittable[*string]  `json:"modeId,omitempty"`
	Universe       graphql.Omittable[*int]     `json:"universe,omitempty"`
	StartChannel   graphql.Omittable[*int]     `json:"startChannel,omitempty"`
	Tags           graphql.Omittable[[]string] `json:"tags,omitempty"`
	ProjectOrder   graphql.Omittable[*int]     `json:"projectOrder,omitempty"`
	LayoutX        graphql.Omittable[*float64] `json:"layoutX,omitempty"`
	LayoutY        graphql.Omittable[*float64] `json:"layoutY,omitempty"`
	LayoutRotation graphql.Omittable[*float64] `json:"layoutRotation,omitempty"`
}

type UpdateLookBoardButtonInput added in v0.2.30

type UpdateLookBoardButtonInput struct {
	LayoutX graphql.Omittable[*int]    `json:"layoutX,omitempty"`
	LayoutY graphql.Omittable[*int]    `json:"layoutY,omitempty"`
	Width   graphql.Omittable[*int]    `json:"width,omitempty"`
	Height  graphql.Omittable[*int]    `json:"height,omitempty"`
	Color   graphql.Omittable[*string] `json:"color,omitempty"`
	Label   graphql.Omittable[*string] `json:"label,omitempty"`
}

type UpdateLookBoardInput added in v0.2.30

type UpdateLookBoardInput struct {
	Name            graphql.Omittable[*string]  `json:"name,omitempty"`
	Description     graphql.Omittable[*string]  `json:"description,omitempty"`
	DefaultFadeTime graphql.Omittable[*float64] `json:"defaultFadeTime,omitempty"`
	GridSize        graphql.Omittable[*int]     `json:"gridSize,omitempty"`
	CanvasWidth     graphql.Omittable[*int]     `json:"canvasWidth,omitempty"`
	CanvasHeight    graphql.Omittable[*int]     `json:"canvasHeight,omitempty"`
}

type UpdateLookInput added in v0.2.30

type UpdateLookInput struct {
	Name          graphql.Omittable[*string]              `json:"name,omitempty"`
	Description   graphql.Omittable[*string]              `json:"description,omitempty"`
	FixtureValues graphql.Omittable[[]*FixtureValueInput] `json:"fixtureValues,omitempty"`
}

type UpdateResult

type UpdateResult struct {
	Success         bool    `json:"success"`
	Repository      string  `json:"repository"`
	PreviousVersion string  `json:"previousVersion"`
	NewVersion      string  `json:"newVersion"`
	Message         *string `json:"message,omitempty"`
	Error           *string `json:"error,omitempty"`
}

type UpdateSettingInput

type UpdateSettingInput struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type UpdateUserGroupInput added in v0.2.31

type UpdateUserGroupInput struct {
	Name        graphql.Omittable[*string]  `json:"name,omitempty"`
	Description graphql.Omittable[*string]  `json:"description,omitempty"`
	Permissions graphql.Omittable[[]string] `json:"permissions,omitempty"`
}

type UpdateUserInput added in v0.2.31

type UpdateUserInput struct {
	Email    graphql.Omittable[*string]   `json:"email,omitempty"`
	Name     graphql.Omittable[*string]   `json:"name,omitempty"`
	Phone    graphql.Omittable[*string]   `json:"phone,omitempty"`
	Role     graphql.Omittable[*UserRole] `json:"role,omitempty"`
	IsActive graphql.Omittable[*bool]     `json:"isActive,omitempty"`
}

type UserGroupResolver added in v0.2.31

type UserGroupResolver interface {
	Permissions(ctx context.Context, obj *models.UserGroup) ([]string, error)
	MemberCount(ctx context.Context, obj *models.UserGroup) (int, error)

	Members(ctx context.Context, obj *models.UserGroup) ([]*GroupMember, error)
	Projects(ctx context.Context, obj *models.UserGroup) ([]*models.Project, error)
	Devices(ctx context.Context, obj *models.UserGroup) ([]*models.Device, error)
	CreatedAt(ctx context.Context, obj *models.UserGroup) (string, error)
	UpdatedAt(ctx context.Context, obj *models.UserGroup) (string, error)
}

type UserResolver

type UserResolver interface {
	Role(ctx context.Context, obj *models.User) (UserRole, error)
	CreatedAt(ctx context.Context, obj *models.User) (string, error)
}

type UserRole

type UserRole string
const (
	UserRoleAdmin UserRole = "ADMIN"
	UserRoleUser  UserRole = "USER"
)

func (UserRole) IsValid

func (e UserRole) IsValid() bool

func (UserRole) MarshalGQL

func (e UserRole) MarshalGQL(w io.Writer)

func (UserRole) MarshalJSON

func (e UserRole) MarshalJSON() ([]byte, error)

func (UserRole) String

func (e UserRole) String() string

func (*UserRole) UnmarshalGQL

func (e *UserRole) UnmarshalGQL(v any) error

func (*UserRole) UnmarshalJSON

func (e *UserRole) UnmarshalJSON(b []byte) error

type VerificationTokenType added in v0.2.31

type VerificationTokenType string

Type of verification token.

const (
	VerificationTokenTypeEmailVerify   VerificationTokenType = "EMAIL_VERIFY"
	VerificationTokenTypePhoneVerify   VerificationTokenType = "PHONE_VERIFY"
	VerificationTokenTypePasswordReset VerificationTokenType = "PASSWORD_RESET"
)

func (VerificationTokenType) IsValid added in v0.2.31

func (e VerificationTokenType) IsValid() bool

func (VerificationTokenType) MarshalGQL added in v0.2.31

func (e VerificationTokenType) MarshalGQL(w io.Writer)

func (VerificationTokenType) MarshalJSON added in v0.2.31

func (e VerificationTokenType) MarshalJSON() ([]byte, error)

func (VerificationTokenType) String added in v0.2.31

func (e VerificationTokenType) String() string

func (*VerificationTokenType) UnmarshalGQL added in v0.2.31

func (e *VerificationTokenType) UnmarshalGQL(v any) error

func (*VerificationTokenType) UnmarshalJSON added in v0.2.31

func (e *VerificationTokenType) UnmarshalJSON(b []byte) error

type WaveformType added in v0.2.30

type WaveformType string

Waveform type for LFO-based effects.

const (
	WaveformTypeSine     WaveformType = "SINE"
	WaveformTypeCosine   WaveformType = "COSINE"
	WaveformTypeSquare   WaveformType = "SQUARE"
	WaveformTypeSawtooth WaveformType = "SAWTOOTH"
	WaveformTypeTriangle WaveformType = "TRIANGLE"
	WaveformTypeRandom   WaveformType = "RANDOM"
)

func (WaveformType) IsValid added in v0.2.30

func (e WaveformType) IsValid() bool

func (WaveformType) MarshalGQL added in v0.2.30

func (e WaveformType) MarshalGQL(w io.Writer)

func (WaveformType) MarshalJSON added in v0.2.30

func (e WaveformType) MarshalJSON() ([]byte, error)

func (WaveformType) String added in v0.2.30

func (e WaveformType) String() string

func (*WaveformType) UnmarshalGQL added in v0.2.30

func (e *WaveformType) UnmarshalGQL(v any) error

func (*WaveformType) UnmarshalJSON added in v0.2.30

func (e *WaveformType) UnmarshalJSON(b []byte) error

type WiFiConnectionResult

type WiFiConnectionResult struct {
	Success   bool    `json:"success"`
	Message   *string `json:"message,omitempty"`
	Connected bool    `json:"connected"`
}

type WiFiMode added in v0.2.19

type WiFiMode string
const (
	WiFiModeClient     WiFiMode = "CLIENT"
	WiFiModeAp         WiFiMode = "AP"
	WiFiModeDisabled   WiFiMode = "DISABLED"
	WiFiModeConnecting WiFiMode = "CONNECTING"
	WiFiModeStartingAp WiFiMode = "STARTING_AP"
)

func (WiFiMode) IsValid added in v0.2.19

func (e WiFiMode) IsValid() bool

func (WiFiMode) MarshalGQL added in v0.2.19

func (e WiFiMode) MarshalGQL(w io.Writer)

func (WiFiMode) MarshalJSON added in v0.2.19

func (e WiFiMode) MarshalJSON() ([]byte, error)

func (WiFiMode) String added in v0.2.19

func (e WiFiMode) String() string

func (*WiFiMode) UnmarshalGQL added in v0.2.19

func (e *WiFiMode) UnmarshalGQL(v any) error

func (*WiFiMode) UnmarshalJSON added in v0.2.19

func (e *WiFiMode) UnmarshalJSON(b []byte) error

type WiFiModeResult added in v0.2.19

type WiFiModeResult struct {
	Success bool     `json:"success"`
	Message *string  `json:"message,omitempty"`
	Mode    WiFiMode `json:"mode"`
}

type WiFiNetwork

type WiFiNetwork struct {
	Ssid           string           `json:"ssid"`
	SignalStrength int              `json:"signalStrength"`
	Frequency      string           `json:"frequency"`
	Security       WiFiSecurityType `json:"security"`
	InUse          bool             `json:"inUse"`
	Saved          bool             `json:"saved"`
}

type WiFiSecurityType

type WiFiSecurityType string
const (
	WiFiSecurityTypeOpen    WiFiSecurityType = "OPEN"
	WiFiSecurityTypeWep     WiFiSecurityType = "WEP"
	WiFiSecurityTypeWpaPsk  WiFiSecurityType = "WPA_PSK"
	WiFiSecurityTypeWpaEap  WiFiSecurityType = "WPA_EAP"
	WiFiSecurityTypeWpa3Psk WiFiSecurityType = "WPA3_PSK"
	WiFiSecurityTypeWpa3Eap WiFiSecurityType = "WPA3_EAP"
	WiFiSecurityTypeOwe     WiFiSecurityType = "OWE"
)

func (WiFiSecurityType) IsValid

func (e WiFiSecurityType) IsValid() bool

func (WiFiSecurityType) MarshalGQL

func (e WiFiSecurityType) MarshalGQL(w io.Writer)

func (WiFiSecurityType) MarshalJSON

func (e WiFiSecurityType) MarshalJSON() ([]byte, error)

func (WiFiSecurityType) String

func (e WiFiSecurityType) String() string

func (*WiFiSecurityType) UnmarshalGQL

func (e *WiFiSecurityType) UnmarshalGQL(v any) error

func (*WiFiSecurityType) UnmarshalJSON

func (e *WiFiSecurityType) UnmarshalJSON(b []byte) error

type WiFiStatus

type WiFiStatus struct {
	Available        bool        `json:"available"`
	Enabled          bool        `json:"enabled"`
	Connected        bool        `json:"connected"`
	Ssid             *string     `json:"ssid,omitempty"`
	SignalStrength   *int        `json:"signalStrength,omitempty"`
	IPAddress        *string     `json:"ipAddress,omitempty"`
	MacAddress       *string     `json:"macAddress,omitempty"`
	Frequency        *string     `json:"frequency,omitempty"`
	Mode             WiFiMode    `json:"mode"`
	ApConfig         *APConfig   `json:"apConfig,omitempty"`
	ConnectedClients []*APClient `json:"connectedClients,omitempty"`
}

Jump to

Keyboard shortcuts

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