-- ============================================================
-- database.sql - WebGIS Pemetaan Kemiskinan Freya
-- Versi deploy Coolify
-- Tidak memakai CREATE DATABASE / USE agar mengikuti Initial Database Coolify.
-- Akan me-reset tabel utama aplikasi.
-- ============================================================

SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS bantuan;
DROP TABLE IF EXISTS keluarga_miskin;
DROP TABLE IF EXISTS rumah_ibadah;
DROP TABLE IF EXISTS users;
SET FOREIGN_KEY_CHECKS = 1;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    username VARCHAR(80) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    role ENUM('admin','pengurus','pengguna') NOT NULL DEFAULT 'pengguna',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE rumah_ibadah (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(150) NOT NULL,
    jenis VARCHAR(80) DEFAULT NULL,
    alamat TEXT DEFAULT NULL,
    ketua VARCHAR(120) DEFAULT NULL,
    no_hp VARCHAR(30) DEFAULT NULL,
    lat DOUBLE NOT NULL DEFAULT 0,
    lng DOUBLE NOT NULL DEFAULT 0,
    radius INT NOT NULL DEFAULT 500,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE keluarga_miskin (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nik VARCHAR(30) DEFAULT NULL,
    nama VARCHAR(150) NOT NULL,
    alamat TEXT DEFAULT NULL,
    penghasilan_kategori VARCHAR(80) DEFAULT NULL,
    prioritas VARCHAR(50) DEFAULT NULL,
    lat DOUBLE NOT NULL DEFAULT 0,
    lng DOUBLE NOT NULL DEFAULT 0,
    status_bantuan ENUM('belum','proses','sudah') NOT NULL DEFAULT 'belum',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

CREATE TABLE bantuan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    keluarga_id INT NOT NULL,
    jenis VARCHAR(80) NOT NULL,
    jumlah VARCHAR(100) DEFAULT NULL,
    keterangan TEXT DEFAULT NULL,
    status ENUM('pending','disetujui','diserahkan','ditolak') NOT NULL DEFAULT 'pending',
    status_aktif ENUM('aktif','selesai') NOT NULL DEFAULT 'aktif',
    tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    CONSTRAINT fk_bantuan_keluarga
        FOREIGN KEY (keluarga_id) REFERENCES keluarga_miskin(id)
        ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO users (nama, username, password, role) VALUES
('Administrator', 'admin', 'password', 'admin'),
('Pengurus Rumah Ibadah', 'pengurus', 'password', 'pengurus'),
('Pengguna Keluarga', 'pengguna', 'password', 'pengguna');

INSERT INTO rumah_ibadah (nama, jenis, alamat, ketua, no_hp, lat, lng, radius) VALUES
('Masjid Raya Mujahidin', 'Masjid', 'Jl. Jenderal Ahmad Yani, Pontianak', 'Pengurus Demo', '081234567890', -0.0554, 109.3465, 800),
('Masjid Jami Sultan Syarif Abdurrahman', 'Masjid', 'Pontianak Timur', 'Pengurus Demo', '081234567891', -0.0239, 109.3446, 800);

INSERT INTO keluarga_miskin (nik, nama, alamat, penghasilan_kategori, prioritas, lat, lng, status_bantuan) VALUES
('6171010101010001', 'Budi Santoso', 'Pontianak Kota', 'rendah', 'sedang', -0.0412, 109.3210, 'belum'),
('6171010101010002', 'Siti Aminah', 'Pontianak Selatan', 'rendah', 'tinggi', -0.0550, 109.3450, 'belum'),
('6171010101010003', 'Rahmat Hidayat', 'Pontianak Utara', 'sedang', 'sedang', -0.0060, 109.3300, 'proses');

INSERT INTO bantuan (keluarga_id, jenis, jumlah, keterangan, status, status_aktif) VALUES
(3, 'barang', '1 paket sembako', 'Data dummy untuk testing', 'pending', 'aktif');
