43 lines
2.1 KiB
JavaScript
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; |