mirror of https://github.com/wg-easy/wg-easy
9 changed files with 45 additions and 35 deletions
@ -1,9 +1,8 @@ |
|||
export default defineEventHandler((event) => { |
|||
setHeader(event, 'Content-Type', 'application/json'); |
|||
export default defineEventHandler(async () => { |
|||
const release = Number.parseInt(RELEASE, 10); |
|||
if (isNaN(release)) { |
|||
return 0; |
|||
} |
|||
// TODO: move changelog logic here
|
|||
return release; |
|||
const latestRelease = await fetchLatestRelease(); |
|||
return { |
|||
currentRelease: release, |
|||
latestRelease: latestRelease, |
|||
}; |
|||
}); |
|||
|
@ -0,0 +1,26 @@ |
|||
export async function fetchLatestRelease() { |
|||
try { |
|||
const response = await $fetch<Record<string, string>>( |
|||
'https://wg-easy.github.io/wg-easy/changelog.json', |
|||
{ method: 'get' } |
|||
); |
|||
const releasesArray = Object.entries(response).map( |
|||
([version, changelog]) => ({ |
|||
version: parseInt(version, 10), |
|||
changelog: changelog, |
|||
}) |
|||
); |
|||
releasesArray.sort((a, b) => { |
|||
return b.version - a.version; |
|||
}); |
|||
|
|||
if (releasesArray.length === 0) { |
|||
throw new Error('Changelog is empty'); |
|||
} |
|||
|
|||
return releasesArray[0]!; |
|||
} catch (e) { |
|||
SERVER_DEBUG('Failed to fetch latest releases: ', e); |
|||
return { version: 0, changelog: '' }; |
|||
} |
|||
} |
Loading…
Reference in new issue