USE bulo;

CREATE TABLE IF NOT EXISTS push_tokens (
  id INT AUTO_INCREMENT PRIMARY KEY,
  id_usuario INT NOT NULL,
  tipo_usuario ENUM('motorista', 'passageiro') NOT NULL,
  token VARCHAR(255) NOT NULL,
  plataforma ENUM('android', 'ios', 'web') NOT NULL DEFAULT 'android',
  app VARCHAR(40) NULL,
  ativo TINYINT(1) NOT NULL DEFAULT 1,
  criado_em TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  atualizado_em TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  UNIQUE KEY uk_push_tokens_token (token),
  CONSTRAINT fk_push_tokens_usuario FOREIGN KEY (id_usuario) REFERENCES usuarios(id) ON DELETE CASCADE,
  INDEX idx_push_tokens_usuario (id_usuario, tipo_usuario, ativo),
  INDEX idx_push_tokens_destino (tipo_usuario, ativo)
);
