-- Database: sistem_qurban
CREATE DATABASE IF NOT EXISTS sistem_qurban;
USE sistem_qurban;

CREATE TABLE IF NOT EXISTS warga (
    id_warga INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    no_whatsapp VARCHAR(15) NOT NULL UNIQUE,
    alamat TEXT NOT NULL,
    password VARCHAR(255) NOT NULL
);

CREATE TABLE IF NOT EXISTS kelompok_sapi (
    id_kelompok INT AUTO_INCREMENT PRIMARY KEY,
    nama_kelompok VARCHAR(50) NOT NULL
);

CREATE TABLE IF NOT EXISTS pendaftaran_qurban (
    id_daftar INT AUTO_INCREMENT PRIMARY KEY,
    id_warga INT,
    id_kelompok INT NULL,
    atas_nama_qurban VARCHAR(100) NOT NULL,
    target_dana DECIMAL(10,2) DEFAULT 2800000.00,
    FOREIGN KEY (id_warga) REFERENCES warga(id_warga) ON DELETE CASCADE,
    FOREIGN KEY (id_kelompok) REFERENCES kelompok_sapi(id_kelompok) ON DELETE SET NULL
);

CREATE TABLE IF NOT EXISTS cicilan (
    id_cicilan INT AUTO_INCREMENT PRIMARY KEY,
    id_daftar INT,
    nominal_bayar DECIMAL(10,2) NOT NULL,
    tanggal_bayar TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    bukti_transfer VARCHAR(255) NULL,
    status_verifikasi ENUM('Pending', 'Disetujui', 'Ditolak') DEFAULT 'Pending',
    FOREIGN KEY (id_daftar) REFERENCES pendaftaran_qurban(id_daftar) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS pengaturan_sistem (
    id INT AUTO_INCREMENT PRIMARY KEY,
    kunci_pengaturan VARCHAR(50) NOT NULL UNIQUE,
    nilai_pengaturan VARCHAR(255) NOT NULL
);

-- Memasukkan harga default awal sebesar 3.500.000
INSERT INTO pengaturan_sistem (kunci_pengaturan, nilai_pengaturan) 
VALUES ('harga_qurban', '3500000')
ON DUPLICATE KEY UPDATE nilai_pengaturan='3500000';

-- Insert sample groups
INSERT INTO kelompok_sapi (nama_kelompok) VALUES ('Sapi Kelompok 1'), ('Sapi Kelompok 2'), ('Sapi Kelompok 3'),('Sapi Kelompok 4');;
