import 'server-only'

import { createAdminClient } from '@/lib/supabase/admin'

/** Append an audit record. Uses the admin client so audit rows are tamper-proof from clients. */
export async function logTripEvent(params: {
  tripId: string
  actorId?: string | null
  actorLabel: string
  action: string
  detail?: Record<string, unknown>
}) {
  const admin = createAdminClient()
  await admin.from('trip_events').insert({
    trip_id: params.tripId,
    actor_id: params.actorId ?? null,
    actor_label: params.actorLabel,
    action: params.action,
    detail: params.detail ?? null,
  })
}
