-- =========================================================
-- 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';
-- =========================================================
