diff --git a/server/services/ocp/controller/lots/lots.ts b/server/services/ocp/controller/lots/lots.ts index a4719a9..3105746 100644 --- a/server/services/ocp/controller/lots/lots.ts +++ b/server/services/ocp/controller/lots/lots.ts @@ -11,18 +11,10 @@ export const getLots = async () => { return { success: false, message: "There was an error getting the lots", - data: lotError, + data: [], }; } - // if (!lotInfo.data.success) { - // return { - // success: false, - // message: "There was an error getting the lots", - // data: lotInfo.data.message, - // }; - // } - return { success: true, message: "Current active lots that are technically released.", diff --git a/server/services/ocp/controller/printers/updatePrinters.ts b/server/services/ocp/controller/printers/updatePrinters.ts index eb4e8a0..0ba236c 100644 --- a/server/services/ocp/controller/printers/updatePrinters.ts +++ b/server/services/ocp/controller/printers/updatePrinters.ts @@ -25,7 +25,7 @@ export const updatePrinters = async () => { }) ); - if (prodError) { + if (prodError || prodPrinters?.data.length > 10000) { //console.log(prodError); return { success: false, @@ -35,7 +35,7 @@ export const updatePrinters = async () => { } // do the printer update into our db - const prodPrinterInfo = prodPrinters.data; + const prodPrinterInfo = prodPrinters?.data; for (let i = 0; i < prodPrinterInfo.length; i++) { const printerStuff: any = { diff --git a/server/services/ocp/routes/lots/getLots.ts b/server/services/ocp/routes/lots/getLots.ts index 039dba5..4305083 100644 --- a/server/services/ocp/routes/lots/getLots.ts +++ b/server/services/ocp/routes/lots/getLots.ts @@ -2,7 +2,6 @@ import { createRoute, OpenAPIHono, z } from "@hono/zod-openapi"; import { responses } from "../../../../globalUtils/routeDefs/responses.js"; import { tryCatch } from "../../../../globalUtils/tryCatch.js"; -import { getPrinters } from "../../controller/printers/getPrinters.js"; import { getLots } from "../../controller/lots/lots.js"; const app = new OpenAPIHono({ strict: false }); @@ -15,7 +14,7 @@ app.openapi( path: "/getlots", responses: responses(), }), - async (c) => { + async (c: any) => { const { data: lotData, error: lotError } = await tryCatch(getLots()); if (lotError) { @@ -26,9 +25,9 @@ app.openapi( } return c.json({ - success: lotData.success, - message: lotData.message, - data: lotData.data, + success: lotData?.success, + message: lotData?.message, + data: lotData?.data, }); } ); diff --git a/server/services/ocp/utils/checkAssignments.ts b/server/services/ocp/utils/checkAssignments.ts index 127e215..95c3b2e 100644 --- a/server/services/ocp/utils/checkAssignments.ts +++ b/server/services/ocp/utils/checkAssignments.ts @@ -18,6 +18,20 @@ export const assignedPrinters = async () => { data: lotError, }; } + + if (l.data.length === 0 && !l.data.sucess) { + createLog( + "error", + "lst", + "ocp", + `There was an error getting the lots: ${l?.message}` + ); + return { + success: false, + message: "Error getting lots", + data: [], + }; + } const { data: print, error: printerError } = await tryCatch(getPrinters()); if (printerError) { @@ -29,17 +43,11 @@ export const assignedPrinters = async () => { } const printers: any = print.data ?? []; - const lots: any = l.data.length === 0 ? [] : l.data; + const lots: any = l?.data.length === 0 ? null : l?.data; - if (!lots) { - createLog( - "error", - "lst", - "ocp", - `There was an error getting the lots: ${lots.message}` - ); - return; - } + //console.log(lots); + + return; for (let i = 0; i < printers.length; i++) { // is the printer assinged in alplalabel online? const assigned = lots?.filter( diff --git a/server/services/sqlServer/prodSqlServer.ts b/server/services/sqlServer/prodSqlServer.ts index 9c2aad2..ce26af9 100644 --- a/server/services/sqlServer/prodSqlServer.ts +++ b/server/services/sqlServer/prodSqlServer.ts @@ -10,189 +10,196 @@ import { checkHostnamePort } from "../../globalUtils/pingServer.js"; let pool: any; let connected: boolean = false; export const initializeProdPool = async () => { - if (!installed) { - createLog( - "info", - "lst", - "sqlProd", - "The server was not installed will reconnect in 5 seconds" - ); - setTimeout(() => { - initializeProdPool(); - }, 5 * 1000); + if (!installed) { + createLog( + "info", + "lst", + "sqlProd", + "The server was not installed will reconnect in 5 seconds" + ); + setTimeout(() => { + initializeProdPool(); + }, 5 * 1000); - return { success: false, message: "The server is not installed." }; - } - const dbServer = await db - .select() - .from(settings) - .where(eq(settings.name, "dbServer")); - const serverUp = await checkHostnamePort(`${dbServer[0].value}:1433`); + return { success: false, message: "The server is not installed." }; + } + 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 (!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`, + data: [], + }; + } - // make sure the server is not set to localhost this will prevent some weird issues later but can be localhost on the dev - const serverLoc = await db - .select() - .from(settings) - .where(eq(settings.name, "dbServer")); - if ( - serverLoc[0].value === "localhost" && - process.env.NODE_ENV !== "development" - ) { - createLog( - "error", - "lst", - "sqlProd", - "The server is set to localhost, and you are not in development mode." - ); - return { - success: false, - message: - "The server is set to localhost, and you are not in development mode.", - }; - } + // make sure the server is not set to localhost this will prevent some weird issues later but can be localhost on the dev + const serverLoc = await db + .select() + .from(settings) + .where(eq(settings.name, "dbServer")); + if ( + serverLoc[0].value === "localhost" && + process.env.NODE_ENV !== "development" + ) { + createLog( + "error", + "lst", + "sqlProd", + "The server is set to localhost, and you are not in development mode." + ); + return { + success: false, + message: + "The server is set to localhost, and you are not in development mode.", + data: [], + }; + } - // if you were restarting from the endpoint you get this lovely error - if (connected) { - createLog("error", "lst", "sqlProd", "There is already a connection."); - return { success: false, message: "There is already a connection." }; - } - try { - const config = await prodSqlConfig(); - pool = await sql.connect(config!); + // if you were restarting from the endpoint you get this lovely error + if (connected) { + createLog("error", "lst", "sqlProd", "There is already a connection."); + return { success: false, message: "There is already a connection." }; + } + try { + const config = await prodSqlConfig(); + pool = await sql.connect(config!); - createLog( - "info", - "lst", - "sqlProd", - `Connected to ${config?.server}, and looking at ${config?.database}` - ); - connected = true; - return { - success: true, - message: "The sql server connection has been closed", - }; - } catch (error) { - createLog( - "error", - "lst", - "sqlProd", - `${JSON.stringify(error)}, "There was an error connecting to the pool."` - ); - throw new Error("There was an error closing the sql connection"); - } + createLog( + "info", + "lst", + "sqlProd", + `Connected to ${config?.server}, and looking at ${config?.database}` + ); + connected = true; + return { + success: true, + message: "The sql server connection has been closed", + }; + } catch (error) { + createLog( + "error", + "lst", + "sqlProd", + `${JSON.stringify( + error + )}, "There was an error connecting to the pool."` + ); + throw new Error("There was an error closing the sql connection"); + } }; export const closePool = async () => { - if (!connected) { - createLog( - "error", - "lst", - "sqlProd", - "There is no connection a connection." - ); - return { success: false, message: "There is already a connection." }; - } - try { - await pool.close(); - createLog("info", "lst", "sqlProd", "Connection pool closed"); - connected = false; - return { - success: true, - message: "The sql server connection has been closed", - }; - } catch (error) { - createLog( - "error", - "lst", - "sqlProd", - `${JSON.stringify( - error - )}, "There was an error closing the sql connection"` - ); - throw new Error("There was an error closing the sql connection"); - } + if (!connected) { + createLog( + "error", + "lst", + "sqlProd", + "There is no connection a connection." + ); + return { success: false, message: "There is already a connection." }; + } + try { + await pool.close(); + createLog("info", "lst", "sqlProd", "Connection pool closed"); + connected = false; + return { + success: true, + message: "The sql server connection has been closed", + }; + } catch (error) { + createLog( + "error", + "lst", + "sqlProd", + `${JSON.stringify( + error + )}, "There was an error closing the sql connection"` + ); + throw new Error("There was an error closing the sql connection"); + } }; 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`); + /** + * 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); - - return result.recordset; - } catch (error: any) { - if (error.code === "ETIMEOUT") { - createLog( - "error", - "lst", - "sqlProd", - `${JSON.stringify(error)}, ${name} did not run due to a timeout.` - ); - throw new Error(`${name} query did not run due to a timeout.`); + 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`, + data: [], + }; } - if (error.code === "EREQUEST") { - throw new Error( - `${name} encoutnered an error ${error.originalError.info.message}` - ); + 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); - //console.log(error.originalError.info.message); - //EREQUEST - //throw new Error(`${name} encoutnered an error ${error.code}`); - } + try { + const result = await pool.request().query(query); + + return result.recordset; + } catch (error: any) { + if (error.code === "ETIMEOUT") { + createLog( + "error", + "lst", + "sqlProd", + `${JSON.stringify( + error + )}, ${name} did not run due to a timeout.` + ); + throw new Error(`${name} query did not run due to a timeout.`); + } + + if (error.code === "EREQUEST") { + throw new Error( + `${name} encoutnered an error ${error.originalError.info.message}` + ); + } + + //console.log(error.originalError.info.message); + //EREQUEST + //throw new Error(`${name} encoutnered an error ${error.code}`); + } }