Artikel ini ditujukan untuk tim pengembang yang perlu memahami struktur database dan backend.
Sistem logging menggunakan tabel baru bernama activity_logs. Tabel ini dirancang untuk mencatat setiap interaksi kritis dengan detail sebagai berikut:
Skema Tabel:
id: Primary KeyadminPhone: Identitas admin (No HP)action: Tipe aktivitas (misal: approve_payment)targetType: Objek yang dimodifikasireason: Alasan tindakan (khusus delete/reject)ipAddress & userAgent: Data tracking perangkatSeluruh logika logging terpusat pada file database.js.
Fungsi Utama:
logActivity(): Fungsi generik untuk mencatat log.cleanupOldActivityLogs(): Fungsi maintenance untuk menghapus log yang berusia lebih dari 90 hari.Implementasi Route:
Pada file routes/admin.js, integrasi logging dilakukan pada endpoint kritis. Contoh implementasi pada endpoint delete:
POST /admin/registrations/delete/:id
Endpoint ini menangani validasi reason dan memanggil fungsi database untuk menghapus data secara berurutan (cascade).
Berikut adalah tipe aksi yang dikenali sistem:
admin_login - Hijauapprove_payment - Birudelete_registration - Merah