60 lines
3.0 KiB
SQL
60 lines
3.0 KiB
SQL
-- =========================================================
|
|
-- 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';
|
|
-- =========================================================
|