fix(logging): updated entire server side to the new logging system

This commit is contained in:
2025-03-07 13:40:29 -06:00
parent ce11b1f57e
commit 12e15babb4
33 changed files with 482 additions and 72 deletions

View File

@@ -1,17 +1,17 @@
import {eq} from "drizzle-orm";
import {db} from "../../../../../database/dbclient.js";
import {modules} from "../../../../../database/schema/modules.js";
import {log} from "../../../logger/logger.js";
import {createLog} from "../../../logger/logger.js";
export const addModule = async (data: any, user_id: string) => {
log.info("Module being added");
createLog("info", "lst", "server", "Module being added");
let module;
try {
module = await db.insert(modules).values(data).returning({name: modules.name});
//.where(sql`${userRole} = ANY(roles)`);
} catch (error) {
log.error(error, "There was an error adding the module");
createLog("error", "lst", "server", "There was an error adding the module");
throw new Error("There was an error adding the module");
}
return module;

View File

@@ -1,17 +1,17 @@
import {eq} from "drizzle-orm";
import {db} from "../../../../../database/dbclient.js";
import {modules} from "../../../../../database/schema/modules.js";
import {log} from "../../../logger/logger.js";
import {createLog} from "../../../logger/logger.js";
type Data = {
active: boolean;
};
export const updateModule = async (data: Data, moduleID: string) => {
log.info("Module being updated");
createLog("info", "lst", "server", "Module being updated");
let module;
if (typeof data.active !== "boolean") {
log.error("Invalid data type: 'active' must be a boolean");
createLog("error", "lst", "server", "Invalid data type: 'active' must be a boolean");
throw new Error("'active' must be a boolean");
}
@@ -23,7 +23,7 @@ export const updateModule = async (data: Data, moduleID: string) => {
.returning({name: modules.name});
//.where(sql`${userRole} = ANY(roles)`);
} catch (error) {
log.error(error, "There was an error updating the module");
createLog("error", "lst", "server", "There was an error updating the module");
throw new Error("There was an error updating the module");
}
return module;

View File

@@ -1,12 +1,12 @@
import {and, eq} from "drizzle-orm";
import {db} from "../../../../../database/dbclient.js";
import {settings} from "../../../../../database/schema/settings.js";
import {log} from "../../../logger/logger.js";
import {createLog} from "../../../logger/logger.js";
import {userRoles} from "../../../../../database/schema/userRoles.js";
import {modules} from "../../../../../database/schema/modules.js";
export const addSetting = async (data: any, user_id: string) => {
log.info(user_id, "Adding a new setting");
createLog("info", "lst", "server", "Adding a new setting");
// make sure the user is a system admin before moving forward
const sysAdmin = await db
@@ -15,7 +15,7 @@ export const addSetting = async (data: any, user_id: string) => {
.where(and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")));
if (sysAdmin) {
log.info(`Setting ${data.name} is being added`);
createLog("info", "lst", "server", `Setting ${data.name} is being added`);
try {
const moduleId = await db.select().from(modules).where(eq(modules.name, data.module));
@@ -26,11 +26,11 @@ export const addSetting = async (data: any, user_id: string) => {
// console.log(data);
const createSetting = await db.insert(settings).values(data);
} catch (error) {
log.error(error, "Error adding setting");
createLog("error", "lst", "server", "Error adding setting");
throw new Error("Error Adding Setting");
}
} else {
log.info("This user cannot add new roles");
createLog("error", "lst", "server", "This user cannot add new roles");
throw new Error("The user trying to add a setting dose not have the correct permissions");
}
};

View File

@@ -1,16 +1,16 @@
import {db} from "../../../../../database/dbclient.js";
import {settings} from "../../../../../database/schema/settings.js";
import {log} from "../../../logger/logger.js";
import {createLog} from "../../../logger/logger.js";
export const getSettings = async () => {
log.info("Settings are being grabbed");
createLog("info", "lst", "server", "Settings are being grabbed");
let serverSettings;
try {
serverSettings = await db.select().from(settings);
//.where(sql`${userRole} = ANY(roles)`);
} catch (error) {
log.error(error, "There was an error getting the settings");
createLog("error", "lst", "server", "There was an error getting the settings");
throw new Error("There was an error getting the settings");
}
return serverSettings;

View File

@@ -1,12 +1,12 @@
import {and, eq, sql} from "drizzle-orm";
import {db} from "../../../../../database/dbclient.js";
import {settings} from "../../../../../database/schema/settings.js";
import {log} from "../../../logger/logger.js";
import {createLog} from "../../../logger/logger.js";
import {userRoles} from "../../../../../database/schema/userRoles.js";
import {users} from "../../../../../database/schema/users.js";
export const updateSetting = async (data: any, user_id: string) => {
log.info(user_id, "Adding a new setting");
createLog("info", "lst", "server", "Adding a new setting");
// make sure the user is a system admin before moving forward
const sysAdmin = await db
@@ -15,7 +15,7 @@ export const updateSetting = async (data: any, user_id: string) => {
.where(and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")));
if (sysAdmin) {
log.info(`Setting ${data.name} is being updated`);
createLog("info", "lst", "server", `Setting ${data.name} is being updated`);
//get the username so we can update the correct field
const user = await db.select().from(users).where(eq(users.user_id, user_id));
@@ -27,11 +27,11 @@ export const updateSetting = async (data: any, user_id: string) => {
.set({value: data.value, upd_user: user[0].username, upd_date: sql`NOW()`})
.where(eq(settings.name, data.name));
} catch (error) {
log.error(error, "Error updating setting");
createLog("error", "lst", "server", "Error updating setting");
throw new Error("Error updating Setting");
}
} else {
log.info("This user cannot add new roles");
createLog("error", "lst", "server", "This user cannot add new roles");
throw new Error("The user trying to add a setting dose not have the correct permissions");
}
};

View File

@@ -1,10 +1,6 @@
import {z, createRoute, OpenAPIHono} from "@hono/zod-openapi";
import {modules} from "../../../../../database/schema/modules.js";
import {db} from "../../../../../database/dbclient.js";
import {log} from "../../../logger/logger.js";
import type {User} from "../../../../types/users.js";
import {verify} from "hono/jwt";
import {updateModule} from "../../controller/module/updateModule.js";
import {authMiddleware} from "../../../auth/middleware/authMiddleware.js";
import {addModule} from "../../controller/module/addModule.js";
@@ -96,7 +92,6 @@ app.openapi(
const payload = await verify(token, process.env.JWT_SECRET!);
user = payload.user as User;
} catch (error) {
log.error(error, "Failed session check, user must be logged out");
return c.json({message: "Unauthorized"}, 401);
}

View File

@@ -1,7 +1,6 @@
import {z, createRoute, OpenAPIHono} from "@hono/zod-openapi";
import {modules} from "../../../../../database/schema/modules.js";
import {db} from "../../../../../database/dbclient.js";
import {log} from "../../../logger/logger.js";
// Define the request body schema
const requestSchema = z.object({

View File

@@ -1,7 +1,4 @@
import {z, createRoute, OpenAPIHono} from "@hono/zod-openapi";
import {modules} from "../../../../../database/schema/modules.js";
import {db} from "../../../../../database/dbclient.js";
import {log} from "../../../logger/logger.js";
import type {User} from "../../../../types/users.js";
import {verify} from "hono/jwt";
import {updateModule} from "../../controller/module/updateModule.js";
@@ -87,7 +84,6 @@ app.openapi(
const payload = await verify(token, process.env.JWT_SECRET!);
user = payload.user as User;
} catch (error) {
log.error(error, "Failed session check, user must be logged out");
return c.json({message: "Unauthorized"}, 401);
}

View File

@@ -1,6 +1,6 @@
import {createRoute, OpenAPIHono, z} from "@hono/zod-openapi";
import {addSetting} from "../../controller/settings/addSetting.js";
import {log} from "../../../logger/logger.js";
import {verify} from "hono/jwt";
import type {User} from "../../../../types/users.js";
import {authMiddleware} from "../../../auth/middleware/authMiddleware.js";
@@ -78,7 +78,6 @@ app.openapi(
const payload = await verify(token, process.env.JWT_SECRET!);
user = payload.user as User;
} catch (error) {
log.error(error, "Failed session check, user must be logged out");
return c.json({message: "Unauthorized"}, 401);
}

View File

@@ -1,5 +1,5 @@
import {createRoute, OpenAPIHono, z} from "@hono/zod-openapi";
import {log} from "../../../logger/logger.js";
import type {User} from "../../../../types/users.js";
import {verify} from "hono/jwt";
import {getSettings} from "../../controller/settings/getSettings.js";
@@ -69,7 +69,6 @@ app.openapi(
const payload = await verify(token, process.env.JWT_SECRET!);
user = payload.user as User;
} catch (error) {
log.error(error, "Failed session check, user must be logged out");
return c.json({message: "Unauthorized"}, 401);
}

View File

@@ -1,6 +1,5 @@
import {createRoute, OpenAPIHono, z} from "@hono/zod-openapi";
import type {User} from "../../../../types/users.js";
import {log} from "../../../logger/logger.js";
import {verify} from "hono/jwt";
import {updateSetting} from "../../controller/settings/updateSetting.js";
@@ -81,7 +80,6 @@ app.openapi(
const payload = await verify(token, process.env.JWT_SECRET!);
user = payload.user as User;
} catch (error) {
log.error(error, "Failed session check, user must be logged out");
return c.json({message: "Unauthorized"}, 401);
}

View File

@@ -5,7 +5,7 @@
import {db} from "../../../../database/dbclient.js";
import {modules} from "../../../../database/schema/modules.js";
import {log} from "../../logger/logger.js";
import {createLog} from "../../logger/logger.js";
// "view", "technician", "supervisor","manager", "admin", "systemAdmin"
const newModules = [
{name: "production", active: false, roles: ["viewer", "systemAdmin"]},
@@ -28,12 +28,17 @@ export const areModulesIn = async () => {
.values(newModules)
.onConflictDoNothing() // this will only update the ones that are new :D
.returning({name: modules.name});
log.info(newRole, "Roles were just added due to missing them on server startup");
createLog("info", "lst", "server", "Roles were just added due to missing them on server startup");
} catch (error) {
log.error(error, "There was an error adding new roles to the db");
createLog("error", "lst", "server", "There was an error adding new roles to the db");
}
}
} catch (error) {
log.error(error, "There was an error getting or adding new roles");
createLog(
"error",
"lst",
"server",
`Error: ${JSON.stringify(error)}"There was an error getting or adding new roles"`
);
}
};

View File

@@ -6,7 +6,7 @@
import {db} from "../../../../database/dbclient.js";
import {settings} from "../../../../database/schema/settings.js";
import {log} from "../../logger/logger.js";
import {createLog} from "../../logger/logger.js";
// "view", "technician", "supervisor","manager", "admin", "systemAdmin"
const newSettings = [
{name: "server", value: "localhost", description: "Where the app runs at", moduleName: "server"},
@@ -69,12 +69,12 @@ export const areSettingsIn = async () => {
.values(newSettings)
.onConflictDoNothing() // this will only update the ones that are new :D
.returning({name: settings.name});
log.info(newRole, "Roles were just added due to missing them on server startup");
createLog("info", "lst", "server", "Roles were just added due to missing them on server startup");
} catch (error) {
log.error(error, "There was an error adding new roles to the db");
createLog("error", "lst", "server", "There was an error adding new roles to the db");
}
}
} catch (error) {
log.error(error, "There was an error getting or adding new roles");
createLog("error", "lst", "server", "There was an error getting or adding new roles");
}
};