From 28042b8930bbee1f71fb401422524860cd91f438 Mon Sep 17 00:00:00 2001 From: wisplite Date: Tue, 7 Apr 2026 13:34:53 -0500 Subject: [PATCH] add placeholder functions for websocket state tracker --- engine.go | 3 +-- reactivity/tracker.go | 22 ++++++++++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/engine.go b/engine.go index e2e1f8e..a061965 100644 --- a/engine.go +++ b/engine.go @@ -11,14 +11,13 @@ import ( type Engine struct { db *gorm.DB - channels map[string]*reactivity.Channel mutations map[string]func(ctx *MutationCtx) error queries map[string]func(ctx *QueryCtx) error } func NewEngine(db *gorm.DB) *Engine { slog.SetLogLoggerLevel(slog.LevelDebug) - return &Engine{db: db, channels: make(map[string]*reactivity.Channel), mutations: make(map[string]func(ctx *MutationCtx) error), queries: make(map[string]func(ctx *QueryCtx) error)} + return &Engine{db: db, mutations: make(map[string]func(ctx *MutationCtx) error), queries: make(map[string]func(ctx *QueryCtx) error)} } func (e *Engine) RegisterMutation(name string, mutation func(ctx *MutationCtx) error) { diff --git a/reactivity/tracker.go b/reactivity/tracker.go index d148453..43e4805 100644 --- a/reactivity/tracker.go +++ b/reactivity/tracker.go @@ -2,12 +2,22 @@ package reactivity import "github.com/gorilla/websocket" -type Subscription struct { - ID string - Conn *websocket.Conn +// TODO: populate with needed structures for tracking state +type Tracker struct { } -type Channel struct { - ID string - Subscriptions []*Subscription +func NewTracker() *Tracker { + return &Tracker{} +} + +func (t *Tracker) Track(conn *websocket.Conn) {} + +func (t *Tracker) Untrack(conn *websocket.Conn) {} + +func (t *Tracker) SubscribeToQuery(query string) {} + +func (t *Tracker) UnsubscribeFromQuery(query string) {} + +func (t *Tracker) GetQuerySubscriptions() []string { + return []string{} }