import { serverSupabaseServiceRole, serverSupabaseClient } from '#supabase/server' export default defineEventHandler(async (event) => { const client = await serverSupabaseClient(event) const { data: { user } } = await client.auth.getUser() if (!user) throw createError({ statusCode: 401, message: 'No autenticado' }) const id = getRouterParam(event, 'id') if (!id) throw createError({ statusCode: 400, message: 'ID requerido' }) const query = getQuery(event) const limit = Math.min(Number(query.limit) || 20, 100) const offset = Number(query.offset) || 0 const supabase = serverSupabaseServiceRole(event) const { data: search } = await supabase .from('tracked_searches') .select('id') .eq('id', id) .eq('user_id', user.id) .single() if (!search) throw createError({ statusCode: 404, message: 'No encontrado' }) const { data: runs, error } = await supabase .from('search_runs') .select('*') .eq('tracked_search_id', id) .order('created_at', { ascending: false }) .range(offset, offset + limit - 1) if (error) throw createError({ statusCode: 500, message: error.message }) return runs || [] })