diff --git a/server/services/sqlServer/prodSqlServer.ts b/server/services/sqlServer/prodSqlServer.ts index fe11fba..b69470a 100644 --- a/server/services/sqlServer/prodSqlServer.ts +++ b/server/services/sqlServer/prodSqlServer.ts @@ -69,11 +69,27 @@ export const closePool = async () => { }; export async function query(queryToRun: string, name: string) { + /** + * Just an extra catch incase someone tried to run a query while we were not connected to the server or sql server + */ + const dbServer = await db.select().from(settings).where(eq(settings.name, "dbServer")); + const serverUp = await checkHostnamePort(`${dbServer[0].value}:1433`); + + if (!serverUp) { + createLog("error", "lst", "server", `The sql ${dbServer[0].value} is not reachable`); + return {success: false, message: `The sql ${dbServer[0].value} is not reachable`}; + } + + if (!connected) { + createLog("error", "lst", "server", `The sql ${dbServer[0].value} is not connected`); + return {success: false, message: `The sql ${dbServer[0].value} is not not connected`}; + } /** * We no longer need to send over the plant token change as we do it inside the query function. */ const plantToken = await db.select().from(settings).where(eq(settings.name, "plantToken")); const query = queryToRun.replaceAll("test1", plantToken[0].value); + try { const result = await pool.request().query(query);