From 609b1cf3a38084e4d6645739b75149bea7107802 Mon Sep 17 00:00:00 2001 From: David Mehren Date: Sat, 27 Feb 2021 21:21:41 +0100 Subject: [PATCH] Refactor server version object into own interface This makes the type of getServerVersionFromPackageJson() way easier to read. Signed-off-by: David Mehren --- src/monitoring/monitoring.service.ts | 19 ++++--------------- src/monitoring/server-status.dto.ts | 16 +++++++++------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/monitoring/monitoring.service.ts b/src/monitoring/monitoring.service.ts index 9755d9faf..260c57312 100644 --- a/src/monitoring/monitoring.service.ts +++ b/src/monitoring/monitoring.service.ts @@ -5,24 +5,13 @@ */ import { Injectable } from '@nestjs/common'; -import { ServerStatusDto } from './server-status.dto'; import { promises as fs } from 'fs'; import { join as joinPath } from 'path'; +import { ServerStatusDto, ServerVersion } from './server-status.dto'; -let versionCache: null | { - major: number; - minor: number; - patch: number; - preRelease?: string; - commit?: string; -} = null; -async function getServerVersionFromPackageJson(): Promise<{ - major: number; - minor: number; - patch: number; - preRelease?: string; - commit?: string; -}> { +let versionCache: ServerVersion; + +async function getServerVersionFromPackageJson(): Promise { if (versionCache === null) { const rawFileContent: string = await fs.readFile( joinPath(__dirname, '../../package.json'), diff --git a/src/monitoring/server-status.dto.ts b/src/monitoring/server-status.dto.ts index ac7f7407d..8bea15f1e 100644 --- a/src/monitoring/server-status.dto.ts +++ b/src/monitoring/server-status.dto.ts @@ -4,14 +4,16 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +export interface ServerVersion { + major: number; + minor: number; + patch: number; + preRelease?: string; + commit?: string; +} + export class ServerStatusDto { - serverVersion: { - major: number; - minor: number; - patch: number; - preRelease?: string; - commit?: string; - }; + serverVersion: ServerVersion; onlineNotes: number; onlineUsers: number; destictOnlineUsers: number;