CREATE DATABASE IF NOT EXISTS evoting_qr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE evoting_qr;

CREATE TABLE IF NOT EXISTS admins (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  nama VARCHAR(100) NOT NULL,
  username VARCHAR(50) NOT NULL UNIQUE,
  password_hash VARCHAR(255) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS pemilih (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  nama VARCHAR(120) NOT NULL,
  nomor_identitas VARCHAR(40) DEFAULT NULL,
  qr_token VARCHAR(100) NOT NULL UNIQUE,
  status ENUM('aktif','nonaktif') NOT NULL DEFAULT 'aktif',
  sudah_memilih TINYINT(1) NOT NULL DEFAULT 0,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  INDEX (nama),
  INDEX (status)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS calon (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  nomor_urut INT UNSIGNED NOT NULL,
  nama VARCHAR(120) NOT NULL,
  keterangan TEXT DEFAULT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  UNIQUE KEY unique_nomor_urut (nomor_urut)
) ENGINE=InnoDB;

-- Buat hash password admin menggunakan password_hash() dari PHP.
-- Setelah import SQL, jalankan setup_admin.php sekali untuk membuat akun admin.
