From 3ab356b97f3099d82b64edf2895b4e22f40b8e8e Mon Sep 17 00:00:00 2001 From: Janne Savolainen Date: Fri, 11 Feb 2022 12:30:34 +0200 Subject: [PATCH] Switch to using injectable to setup route for getting version Signed-off-by: Janne Savolainen --- src/main/router.ts | 4 --- src/main/routes/index.ts | 6 ---- src/main/routes/version-route.ts | 16 ----------- .../versions/get-version-route.injectable.ts | 28 +++++++++++++++++++ 4 files changed, 28 insertions(+), 26 deletions(-) delete mode 100644 src/main/routes/index.ts delete mode 100644 src/main/routes/version-route.ts create mode 100644 src/main/routes/versions/get-version-route.injectable.ts diff --git a/src/main/router.ts b/src/main/router.ts index 02f9987c7b..2dc48d15c5 100644 --- a/src/main/router.ts +++ b/src/main/router.ts @@ -11,7 +11,6 @@ import path from "path"; import { readFile } from "fs-extra"; import type { Cluster } from "../common/cluster/cluster"; import { appName, publicPath } from "../common/vars"; -import { VersionRoute } from "./routes"; import logger from "./logger"; export interface RouterRequestOpts { @@ -167,9 +166,6 @@ export class Router { } else { this.router.add({ method: "get", path: "/{path*}" }, Router.handleStaticFile); } - - - this.router.add({ method: "get", path: "/version" }, VersionRoute.getVersion); } } diff --git a/src/main/routes/index.ts b/src/main/routes/index.ts deleted file mode 100644 index 5532652d69..0000000000 --- a/src/main/routes/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -export * from "./version-route"; diff --git a/src/main/routes/version-route.ts b/src/main/routes/version-route.ts deleted file mode 100644 index 1c5c7c94d7..0000000000 --- a/src/main/routes/version-route.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Copyright (c) OpenLens Authors. All rights reserved. - * Licensed under MIT License. See LICENSE in root directory for more information. - */ - -import type { LensApiRequest } from "../router"; -import { respondJson } from "../utils/http-responses"; -import { getAppVersion } from "../../common/utils"; - -export class VersionRoute { - static async getVersion(request: LensApiRequest) { - const { response } = request; - - respondJson(response, { version: getAppVersion() }, 200); - } -} diff --git a/src/main/routes/versions/get-version-route.injectable.ts b/src/main/routes/versions/get-version-route.injectable.ts new file mode 100644 index 0000000000..ec04f4dbaf --- /dev/null +++ b/src/main/routes/versions/get-version-route.injectable.ts @@ -0,0 +1,28 @@ +/** + * Copyright (c) OpenLens Authors. All rights reserved. + * Licensed under MIT License. See LICENSE in root directory for more information. + */ +import { getInjectable } from "@ogre-tools/injectable"; +import type { LensApiRequest } from "../../router"; +import { respondJson } from "../../utils/http-responses"; +import { routeInjectionToken } from "../../router/router.injectable"; +import { getAppVersion } from "../../../common/utils"; + +const getVersionRouteInjectable = getInjectable({ + id: "get-version-route", + + instantiate: () => ({ + method: "get", + path: `/version`, + + handler: async (request: LensApiRequest) => { + const { response } = request; + + respondJson(response, { version: getAppVersion() }, 200); + }, + }), + + injectionToken: routeInjectionToken, +}); + +export default getVersionRouteInjectable;