refactor(migration progress): moved to start looking at the go backedn
This commit is contained in:
@@ -1,16 +1,19 @@
|
||||
import { eq } from "drizzle-orm";
|
||||
import { db } from "../../database/dbclient.js";
|
||||
import { settings } from "../../database/schema/settings.js";
|
||||
import { query } from "../services/sqlServer/prodSqlServer.js";
|
||||
import { plantInfo } from "../services/sqlServer/querys/dataMart/plantInfo.js";
|
||||
import { createLog } from "../services/logger/logger.js";
|
||||
import { getSettings } from "../services/server/controller/settings/getSettings.js";
|
||||
|
||||
export const createSSCC = async (runningNumber: number) => {
|
||||
// get the token
|
||||
const plantToken = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "plantToken"));
|
||||
|
||||
let serverSettings = (await getSettings()) as any;
|
||||
const plantToken = serverSettings?.filter(
|
||||
(n: any) => n.name === "plantToken"
|
||||
);
|
||||
// const plantToken = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "plantToken"));
|
||||
let global: any = []; // get from plant address in basis enter the entire string here.
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { eq } from "drizzle-orm";
|
||||
import { db } from "../../database/dbclient.js";
|
||||
import { settings } from "../../database/schema/settings.js";
|
||||
|
||||
import { getSettings } from "../services/server/controller/settings/getSettings.js";
|
||||
|
||||
// create the test server stuff
|
||||
const testServers = [
|
||||
@@ -12,19 +13,22 @@ const testServers = [
|
||||
export const prodEndpointCreation = async (endpoint: string) => {
|
||||
let url = "";
|
||||
//get the plant token
|
||||
const plantToken = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "plantToken"));
|
||||
let serverSettings = await getSettings();
|
||||
const plantToken = serverSettings?.filter((n) => n.name === "plantToken");
|
||||
// await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "plantToken"));
|
||||
|
||||
// check if we are a test server
|
||||
const testServer = testServers.some(
|
||||
(server) => server.token === plantToken[0]?.value
|
||||
);
|
||||
const server = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "dbServer"));
|
||||
const server = serverSettings?.filter((n) => n.name === "dbServer");
|
||||
// await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "dbServer"));
|
||||
|
||||
if (testServer) {
|
||||
//filter out what testserver we are
|
||||
|
||||
@@ -29,6 +29,11 @@ import eom from "./services/eom/eomService.js";
|
||||
import dataMart from "./services/dataMart/dataMartService.js";
|
||||
import qualityRequest from "./services/quality/qualityService.js";
|
||||
import produser from "./services/prodUser/prodUser.js";
|
||||
import {
|
||||
getSettings,
|
||||
serverSettings,
|
||||
} from "./services/server/controller/settings/getSettings.js";
|
||||
import type { Settings } from "./types/settings.js";
|
||||
|
||||
// create the main prodlogin here
|
||||
const username = "lst_user";
|
||||
@@ -36,15 +41,16 @@ const password = "Alpla$$Prod";
|
||||
export const lstAuth = btoa(`${username}:${password}`);
|
||||
|
||||
// checking to make sure we have the settings intialized
|
||||
const { data: settingsData, error: settingError } = await tryCatch(
|
||||
db.select().from(settings)
|
||||
);
|
||||
// const { data: settingsData, error: settingError } = await tryCatch(
|
||||
// db.select().from(settings)
|
||||
// );
|
||||
|
||||
if (settingError) {
|
||||
throw Error("Error getting settings from the db. critical error.");
|
||||
}
|
||||
// if (settingError) {
|
||||
// throw Error("Error getting settings from the db. critical error.");
|
||||
// }
|
||||
|
||||
const serverIntialized: any = await getSettings();
|
||||
|
||||
const serverIntialized: any = settingsData;
|
||||
export const installed =
|
||||
serverIntialized.length === 0 && process.env.NODE_ENV !== "development"
|
||||
? false
|
||||
@@ -211,7 +217,8 @@ serve(
|
||||
/**
|
||||
* Only for ocme until we get them switched over to the single port setup.
|
||||
*/
|
||||
const setting = await db.select().from(settings);
|
||||
// const setting = await db.select().from(settings);
|
||||
const setting = serverSettings;
|
||||
const isActive = setting.filter((n) => n.name === "ocmeService");
|
||||
if (ocmeport && isActive[0]?.value === "1") {
|
||||
serve(
|
||||
|
||||
@@ -4,6 +4,7 @@ import { db } from "../../database/dbclient.js";
|
||||
import { serverData } from "../../database/schema/serverData.js";
|
||||
import { eq, sql } from "drizzle-orm";
|
||||
import { createLog } from "../services/logger/logger.js";
|
||||
import { serverSettings } from "../services/server/controller/settings/getSettings.js";
|
||||
|
||||
type UpdateServerResponse = {
|
||||
success: boolean;
|
||||
@@ -48,6 +49,7 @@ export const updateServer = async (
|
||||
};
|
||||
}
|
||||
|
||||
console.log(serverInfo);
|
||||
const scriptPath = `${process.env.DEVFOLDER}\\server\\scripts\\update.ps1 `;
|
||||
const args = [
|
||||
"-NoProfile",
|
||||
|
||||
@@ -7,6 +7,7 @@ import { createPassword } from "../../utils/createPassword.js";
|
||||
import { createLog } from "../../../logger/logger.js";
|
||||
import { sendEmail } from "../../../notifications/controller/sendMail.js";
|
||||
import { settings } from "../../../../../database/schema/settings.js";
|
||||
import { getSettings } from "../../../server/controller/settings/getSettings.js";
|
||||
|
||||
export const updateUserADM = async (userData: User) => {
|
||||
/**
|
||||
@@ -40,8 +41,8 @@ export const updateUserADM = async (userData: User) => {
|
||||
};
|
||||
}
|
||||
|
||||
const { data: s, error: se } = await tryCatch(db.select().from(settings));
|
||||
|
||||
//const { data: s, error: se } = await tryCatch(db.select().from(settings));
|
||||
const { data: s, error: se } = await tryCatch(getSettings());
|
||||
if (se) {
|
||||
return {
|
||||
success: false,
|
||||
|
||||
@@ -7,16 +7,16 @@ import { deliveryByDateRange } from "../../sqlServer/querys/dataMart/deleveryByD
|
||||
import { addDays, format } from "date-fns";
|
||||
|
||||
export const getDeliveryByDateRange = async (data: any | null) => {
|
||||
const { data: plantToken, error: plantError } = await tryCatch(
|
||||
db.select().from(settings).where(eq(settings.name, "plantToken"))
|
||||
);
|
||||
if (plantError) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Error getting Settings",
|
||||
data: plantError,
|
||||
};
|
||||
}
|
||||
// const { data: plantToken, error: plantError } = await tryCatch(
|
||||
// db.select().from(settings).where(eq(settings.name, "plantToken"))
|
||||
// );
|
||||
// if (plantError) {
|
||||
// return {
|
||||
// success: false,
|
||||
// message: "Error getting Settings",
|
||||
// data: plantError,
|
||||
// };
|
||||
// }
|
||||
let deliverys: any = [];
|
||||
|
||||
let updatedQuery = deliveryByDateRange;
|
||||
|
||||
@@ -4,18 +4,21 @@ import { settings } from "../../../../database/schema/settings.js";
|
||||
import { tryCatch } from "../../../globalUtils/tryCatch.js";
|
||||
import { query } from "../../sqlServer/prodSqlServer.js";
|
||||
import { openOrders } from "../../sqlServer/querys/dataMart/openOrders.js";
|
||||
import { serverSettings } from "../../server/controller/settings/getSettings.js";
|
||||
|
||||
export const getOpenOrders = async (data: any | null) => {
|
||||
const { data: plantToken, error: plantError } = await tryCatch(
|
||||
db.select().from(settings).where(eq(settings.name, "plantToken"))
|
||||
);
|
||||
if (plantError) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Error getting Settings",
|
||||
data: plantError,
|
||||
};
|
||||
}
|
||||
// const { data: plantToken, error: plantError } = await tryCatch(
|
||||
// db.select().from(settings).where(eq(settings.name, "plantToken"))
|
||||
// );
|
||||
// if (plantError) {
|
||||
// return {
|
||||
// success: false,
|
||||
// message: "Error getting Settings",
|
||||
// data: plantError,
|
||||
// };
|
||||
// }
|
||||
|
||||
const plantToken = serverSettings.filter((n) => n.name === "plantToken");
|
||||
let orders: any = [];
|
||||
|
||||
let updatedQuery = openOrders;
|
||||
|
||||
@@ -3,9 +3,11 @@ import {apiReference} from "@scalar/hono-api-reference";
|
||||
import { settings } from "../../../../database/schema/settings.js";
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { getSettings } from "../../server/controller/settings/getSettings.js";
|
||||
|
||||
const app = new OpenAPIHono();
|
||||
const plantToken = await db.select().from(settings).where(eq(settings.name, "plantToken"));
|
||||
const serverSettings = await getSettings();
|
||||
const plantToken = serverSettings.filter((n) => n.name === "plantToken") as any; //await db.select().from(settings).where(eq(settings.name, "plantToken"));
|
||||
|
||||
let pToken = plantToken[0]?.value;
|
||||
const testServers = ["test1", "test2", "test3"];
|
||||
|
||||
35
server/services/logger/goTransport.ts
Normal file
35
server/services/logger/goTransport.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
// goTransport.js
|
||||
import { pino } from "pino";
|
||||
import build from "pino-abstract-transport";
|
||||
|
||||
const pinoLogLevels: any = {
|
||||
10: "trace",
|
||||
20: "debug",
|
||||
30: "info",
|
||||
40: "warn",
|
||||
50: "error",
|
||||
60: "fatal",
|
||||
};
|
||||
|
||||
export default async function buildGoTransport() {
|
||||
try {
|
||||
return build(async function (source) {
|
||||
for await (let obj of source) {
|
||||
// Insert log entry into the PostgreSQL database using Drizzle ORM
|
||||
|
||||
// convert to the name to make it more easy to find later :P
|
||||
const levelName = pinoLogLevels[obj.level] || "unknown";
|
||||
// await db.insert(logs).values({
|
||||
// level: levelName,
|
||||
// username: obj?.username.toLowerCase(),
|
||||
// service: obj?.service.toLowerCase(),
|
||||
// message: obj.msg,
|
||||
// });
|
||||
|
||||
console.log(`Go log level: ${levelName}`);
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
console.error("Error inserting log into database:", err);
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,14 @@ const transport = pino.transport({
|
||||
{
|
||||
target: "./dbTransport.js",
|
||||
},
|
||||
// Only log to Go if LST_USE_GO=true
|
||||
...(process.env.LST_USE_GO === "true"
|
||||
? [
|
||||
{
|
||||
target: "./goTransport.js", // New transport for Go
|
||||
},
|
||||
]
|
||||
: []),
|
||||
],
|
||||
});
|
||||
|
||||
|
||||
@@ -12,14 +12,17 @@ import stream from "./routes/streamLogs.js";
|
||||
const app = new OpenAPIHono();
|
||||
|
||||
const routes = [clearLog, createNewLog, getLogs, stream] as const;
|
||||
const setting = await db.select().from(settings);
|
||||
//const setting = await db.select().from(settings);
|
||||
|
||||
const appRoutes = routes.forEach((route) => {
|
||||
app.route("/logger", route);
|
||||
});
|
||||
|
||||
app.all("/logger/*", (c) => {
|
||||
return c.json({success: false, message: "You have encounters a log route that dose not exist."});
|
||||
return c.json({
|
||||
success: false,
|
||||
message: "You have encounters a log route that dose not exist.",
|
||||
});
|
||||
});
|
||||
|
||||
// run the clean up job ones on server restart/crash/update and then once a date
|
||||
|
||||
@@ -6,6 +6,7 @@ import { settings } from "../../../database/schema/settings.js";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { installed } from "../../index.js";
|
||||
import { checkHostnamePort } from "../../globalUtils/pingServer.js";
|
||||
import { serverSettings } from "../server/controller/settings/getSettings.js";
|
||||
|
||||
let pool: any;
|
||||
let connected: boolean = false;
|
||||
@@ -23,10 +24,16 @@ export const initializeProdPool = async () => {
|
||||
|
||||
return { success: false, message: "The server is not installed." };
|
||||
}
|
||||
const dbServer = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "dbServer"));
|
||||
// const dbServer = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "dbServer"));
|
||||
|
||||
// the move to the go version for settings
|
||||
const dbServer = serverSettings.filter(
|
||||
(n: any) => n.name === "dbServer"
|
||||
) as any;
|
||||
|
||||
const serverUp = await checkHostnamePort(`${dbServer[0].value}:1433`);
|
||||
|
||||
if (!serverUp) {
|
||||
@@ -44,10 +51,14 @@ export const initializeProdPool = async () => {
|
||||
}
|
||||
|
||||
// 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"));
|
||||
// const serverLoc = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "dbServer"));
|
||||
|
||||
const serverLoc = serverSettings.filter(
|
||||
(n: any) => n.name === "dbServer"
|
||||
) as any;
|
||||
if (
|
||||
serverLoc[0].value === "localhost" &&
|
||||
process.env.NODE_ENV !== "development"
|
||||
@@ -134,10 +145,14 @@ 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 dbServer = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "dbServer"));
|
||||
|
||||
const dbServer = serverSettings.filter(
|
||||
(n: any) => n.name === "dbServer"
|
||||
) as any;
|
||||
const serverUp = await checkHostnamePort(`${dbServer[0].value}:1433`);
|
||||
|
||||
if (!serverUp) {
|
||||
@@ -170,10 +185,13 @@ export async function query(queryToRun: string, name: string) {
|
||||
/**
|
||||
* 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 plantToken = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "plantToken"));
|
||||
const plantToken = serverSettings.filter(
|
||||
(n: any) => n.name === "plantToken"
|
||||
) as any;
|
||||
const query = queryToRun.replaceAll("test1", plantToken[0].value);
|
||||
|
||||
try {
|
||||
|
||||
@@ -38,6 +38,11 @@ V_Artikel.ArtikelvariantenTypBez = 'Glue' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Top Frame' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'IML Label' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Purch EBM Bottle' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Purchased Spout' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Gaylord' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Misc. Packaging' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Sleeve' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Plastic Bag' or
|
||||
V_Artikel.ArtikelvariantenTypBez = 'Purch Spout'
|
||||
THEN 'PKG'
|
||||
WHEN V_Artikel.ArtikelvariantenTypBez='HD-PE' or
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { settings } from "../../../../database/schema/settings.js";
|
||||
import { createLog } from "../../logger/logger.js";
|
||||
import { serverSettings } from "../../server/controller/settings/getSettings.js";
|
||||
|
||||
export const prodSqlConfig = async () => {
|
||||
try {
|
||||
const serverSetting = await db.select().from(settings);
|
||||
//const serverSetting = await db.select().from(settings);
|
||||
const serverSetting = serverSettings as any;
|
||||
// create dummy type data
|
||||
const server = serverSetting.filter((s) => s.name === "dbServer");
|
||||
const plantToken = serverSetting.filter((s) => s.name === "plantToken");
|
||||
const dbUser = serverSetting.filter((s) => s.name === "dbUser");
|
||||
const server = serverSetting.filter((s: any) => s.name === "dbServer");
|
||||
const plantToken = serverSetting.filter(
|
||||
(s: any) => s.name === "plantToken"
|
||||
);
|
||||
const dbUser = serverSetting.filter((s: any) => s.name === "dbUser");
|
||||
// if erroring out double check the password was actually encoded before saving
|
||||
const dbPassword = serverSetting.filter((s) => s.name === "dbPass");
|
||||
const dbPassword = serverSetting.filter(
|
||||
(s: any) => s.name === "dbPass"
|
||||
);
|
||||
|
||||
const sqlConfig = {
|
||||
server: server[0].value,
|
||||
@@ -37,7 +43,9 @@ export const prodSqlConfig = async () => {
|
||||
"info",
|
||||
"lst",
|
||||
"sqlProd",
|
||||
`${JSON.stringify(error)} "There was an error getting/setting up the config for the prod sql server."`
|
||||
`${JSON.stringify(
|
||||
error
|
||||
)} "There was an error getting/setting up the config for the prod sql server."`
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -10,6 +10,7 @@ import { settings } from "../../../database/schema/settings.js";
|
||||
import { eq } from "drizzle-orm";
|
||||
import { postLabelData } from "../ocme/controller/postRunningNr.js";
|
||||
import { tryCatch } from "../../globalUtils/tryCatch.js";
|
||||
import { serverSettings } from "../server/controller/settings/getSettings.js";
|
||||
|
||||
let tcpServer: net.Server;
|
||||
let tcpSockets: Set<net.Socket> = new Set();
|
||||
@@ -18,31 +19,33 @@ let isServerRunning = false;
|
||||
/**
|
||||
* add in proper logging
|
||||
*/
|
||||
const tcpPort = await db
|
||||
.select()
|
||||
.from(settings)
|
||||
.where(eq(settings.name, "tcpPort"));
|
||||
// const tcpPort = await db
|
||||
// .select()
|
||||
// .from(settings)
|
||||
// .where(eq(settings.name, "tcpPort"));
|
||||
|
||||
const app = new OpenAPIHono();
|
||||
|
||||
export const startTCPServer = () => {
|
||||
const tcpPort = serverSettings.filter((n) => n.name === "tcpPort");
|
||||
if (isServerRunning)
|
||||
return { success: false, message: "Server is already running" };
|
||||
|
||||
tcpServer = net.createServer(async (socket) => {
|
||||
createLog("debug", "tcp", "tcp", "Client connected");
|
||||
|
||||
const { data: setting, error: settingError } = await tryCatch(
|
||||
db.select().from(settings)
|
||||
);
|
||||
if (settingError) {
|
||||
return {
|
||||
success: false,
|
||||
message: "Error getting settings",
|
||||
data: [],
|
||||
};
|
||||
}
|
||||
// const { data: setting, error: settingError } = await tryCatch(
|
||||
// db.select().from(settings)
|
||||
// );
|
||||
// if (settingError) {
|
||||
// return {
|
||||
// success: false,
|
||||
// message: "Error getting settings",
|
||||
// data: [],
|
||||
// };
|
||||
// }
|
||||
|
||||
const settingCheck = setting.filter(
|
||||
const settingCheck = serverSettings.filter(
|
||||
(newData) => newData.name === "ocmeService"
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user