fix : bug seeder berjalan terus setiap deploy
This commit is contained in:
+8
-10
@@ -1,21 +1,20 @@
|
||||
// ==========================================
|
||||
// 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() {
|
||||
/**
|
||||
* Menyuntikkan akun administrator secara aman dengan pencegahan duplikasi data
|
||||
* @param {object} db - Instansi koneksi SQLite
|
||||
*/
|
||||
async function buat_akun_admin_seeder(db) {
|
||||
const username_admin = 'admin_dinsos';
|
||||
const password_murni = 'password';
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
// Praktik Keamanan: Memeriksa eksistensi username sebelum melakukan eksekusi penulisan biner
|
||||
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.');
|
||||
console.log(`Seeder Admin: Akun '${username_admin}' sudah aman tersedia.`);
|
||||
return resolve();
|
||||
}
|
||||
|
||||
@@ -26,7 +25,7 @@ async function buat_akun_admin_seeder() {
|
||||
|
||||
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}`);
|
||||
console.log(`Seeder: Akun admin '${username_admin}' berhasil diinisialisasi.`);
|
||||
resolve();
|
||||
});
|
||||
} catch (error_sistem) {
|
||||
@@ -36,5 +35,4 @@ async function buat_akun_admin_seeder() {
|
||||
});
|
||||
}
|
||||
|
||||
// Ekspor fungsi agar bisa dipanggil oleh seed_manajer.js secara rapi
|
||||
module.exports = buat_akun_admin_seeder;
|
||||
Reference in New Issue
Block a user