diff --git a/functions/api/links/list.js b/functions/api/links/list.js index a6b6868..117ed26 100644 --- a/functions/api/links/list.js +++ b/functions/api/links/list.js @@ -9,12 +9,20 @@ export async function onRequestPost({ request, env }) { let slugs = []; try { const parsed = JSON.parse(user.custom_slugs); - if (Array.isArray(parsed)) slugs = parsed; + if (Array.isArray(parsed)) slugs = parsed.reverse(); } catch {} - return Response.json(slugs); + if (slugs.length === 0) return Response.json([]); + + const linkDetails = await Promise.all( + slugs.map(async slug => ({ + slug, + destination: await env.KV_EV.get(slug) || 'Destination not found' + })) + ); + + return Response.json(linkDetails); } catch (e) { return new Response(e.message, { status: 500 }); } } -