-- =============================================================================
-- Company scope table
-- =============================================================================
-- Controls which companies are included in Wulf's own analytics (dashboard
-- KPIs, analyzer ticket views, etc.).  Opt-out model: companies without a row
-- here are implicitly in scope.  Only rows with in_scope=false are excluded.
--
-- Use case: white-label / subcontract clients (TTG, LEC, PER, VCF, TNT Pizza,
-- Trivium Packaging, etc.) have dedicated branded queues and should not pollute
-- Wulf recurring-revenue metrics.  Mark them in_scope=false via /admin/client-scope.
-- =============================================================================

CREATE TABLE IF NOT EXISTS company_scope (
  company_id  BIGINT       PRIMARY KEY REFERENCES companies(id) ON DELETE CASCADE,
  in_scope    BOOLEAN      NOT NULL DEFAULT true,
  updated_by  TEXT,
  updated_at  TIMESTAMPTZ  NOT NULL DEFAULT NOW()
);

CREATE INDEX IF NOT EXISTS idx_company_scope_in_scope
  ON company_scope(in_scope)
  WHERE in_scope = false;

COMMENT ON TABLE company_scope IS
  'Opt-out scope filter for analytics. Absent row = in scope. in_scope=false = excluded from dashboard KPIs and ticket views.';
