-- Database Setup Script untuk Permohonan Salinan Putusan
-- Copy dan paste script ini ke phpMyAdmin > SQL tab
-- Database: pnwy4699_permohonan

-- Table: users
CREATE TABLE IF NOT EXISTS `users` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nama_lengkap` VARCHAR(255) NOT NULL,
    `username` VARCHAR(100) UNIQUE NOT NULL,
    `email` VARCHAR(255) UNIQUE NOT NULL,
    `password` VARCHAR(255) NOT NULL,
    `role` ENUM('admin', 'user') DEFAULT 'user',
    `nomor_hp` VARCHAR(20),
    `alamat` TEXT,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Table: permohonans
CREATE TABLE IF NOT EXISTS `permohonans` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `pemohon_id` INT NOT NULL,
    `kode_permohonan` VARCHAR(20) UNIQUE NOT NULL,
    `nomor_perkara` VARCHAR(100) NOT NULL,
    `tahun_perkara` INT NOT NULL,
    `para_pihak` TEXT NOT NULL,
    `jenis_perkara` VARCHAR(50) NOT NULL,
    `kebutuhan` VARCHAR(100) NOT NULL,
    `keperluan` TEXT NOT NULL,
    `status` ENUM('pending', 'diproses', 'selesai', 'ditolak') DEFAULT 'pending',
    `catatan` TEXT,
    `tanggal_selesai` DATE NULL,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (`pemohon_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Table: permohonan_files
CREATE TABLE IF NOT EXISTS `permohonan_files` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `permohonan_id` INT NOT NULL,
    `nama_file` VARCHAR(255) NOT NULL,
    `nama_asli` VARCHAR(255) NOT NULL,
    `file_path` VARCHAR(500) NOT NULL,
    `file_type` VARCHAR(100) NOT NULL,
    `file_size` INT NOT NULL,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (`permohonan_id`) REFERENCES `permohonans`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Table: system_settings
CREATE TABLE IF NOT EXISTS `system_settings` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `setting_key` VARCHAR(100) UNIQUE NOT NULL,
    `setting_value` TEXT,
    `description` TEXT,
    `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Insert default settings
INSERT IGNORE INTO `system_settings` (`setting_key`, `setting_value`, `description`) VALUES
('kop_surat_name', 'PENGADILAN NEGERI WATAMPONE', 'Nama instansi untuk kop surat'),
('kop_surat_address', 'Jl. Veteran No. 1 Watampone, Bone', 'Alamat instansi'),
('kop_surat_phone', 'Telp. (0481) 21234', 'Nomor telepon instansi'),
('max_file_size', '2048', 'Maksimal ukuran file upload dalam KB'),
('allowed_file_types', 'pdf,jpg,jpeg,png', 'Tipe file yang diizinkan'),
('app_name', 'Sistem Permohonan Salinan Putusan', 'Nama aplikasi'),
('app_version', '1.0.0', 'Versi aplikasi');

-- Insert demo users (password untuk semua: password)
-- Hash password untuk 'password': $2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi

INSERT IGNORE INTO `users` (`nama_lengkap`, `username`, `email`, `password`, `role`, `nomor_hp`) VALUES
-- Admin Demo
('Administrator Demo', 'admin', 'admin@pn-watampone.go.id', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin', '081234567890'),

-- Petugas Demo  
('Petugas Demo', 'petugas1', 'petugas1@pn-watampone.go.id', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user', '081234567891'),

-- Pemohon Demo
('Pemohon Demo', 'pemohon_demo', 'pemohon@example.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'user', '081234567892');

-- Insert sample permohonan data
INSERT IGNORE INTO `permohonans` (`pemohon_id`, `kode_permohonan`, `nomor_perkara`, `tahun_perkara`, `para_pihak`, `jenis_perkara`, `kebutuhan`, `keperluan`, `status`) VALUES
(3, 'PSP-2025-001', '123/Pdt.G/2025/PN Wtp', 2025, 'Ahmad vs Budi', 'Perdata', 'Salinan Putusan', 'Untuk keperluan banding', 'pending'),
(3, 'PSP-2025-002', '124/Pid.B/2025/PN Wtp', 2025, 'Negara vs Candra', 'Pidana', 'Salinan Putusan', 'Untuk keperluan kasasi', 'diproses');

-- Show created tables
SHOW TABLES;
