From e32118895d15e161dd06def26770cc39f72cfa34 Mon Sep 17 00:00:00 2001 From: piyook Date: Wed, 18 Jun 2025 14:29:15 +0100 Subject: [PATCH] chore(): add /api route to list routes in json format --- src/server.ts | 2 ++ src/utilities/api-list.ts | 10 ++++++++++ src/utilities/server-page.ts | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/utilities/api-list.ts diff --git a/src/server.ts b/src/server.ts index a75f956..c925b94 100644 --- a/src/server.ts +++ b/src/server.ts @@ -5,6 +5,7 @@ import getApiRoutes from './utilities/file-scan.js'; import serverPage from './utilities/server-page.js'; import logPage from './utilities/log-page.js'; import { deleteLogs } from './utilities/logger.js'; +import { apiList } from './utilities/api-list.js'; import { env } from './utilities/env.js'; const { apiHandlers, apiRoutes } = await getApiRoutes(); @@ -13,6 +14,7 @@ const httpServer = createServer( ...apiHandlers, ...serverPage(apiRoutes), ...logPage(), + ...apiList(apiRoutes), ); // Delete any logs on server start if the DELETE_LOGS_ON_SERVER_RESTART env var is set to 'ON' diff --git a/src/utilities/api-list.ts b/src/utilities/api-list.ts new file mode 100644 index 0000000..a63bce8 --- /dev/null +++ b/src/utilities/api-list.ts @@ -0,0 +1,10 @@ +import { http, HttpResponse } from 'msw'; +import { prefix } from './env'; +const apiList = (apiList: string[] = ['1', '2', '3']) => [ + http.get(`/api`, () => { + const apiPaths = apiList.map((path) => `/${prefix}${path}`); + return HttpResponse.json(apiPaths); + }), +]; + +export { apiList }; diff --git a/src/utilities/server-page.ts b/src/utilities/server-page.ts index 8cea2cf..20e3040 100644 --- a/src/utilities/server-page.ts +++ b/src/utilities/server-page.ts @@ -509,7 +509,10 @@ const homePage = (apiPaths: string[]) => [ }); }), http.get(`/ping`, () => { - return new HttpResponse(null, { status: 200 }); + return HttpResponse.json( + { response: 'server is running' }, + { status: 200 }, + ); }), ];