From edd1c106cd1da43b4858159a29991b83351ba862 Mon Sep 17 00:00:00 2001 From: Richie McIlroy <33632126+richiemcilroy@users.noreply.github.com> Date: Sun, 24 Mar 2024 20:49:04 +0000 Subject: [PATCH] fix: 'latest' gets latest version, else get specific version --- .../tauri/[version]/[target]/[arch]/route.ts | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/web/app/api/releases/tauri/[version]/[target]/[arch]/route.ts b/apps/web/app/api/releases/tauri/[version]/[target]/[arch]/route.ts index b542107b..79ac7357 100644 --- a/apps/web/app/api/releases/tauri/[version]/[target]/[arch]/route.ts +++ b/apps/web/app/api/releases/tauri/[version]/[target]/[arch]/route.ts @@ -19,10 +19,21 @@ export async function GET( } ) { try { - const { data: release } = await octokit.repos.getLatestRelease({ - owner: "capsoftware", - repo: "cap", - }); + let release; + if (params.version === "latest") { + const { data } = await octokit.repos.getLatestRelease({ + owner: "capsoftware", + repo: "cap", + }); + release = data; + } else { + const { data } = await octokit.repos.getReleaseByTag({ + owner: "capsoftware", + repo: "cap", + tag: `cap-v${params.version}`, + }); + release = data; + } const version = release.tag_name.replace("cap-v", ""); const notes = release.body; @@ -31,22 +42,11 @@ export async function GET( : null; const asset = release.assets.find((asset) => { - const isVersionMatch = asset.name.includes(version); const isArchMatch = asset.name.includes(params.arch); - let isTargetMatch = false; - - switch (params.target) { - case "mac": - isTargetMatch = asset.name.endsWith(".dmg"); - break; - case "linux": - isTargetMatch = asset.name.endsWith(".tar.gz"); - break; - case "windows": - isTargetMatch = asset.name.endsWith(".exe"); - } + const isTargetMatch = + asset.name.endsWith(".tar.gz") && !asset.name.endsWith(".tar.gz.sig"); - return isVersionMatch && isArchMatch && isTargetMatch; + return isArchMatch && isTargetMatch; }); if (!asset) {