52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { OpenAPIHono } from "@hono/zod-openapi";
|
|
|
|
const app = new OpenAPIHono();
|
|
|
|
import stats from "./route/stats.js";
|
|
import history from "./route/invHistory.js";
|
|
import { createJob } from "../notifications/utils/processNotifications.js";
|
|
import { historicalInvIMmport } from "./utils/historicalInv.js";
|
|
import { tryCatch } from "../../globalUtils/tryCatch.js";
|
|
import { query } from "../sqlServer/prodSqlServer.js";
|
|
import { shiftChange } from "../sqlServer/querys/misc/shiftChange.js";
|
|
import { createLog } from "../logger/logger.js";
|
|
import lastPurch from "./route/getLastPurchPrice.js";
|
|
import lastSales from "./route/getLastSalesPrice.js";
|
|
|
|
const routes = [stats, history, lastPurch, lastSales] as const;
|
|
|
|
const appRoutes = routes.forEach((route) => {
|
|
app.route("/eom", route);
|
|
});
|
|
|
|
setTimeout(async () => {
|
|
const { data: shift, error: shiftError } = (await tryCatch(
|
|
query(shiftChange, "shift change from material.")
|
|
)) as any;
|
|
|
|
if (shiftError) {
|
|
createLog(
|
|
"error",
|
|
"eom",
|
|
"eom",
|
|
"There was an error getting the shift times will use fallback times"
|
|
);
|
|
}
|
|
|
|
// shift split
|
|
const shiftTimeSplit = shift?.data[0]?.shiftChange.split(":");
|
|
|
|
const cronSetup = `${
|
|
shiftTimeSplit?.length > 0 ? `${parseInt(shiftTimeSplit[1])}` : "0"
|
|
} ${
|
|
shiftTimeSplit?.length > 0 ? `${parseInt(shiftTimeSplit[0])}` : "7"
|
|
} * * *`;
|
|
|
|
//console.log(cronSetup);
|
|
createJob("eom_historical_inv", cronSetup, historicalInvIMmport);
|
|
}, 5 * 1000);
|
|
// the time we want to run the hostircal data should be the same time the historical data run on the server
|
|
// getting this from the shift time
|
|
|
|
export default app;
|