-- ========================================================= -- SQL PERUBAHAN: Fitur Radius Slider + Daftar Pengurus -- ========================================================= -- 1. Tabel pengurus_pending: menyimpan pendaftaran pengurus -- yang menunggu verifikasi admin sebelum dibuatkan user. CREATE TABLE IF NOT EXISTS `pengurus_pending` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `nama_lengkap` VARCHAR(100) NOT NULL, `username` VARCHAR(50) NOT NULL, `no_hp` VARCHAR(20) NOT NULL, `email` VARCHAR(100) DEFAULT NULL, `password_hash` VARCHAR(255) NOT NULL, -- Data rumah ibadah baru yang diusulkan `nama_ibadah` VARCHAR(100) NOT NULL, `jenis_ibadah` ENUM('Masjid','Gereja','Vihara','Pura','Klenteng','Lainnya') DEFAULT 'Masjid', `latitude` DOUBLE NOT NULL, `longitude` DOUBLE NOT NULL, `alamat` TEXT DEFAULT NULL, `kelurahan` VARCHAR(80) DEFAULT NULL, `kecamatan` VARCHAR(80) DEFAULT NULL, `radius` INT DEFAULT 300, -- Status verifikasi `status` ENUM('pending','approved','rejected') DEFAULT 'pending', `catatan_admin` TEXT DEFAULT NULL, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uq_username` (`username`), UNIQUE KEY `uq_hp` (`no_hp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- ========================================================= -- CATATAN: Tidak ada perubahan skema pada tabel yang ada. -- Kolom `radius` sudah ada di tabel `rumah_ibadah`. -- Fitur slider hanya mengubah nilai radius via PUT API -- yang sudah tersedia di api/rumah_ibadah.php. -- ========================================================= -- ========================================================= -- SQL PERUBAHAN: Fitur Chat Masyarakat ↔ Rumah Ibadah -- ========================================================= CREATE TABLE IF NOT EXISTS `chat_masyarakat` ( `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, `id_user_masyarakat` INT UNSIGNED NOT NULL COMMENT 'User dengan role masyarakat', `id_rumah_ibadah` INT UNSIGNED NOT NULL, `id_pengirim` INT UNSIGNED NOT NULL COMMENT 'User yang mengirim pesan ini', `pengirim_role` ENUM('masyarakat','pengurus_ibadah') NOT NULL, `isi_pesan` TEXT NOT NULL, `is_read` TINYINT(1) NOT NULL DEFAULT 0, `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), INDEX `idx_chat_masyarakat` (`id_user_masyarakat`, `id_rumah_ibadah`), INDEX `idx_chat_ibadah` (`id_rumah_ibadah`), INDEX `idx_chat_unread` (`is_read`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Pesan chat antara masyarakat dan rumah ibadah'; -- =========================================================