From be1a3536ae23c0abff733f71c42d2f650fabdf17 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Thu, 18 Dec 2025 00:59:16 +0800 Subject: [PATCH] console: add /download/[platform] endpoint --- .../app/src/routes/download/[platform].ts | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 packages/console/app/src/routes/download/[platform].ts diff --git a/packages/console/app/src/routes/download/[platform].ts b/packages/console/app/src/routes/download/[platform].ts new file mode 100644 index 000000000..bb0560ca0 --- /dev/null +++ b/packages/console/app/src/routes/download/[platform].ts @@ -0,0 +1,20 @@ +import { APIEvent } from "@solidjs/start"; + +const assetNames: Record = { + "darwin-aarch64-dmg": "opencode-desktop-darwin-aarch64.dmg", + "windows-x64-nsis": "opencode-desktop-windows-x64.exe", + "linux-x64-deb": "opencode-desktop-linux-amd64.deb", + "linux-x64-rpm": "opencode-desktop-linux-x86_64.rpm" +} + +export async function GET({ params: { platform } }: APIEvent) { + const assetName = assetNames[platform]; + if(!assetName) return new Response("Not Found", { status: 404 }); + + return await fetch(`https://github.com/sst/opencode/releases/latest/download/${assetName}`, { + cf: { + cacheTtl: 60 * 60 * 24, + cacheEverything: true, + } + } as any) +}