Known issues Konco dari audit kode — route Duitku dikomentari, facebook/graph-sdk lawas di web app, ValidateSignature naming misleading, TODO belum implement, API_START token .env.example mengandung 3 chars demo (H4nd0n), insight_batch public, urutan step deploy API staging tidak ideal. Diurutkan prioritas risiko.
Daftar known issues Konco dari audit kode kedua repo. Diurutkan prioritas risiko — pembenahan tidak menghentikan pengiriman fitur.
Aturan utama: Jangan gabungkan pembenahan dengan fitur dalam satu commit. Pisahkan agar mudah di-revert.
Prioritas 1 — Hash secret default di config API engine (sensitive)
Aspek
Detail
Masalah
config/app.phpdazo-whitelist-api berisi default 'hash_secret' => env('HASH_SECRET_KEY', 'H4nd0n') — fallback hardcoded
Lokasi
dazo-whitelist-api/config/app.php:9
Risiko
High — bila env tidak diisi, secret publik/tebakan
Saran
Hapus default, wajibkan HASH_SECRET_KEY di .env, dan pastikan tidak terkait kredensial produksi
Prioritas 2 — Token Facebook tidak fail-fast & enkripsi partial
Aspek
Detail
Masalah
RefreshFacebookTokens.php meng-update access_token via `Crypt::encrypt($newToken . ’
Audit penggunaan FacebookApi lokal; hapus graph-sdk bila semua operasi sudah lewat API engine
Prioritas 5 — Nama middleware ValidateSignature misleading
Aspek
Detail
Masalah
app/Http/Middleware/ValidateSignature.php hanya extends Laravel built-in Illuminate\Routing\Middleware\ValidateSignature (URL signed), bukan RSA. Nama memancing salah asumsi
Fungsionalitas admin request tidak lengkap (silent)
Saran
Implementasi atau beri eksposur UI/konsol; jangan biarkan silent TODO di alur kritis
Prioritas 7–10 — Known issues minor
7. insight_batch endpoint public
POST /api/facebook/insight_batch di dazo-whitelist-api/routes/api.php berada di luar grup middleware auth:api,myapi. Halaman dokumentasi menandai publik. Verifikasi kebutuhan proteksi bila insight sensitif di-expose ke integrasi.
8. Urutan step deploy API staging tidak ideal
dazo-whitelist-api/.github/workflows/deploy_staging.yml membersihkan cache sebelum pull & install. Bila git reset gagal, cache hilang tapi kode lama. Urutan web app (pull → build → clear) lebih wajar.
9. Pemakaian raw query PostgreSQL
Beberapa query memakai PostgreSQL-specific syntax. Bila migrasi ke MySQL, break — lihat AdsExpired.php:188 (data::jsonb ->>) & interval 'INTERVAL N days'.
10. Build verification hanya di web app staging
dazo-whitelist staging memverifikasi manifest.json; dazo-whitelist-api staging tidak — bergantung pada kompatibilitas langsung di server.
Prioritas maintenance (foundation)
Item
Detail
Testing
Tidak ada workflow test/GitHub Actions untuk php artisan test maupun pint
Auto-rollback
Tidak ada — rollback manual via git reset di server
PR workflow
Tidak ada workflow pull_request — hanya push trigger deploy
Panduan perbaikan
Kerjakan 1 item per commit, pisah dari commit feature.