// ========================================== // BAGIAN DIUBAH: Bungkus dengan module.exports dan hapus process.exit() // ========================================== const bcrypt = require('bcrypt'); const db = require('../config/database'); // Mengubah kata sandi murni menjadi 'password' sesuai instruksi nomor 8 dari dosen async function buat_akun_admin_seeder() { const username_admin = 'admin_dinsos'; const password_murni = 'password'; return new Promise((resolve, reject) => { db.get("SELECT COUNT(*) as hitung FROM ADMIN WHERE username = ?", [username_admin], async (err, row) => { if (err) return reject(err); // Jika akun sudah ada di file SQLite, lewati agar tidak memicu error UNIQUE constraint if (row.hitung > 0) { console.log('Seeder Admin: Akun sudah terdaftar.'); return resolve(); } try { const salt_rounds = 10; const password_terhash = await bcrypt.hash(password_murni, salt_rounds); const kueri_insert = `INSERT INTO ADMIN (username, password) VALUES (?, ?)`; db.run(kueri_insert, [username_admin, password_terhash], function(error_sql) { if (error_sql) return reject(error_sql); console.log(`Akun admin berhasil dibuat! Username: ${username_admin}`); resolve(); }); } catch (error_sistem) { reject(error_sistem); } }); }); } // Ekspor fungsi agar bisa dipanggil oleh seed_manajer.js secara rapi module.exports = buat_akun_admin_seeder;