Files
tessera/drizzle/migrations/0019_watcher_tables.sql
Gjermund Høsøien Wiggen 653139ad0d feat: watcher/CC system, SLA engine, and rich text comments
- Watcher system: ticket_watchers table, watch/unwatch endpoints,
  notifications to watchers on comments and updates, watcher/cc
  recipient sources in SendEmail scrip action, watch toggle and
  watcher avatars in ticket detail UI
- SLA engine: sla_policies table, SLA deadline columns on tickets,
  CRUD routes, OnSlaBreach scrip condition, scheduler SLA calculation,
  deadlines set on create/reply, cleared on resolve, SLA indicators
  on ticket list and detail, SLA Policies tab in admin
- Rich text: marked-based markdown rendering with XSS safety,
  Write/Preview toggle in comment composer, styled prose output
2026-06-15 21:40:18 +02:00

10 lines
440 B
SQL

CREATE TABLE ticket_watchers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
ticket_id INTEGER NOT NULL REFERENCES tickets(id) ON DELETE CASCADE,
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
UNIQUE(ticket_id, user_id)
);
CREATE INDEX ticket_watchers_ticket_id_idx ON ticket_watchers(ticket_id);
CREATE INDEX ticket_watchers_user_id_idx ON ticket_watchers(user_id);