-- laporan_migration.sql
-- Jalankan script ini di phpMyAdmin untuk database "bansos_gis"
-- Fitur: Pelaporan Warga oleh Kontributor & Koordinator

-- Tambah kolom no_telp ke tabel users jika belum ada
ALTER TABLE `users`
  ADD COLUMN IF NOT EXISTS `no_telp` VARCHAR(20) NULL DEFAULT NULL
    COMMENT 'Nomor telepon/WA pengguna';

-- Buat tabel laporan_warga
CREATE TABLE IF NOT EXISTS `laporan_warga` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `rumah_warga_id` INT(11) NOT NULL COMMENT 'Warga yang dilaporkan',
  `pelapor_id` INT(11) NOT NULL COMMENT 'User yang membuat laporan',
  `koordinator_ibadah_id` INT(11) NULL DEFAULT NULL COMMENT 'Rumah ibadah pelapor (jika koordinator)',
  `jenis_laporan` ENUM(
    'data_tidak_sesuai',
    'warga_mampu',
    'warga_pindah',
    'warga_meninggal',
    'data_ganda',
    'lainnya'
  ) NOT NULL DEFAULT 'data_tidak_sesuai' COMMENT 'Jenis ketidaksesuaian yang dilaporkan',
  `deskripsi` TEXT NOT NULL COMMENT 'Penjelasan detail dari pelapor',
  `prioritas` ENUM('rendah', 'sedang', 'tinggi') NOT NULL DEFAULT 'sedang',
  `status` ENUM(
    'pending',
    'ditinjau',
    'diproses',
    'selesai',
    'ditolak'
  ) NOT NULL DEFAULT 'pending' COMMENT 'Status penanganan laporan',
  `catatan_admin` TEXT NULL DEFAULT NULL COMMENT 'Catatan atau keputusan admin',
  `ditugaskan_ke` VARCHAR(150) NULL DEFAULT NULL COMMENT 'Nama petugas yang ditugaskan cek lapangan',
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
  `updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP(),
  PRIMARY KEY (`id`),
  KEY `fk_laporan_warga` (`rumah_warga_id`),
  KEY `fk_laporan_pelapor` (`pelapor_id`),
  KEY `idx_laporan_status` (`status`),
  KEY `idx_laporan_prioritas` (`prioritas`),
  CONSTRAINT `fk_laporan_warga` FOREIGN KEY (`rumah_warga_id`) REFERENCES `rumah_warga` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fk_laporan_pelapor` FOREIGN KEY (`pelapor_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
