// This class checks the status of all the datasources. import { ClickhouseAppInstance } from "./ClickhouseDatabase"; import PostgresAppInstance from "./PostgresDatabase"; import Redis from "./Redis"; import DatabaseNotConnectedException from "Common/Types/Exception/DatabaseNotConnectedException"; export default class InfrastructureStatus { public static async checkStatus(data: { checkRedisStatus: boolean; checkPostgresStatus: boolean; checkClickhouseStatus: boolean; }): Promise { if (data.checkRedisStatus) { if (!(await Redis.checkConnnectionStatus())) { throw new DatabaseNotConnectedException("Redis is not connected"); } } if (data.checkPostgresStatus) { if (!(await PostgresAppInstance.checkConnnectionStatus())) { throw new DatabaseNotConnectedException("Postgres is not connected"); } } if (data.checkClickhouseStatus) { if (!(await ClickhouseAppInstance.checkConnnectionStatus())) { throw new DatabaseNotConnectedException("Clickhouse is not connected"); } } } }