fix(logger): changes to get the most recent verse aged

This commit is contained in:
2025-03-27 21:10:57 -05:00
parent b5de6445b3
commit 2c8d1fb710

View File

@@ -1,28 +1,41 @@
import {and, eq, inArray, lte, sql} from "drizzle-orm"; import { and, eq, gte, inArray, lte, sql } from "drizzle-orm";
import {db} from "../../../../database/dbclient.js"; import { db } from "../../../../database/dbclient.js";
import {logs} from "../../../../database/schema/logs.js"; import { logs } from "../../../../database/schema/logs.js";
import {createLog} from "../logger.js"; import { createLog } from "../logger.js";
export const getLogs = async (data: any) => { export const getLogs = async (data: any) => {
try { try {
// clear all remaining logs ne to info. // clear all remaining logs ne to info.
const checked = data.checked && data.checked[0] === "true" ? true : false || false; const checked =
data.checked && data.checked[0] === "true" ? true : false || false;
const logData = await db const logData = await db
.select() .select()
.from(logs) .from(logs)
.where( .where(
and( and(
lte(logs.created_at, sql.raw(`NOW() - INTERVAL '${data.hours} hours'`)), gte(
inArray(logs.service, data.service), logs.created_at,
inArray(logs.level, data.level), sql.raw(`NOW() - INTERVAL '${data.hours ?? "4"} hours'`)
eq(logs.checked, checked) ),
) inArray(logs.service, data.service),
); inArray(logs.level, data.level),
eq(logs.checked, checked)
)
);
return {success: true, message: "logs returned", data: logData}; return { success: true, message: "logs returned", data: logData };
} catch (error) { } catch (error) {
console.log(error); console.log(error);
createLog("error", "lst", "logger", `There was an error deleteing server logs. ${error}`); createLog(
return {success: false, message: "An error occured while trying to get the logs", error}; "error",
"lst",
"logger",
`There was an error deleteing server logs. ${error}`
);
return {
success: false,
message: "An error occured while trying to get the logs",
error,
};
} }
}; };