feat: add broadcast session tracking and chatlog service with database migrations

This commit is contained in:
fabio
2026-10-10 14:17:59 +02:00
parent 8e91572ec9
commit adc0b236a3
13 changed files with 473 additions and 28 deletions

View File

@@ -0,0 +1,9 @@
CREATE TABLE chatlog (
id BIGSERIAL PRIMARY KEY,
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW(),
room UUID NOT NULL,
type TEXT NOT NULL CHECK (type IN ('ACTION','MESSAGE','ALLERT','CMD')),
data TEXT NOT NULL
);
CREATE INDEX idx_chatlog_room ON chatlog(room);

View File

@@ -6,6 +6,6 @@ ALTER TABLE broadcasters RENAME COLUMN new_id TO id;
ALTER TABLE broadcasters ALTER COLUMN id SET NOT NULL;
ALTER TABLE broadcasters ADD PRIMARY KEY (id);
ALTER TABLE broadcasters ADD COLUMN enabled BOOLEAN NOT NULL DEFAULT FALSE;
ALTER TABLE broadcasters ADD COLUMN used BOOLEAN NOT NULL DEFAULT FALSE;
UPDATE broadcasters SET used = TRUE, enabled = TRUE;
-- enabled column already added in previous migration
-- used column already added in previous migration
-- data update for enabled/used columns moved to previous migration

View File

@@ -0,0 +1,11 @@
-- 4_add_enabled_used.up.sql
-- Aggiunge le colonne "enabled" e "used" alla tabella broadcasters.
-- Queste colonne sono usate dal codice Go per indicare lo stato del profilo.
ALTER TABLE broadcasters
ADD COLUMN enabled BOOLEAN NOT NULL DEFAULT FALSE,
ADD COLUMN used BOOLEAN NOT NULL DEFAULT FALSE;
-- Indici facoltativi per velocizzare le query su queste colonne
CREATE INDEX idx_broadcasters_enabled ON broadcasters(enabled);
CREATE INDEX idx_broadcasters_used ON broadcasters(used);

View File

@@ -0,0 +1,4 @@
-- 5_chatlog_room_text.up.sql
-- Modifica la colonna "room" da UUID a TEXT per supportare qualsiasi identificatore di stanza (es. nomi LiveKit, slug, broadcast-uuid).
ALTER TABLE chatlog ALTER COLUMN room TYPE TEXT;