import { userRepo } from "@/server/repositories/user.repo"; /** * Pastikan user session aktif (tidak suspended) sebelum lanjut aksi mutatif. * Dipanggil di awal server action yang menulis ke DB (joinTrip, createTrip, * createReview, dll). Lookup fresh dari DB — jangan trust JWT karena suspend * bisa di-trigger sejak token dibuat. * * Throw Error dengan pesan user-friendly kalau suspended. */ export async function requireActiveUser(userId: string): Promise { const suspended = await userRepo.isSuspended(userId); if (suspended) { throw new Error( "Akun kamu sedang ditangguhkan. Hubungi support@setrip.id untuk klarifikasi." ); } }