USE bulo;

CREATE TABLE IF NOT EXISTS avisos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  destino ENUM('motoristas', 'passageiros', 'todos') NOT NULL DEFAULT 'todos',
  titulo VARCHAR(140) NOT NULL,
  mensagem TEXT NOT NULL,
  enviado_por VARCHAR(80) NOT NULL,
  criado_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  INDEX idx_avisos_destino (destino),
  INDEX idx_avisos_criado_em (criado_em)
);

CREATE TABLE IF NOT EXISTS avisos_leituras (
  id_aviso INT NOT NULL,
  id_usuario INT NOT NULL,
  lido_em DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (id_aviso, id_usuario),
  CONSTRAINT fk_avisos_leituras_aviso FOREIGN KEY (id_aviso) REFERENCES avisos(id) ON DELETE CASCADE,
  CONSTRAINT fk_avisos_leituras_usuario FOREIGN KEY (id_usuario) REFERENCES usuarios(id) ON DELETE CASCADE,
  INDEX idx_avisos_leituras_usuario (id_usuario, lido_em)
);
