Knowledge Base Rapiin Tutorial

Dokumentasi Teknis (Developer Specs)

K
Knowledge Base
29 Desember 2025
3 views
Tutorial
Artikel untuk: Rapiin
Simple Landingpage, menekankann kemudahan pendaftaran

Artikel ini ditujukan untuk tim pengembang yang perlu memahami struktur database dan backend.

Deep Dive: Implementasi Backend Activity Logs & Cascade Delete

Struktur Database

Sistem logging menggunakan tabel baru bernama activity_logs. Tabel ini dirancang untuk mencatat setiap interaksi kritis dengan detail sebagai berikut:

Skema Tabel:

  • id: Primary Key
  • adminPhone: Identitas admin (No HP)
  • action: Tipe aktivitas (misal: approve_payment)
  • targetType: Objek yang dimodifikasi
  • reason: Alasan tindakan (khusus delete/reject)
  • ipAddress & userAgent: Data tracking perangkat

Fungsi Logging & Logic

Seluruh logika logging terpusat pada file database.js.

Fungsi Utama:

  1. logActivity(): Fungsi generik untuk mencatat log.
  2. 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).

Daftar Action Types

Berikut adalah tipe aksi yang dikenali sistem:

  • admin_login - Hijau
  • approve_payment - Biru
  • delete_registration - Merah
Terakhir diupdate: 29 Desember 2025