import { createSupabaseAdminClient } from "@/lib/supabase/admin" export async function rateLimit( identifier: string, limit: number, windowMilliseconds: number ): Promise<{ success: boolean; remaining: number }> { const windowSeconds = Math.max(Math.floor(windowMilliseconds / 1000), 1) const adminClient = createSupabaseAdminClient() const { data, error } = await adminClient.rpc("check_rate_limit", { p_identifier: identifier, p_limit: limit, p_window_seconds: windowSeconds, }) if (error) { console.error("rate limit check failed:", error) return { success: false, remaining: 0 } } return { success: data.success as boolean, remaining: data.remaining as number, } }