diff --git a/client/src/components/Admin/GitHubPanel.tsx b/client/src/components/Admin/GitHubPanel.tsx index 398f9f6..8db9d6f 100644 --- a/client/src/components/Admin/GitHubPanel.tsx +++ b/client/src/components/Admin/GitHubPanel.tsx @@ -18,8 +18,8 @@ export default function GitHubPanel() { const fetchReleases = async (pageNum = 1, append = false) => { try { - const res = await apiClient.get(`/auth/github-releases`, { params: { per_page: PER_PAGE, page: pageNum } }) - const data = res.data + const res = await apiClient.get(`/admin/github-releases`, { params: { per_page: PER_PAGE, page: pageNum } }) + const data = Array.isArray(res.data) ? res.data : [] setReleases(prev => append ? [...prev, ...data] : data) setHasMore(data.length === PER_PAGE) } catch (err: unknown) { diff --git a/server/src/routes/admin.ts b/server/src/routes/admin.ts index 1c8c60e..c7aaf2a 100644 --- a/server/src/routes/admin.ts +++ b/server/src/routes/admin.ts @@ -169,11 +169,26 @@ function compareVersions(a: string, b: string): number { return 0; } +router.get('/github-releases', async (req: Request, res: Response) => { + const { per_page = '10', page = '1' } = req.query; + try { + const resp = await fetch( + `https://api.github.com/repos/mauriceboe/TREK/releases?per_page=${per_page}&page=${page}`, + { headers: { 'Accept': 'application/vnd.github.v3+json', 'User-Agent': 'TREK-Server' } } + ); + if (!resp.ok) return res.json([]); + const data = await resp.json(); + res.json(Array.isArray(data) ? data : []); + } catch { + res.json([]); + } +}); + router.get('/version-check', async (_req: Request, res: Response) => { const { version: currentVersion } = require('../../package.json'); try { const resp = await fetch( - 'https://api.github.com/repos/mauriceboe/NOMAD/releases/latest', + 'https://api.github.com/repos/mauriceboe/TREK/releases/latest', { headers: { 'Accept': 'application/vnd.github.v3+json', 'User-Agent': 'TREK-Server' } } ); if (!resp.ok) return res.json({ current: currentVersion, latest: currentVersion, update_available: false });