-- e-li.nps: tabelas globais do painel (comentários e status de análise)
--
-- Importante:
-- - o app também cria essas tabelas de forma defensiva em runtime (EnsurePainelTables)
-- - este arquivo é um backup/documentação para ambientes que preferem rodar SQL manual

CREATE TABLE IF NOT EXISTS painel_resposta_status (
  produto text NOT NULL,
  resposta_id text NOT NULL,
  status text NOT NULL CHECK (status IN ('pendente','concluida')),
  concluida_em timestamptz NULL,
  atualizado_em timestamptz NOT NULL DEFAULT now(),
  PRIMARY KEY (produto, resposta_id)
);

CREATE TABLE IF NOT EXISTS painel_resposta_comentario (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  produto text NOT NULL,
  resposta_id text NOT NULL,
  -- Operador logado no painel no momento da criação do comentário.
  pessoa_nome text NOT NULL,
  -- ID de sessão do login para aplicar regra: só edita/deleta na mesma sessão.
  sessao_id uuid NOT NULL,
  comentario text NOT NULL,
  criado_em timestamptz NOT NULL DEFAULT now(),
  atualizado_em timestamptz NOT NULL DEFAULT now()
);

CREATE INDEX IF NOT EXISTS idx_painel_resp_comentario
  ON painel_resposta_comentario (produto, resposta_id, criado_em ASC);

