Files
UAS-SIG/seeders/rumah_ibadah_seeder.js
T
2026-06-10 21:48:01 +07:00

43 lines
2.1 KiB
JavaScript

/**
* Menyuntikkan data lokasi tempat penyaluran bantuan (Rumah Ibadah) di Pontianak
* @param {object} db - Instansi koneksi SQLite
*/
async function buat_seeder_rumah_ibadah(db) {
// Array objek berisi titik koordinat asli tempat ibadah ikonik di Pontianak
const daftar_rumah_ibadah = [
{ nama: 'Masjid Raya Mujahidin', agama: 'Islam', lat: -0.0336, lng: 109.3364, alamat: 'Jl. Ahmad Yani' },
{ nama: 'Gereja Katedral Santo Yosef', agama: 'Katolik', lat: -0.0331, lng: 109.3330, alamat: 'Jl. Pattimura' },
{ nama: 'Gereja HKBP Pontianak', agama: 'Kristen Protestan', lat: -0.0305, lng: 109.3321, alamat: 'Jl. Pulau We' },
{ nama: 'Vihara Bodhisatva Karaniya Metta', agama: 'Buddha', lat: -0.0255, lng: 109.3361, alamat: 'Jl. Kapten Marsan' },
{ nama: 'Pura Giripati Mulawarman', agama: 'Hindu', lat: -0.0631, lng: 109.3705, alamat: 'Jl. Adi Sucipto' },
{ nama: 'Kelenteng Kwan Tie Bio', agama: 'Konghucu', lat: -0.0261, lng: 109.3352, alamat: 'Jl. Diponegoro' }
];
return new Promise((resolve, reject) => {
db.get("SELECT COUNT(*) as hitung FROM RUMAH_IBADAH", [], (err, row) => {
if (err) return reject(err);
if (row.hitung > 0) {
console.log('Seeder Rumah Ibadah: Data titik penyaluran sudah tersedia.');
return resolve();
}
try {
const kueri_insert = `INSERT INTO RUMAH_IBADAH (nama_tempat, agama, lat, lng, alamat) VALUES (?, ?, ?, ?, ?)`;
daftar_rumah_ibadah.forEach((tempat) => {
db.run(kueri_insert, [tempat.nama, tempat.agama, tempat.lat, tempat.lng, tempat.alamat], (error_sql) => {
if (error_sql) console.error(`Gagal menyisipkan ${tempat.nama}:`, error_sql.message);
});
});
console.log('Seeder: 6 Titik pangkalan rumah ibadah Pontianak berhasil diinisialisasi.');
resolve();
} catch (error_sistem) {
reject(error_sistem);
}
});
});
}
module.exports = buat_seeder_rumah_ibadah;