-- Migração: Rotas + senha admin corrigida
USE verci;

-- Senha: admin123
UPDATE usuarios SET senha_hash = '$2y$12$SvXTRhCr.bjYAuGVNHriv.yUUwg4S9isXh9Px1DKi3O1vWrl.NaBK'
WHERE email = 'admin@verci.local';

CREATE TABLE IF NOT EXISTS rotas (
    id              INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    titulo          VARCHAR(200) NOT NULL,
    descricao       TEXT NULL,
    responsavel_id  INT UNSIGNED NULL,
    data_planejada  DATE NULL,
    status          ENUM('rascunho', 'planejada', 'em_andamento', 'concluida', 'cancelada') NOT NULL DEFAULT 'rascunho',
    created_by      INT UNSIGNED NULL,
    created_at      DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at      DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    CONSTRAINT fk_rota_responsavel FOREIGN KEY (responsavel_id) REFERENCES usuarios(id),
    CONSTRAINT fk_rota_criador FOREIGN KEY (created_by) REFERENCES usuarios(id)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS rota_paradas (
    id              INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    rota_id         INT UNSIGNED NOT NULL,
    cidadao_id      INT UNSIGNED NOT NULL,
    ordem           SMALLINT UNSIGNED NOT NULL DEFAULT 1,
    observacao      TEXT NULL,
    status          ENUM('pendente', 'visitado', 'nao_localizado', 'cancelado') NOT NULL DEFAULT 'pendente',
    visitado_em     DATETIME NULL,
    CONSTRAINT fk_parada_rota FOREIGN KEY (rota_id) REFERENCES rotas(id) ON DELETE CASCADE,
    CONSTRAINT fk_parada_cidadao FOREIGN KEY (cidadao_id) REFERENCES cidadaos(id),
    UNIQUE KEY uk_rota_cidadao (rota_id, cidadao_id)
) ENGINE=InnoDB;
