diff --git a/routes/version.cts b/routes/version.cts index 1ad04ff..f55fc35 100644 --- a/routes/version.cts +++ b/routes/version.cts @@ -4,6 +4,7 @@ const express = require('express'); const router = express.Router(); const fs = require('fs'); const path = require('path'); +const { NotFoundError } = require('../utils/apiError.cts'); const HISTORY_PATH = path.join(__dirname, '..', 'HISTORY.md'); let pkg; @@ -56,32 +57,17 @@ router.get('/', (req: Req, res: Res) => { // GET /api/version/history router.get('/history', (req: Req, res: Res) => { + if (!fs.existsSync(HISTORY_PATH)) throw NotFoundError('Release history not found'); + + const history = fs.readFileSync(HISTORY_PATH, 'utf8'); + let updatedAt = null; try { - if (!fs.existsSync(HISTORY_PATH)) { - return res.status(404).json({ - error: 'Release history not found', - version: pkg.version, - history: '', - updated_at: null, - }); - } - - const history = fs.readFileSync(HISTORY_PATH, 'utf8'); - let updatedAt = null; - try { - updatedAt = fs.statSync(HISTORY_PATH).mtime.toISOString(); - } catch { - updatedAt = null; - } - - res.json({ - version: pkg.version, - history, - updated_at: updatedAt, - }); - } catch (err) { - res.status(500).json({ error: 'Failed to read release history' }); + updatedAt = fs.statSync(HISTORY_PATH).mtime.toISOString(); + } catch { + updatedAt = null; } + + res.json({ version: pkg.version, history, updated_at: updatedAt }); }); // GET /api/version/update-status — public, returns cached update check (no force-refresh)