feat(update all): added a new function to update all servers in a row. easier to walk away
This commit is contained in:
177
server/services/server/utils/subModuleCheck.ts
Normal file
177
server/services/server/utils/subModuleCheck.ts
Normal file
@@ -0,0 +1,177 @@
|
||||
/**
|
||||
* check if the modules are in and if not add them.
|
||||
* this will only run on a server start up
|
||||
*/
|
||||
|
||||
import { db } from "../../../../database/dbclient.js";
|
||||
import { subModules } from "../../../../database/schema/subModules.js";
|
||||
import { createLog } from "../../logger/logger.js";
|
||||
// "view", "technician", "supervisor","manager", "admin", "systemAdmin"
|
||||
const newSubModules = [
|
||||
{
|
||||
name: "Silo Adjustmnet",
|
||||
moduleName: "logistics",
|
||||
description: "Do a silo adjustmnet",
|
||||
link: "/sa",
|
||||
icon: "Cylinder",
|
||||
active: false,
|
||||
roles: ["tester", "systemAdmin"],
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Bulk orders",
|
||||
moduleName: "logistics",
|
||||
description: "",
|
||||
link: "#",
|
||||
icon: "Truck",
|
||||
role: ["systemAdmin"],
|
||||
active: false,
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Forecast",
|
||||
moduleName: "logistics",
|
||||
description: "",
|
||||
link: "#",
|
||||
icon: "Truck",
|
||||
role: ["systemAdmin"],
|
||||
active: false,
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Ocme cycle counts",
|
||||
moduleName: "logistics",
|
||||
description: "",
|
||||
link: "#",
|
||||
icon: "Package",
|
||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
||||
active: false,
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Material Helper",
|
||||
moduleName: "logistics",
|
||||
description: "",
|
||||
link: "/materialHelper/consumption",
|
||||
icon: "Package",
|
||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
||||
active: false,
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Ocme Cyclecount",
|
||||
moduleName: "logistics",
|
||||
description: "",
|
||||
link: "/cyclecount",
|
||||
icon: "Package",
|
||||
role: ["technician", "supervisor", "manager", "admin", "systemAdmin"],
|
||||
active: false,
|
||||
subSubModule: [],
|
||||
},
|
||||
|
||||
// admin module
|
||||
{
|
||||
name: "Servers",
|
||||
moduleName: "admin",
|
||||
description: "Do a silo adjustmnet",
|
||||
link: "/servers",
|
||||
icon: "Server",
|
||||
roles: ["tester", "systemAdmin"],
|
||||
isActive: true,
|
||||
subSubModule: [],
|
||||
},
|
||||
{
|
||||
name: "Admin",
|
||||
moduleName: "admin",
|
||||
description: "Do a silo adjustmnet",
|
||||
link: "#", // when link is # this will mean its a button
|
||||
icon: "ShieldCheck",
|
||||
active: true,
|
||||
roles: ["tester", "systemAdmin"],
|
||||
subSubModule: [
|
||||
{
|
||||
name: "Settings",
|
||||
link: "/settings",
|
||||
icon: "Settings",
|
||||
newWindow: false,
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
name: "Modules",
|
||||
link: "/modules",
|
||||
icon: "Settings",
|
||||
newWindow: false,
|
||||
isActive: false,
|
||||
},
|
||||
{
|
||||
name: "Swagger",
|
||||
link: "#",
|
||||
icon: "Webhook",
|
||||
newWindow: false,
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
name: "Logs",
|
||||
link: "#",
|
||||
icon: "Logs",
|
||||
newWindow: false,
|
||||
isActive: false,
|
||||
},
|
||||
{
|
||||
name: "Users",
|
||||
link: "/users",
|
||||
icon: "Users",
|
||||
newWindow: false,
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
name: "UCD",
|
||||
link: "https://ucd.alpla.net:8443/",
|
||||
icon: "Atom",
|
||||
newWindow: false,
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
name: "Lst Api",
|
||||
link: "/api/docs",
|
||||
icon: "Webhook",
|
||||
newWindow: false,
|
||||
isActive: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
export const areSubModulesIn = async () => {
|
||||
try {
|
||||
for (let i = 0; i < newSubModules.length; i++) {
|
||||
const subModuleUpdate = await db
|
||||
.insert(subModules)
|
||||
.values(newSubModules[i])
|
||||
.onConflictDoUpdate({
|
||||
target: subModules.name,
|
||||
set: {
|
||||
name: newSubModules[i].name,
|
||||
moduleName: newSubModules[i].moduleName,
|
||||
description: newSubModules[i].description,
|
||||
roles: newSubModules[i].roles,
|
||||
link: newSubModules[i].link,
|
||||
subSubModule: newSubModules[i].subSubModule,
|
||||
},
|
||||
}) // this will only update the ones that are new :D
|
||||
.returning({ name: subModules.name });
|
||||
}
|
||||
createLog(
|
||||
"info",
|
||||
"lst",
|
||||
"server",
|
||||
"SubModules were just added due to missing them on server startup"
|
||||
);
|
||||
} catch (error) {
|
||||
createLog(
|
||||
"error",
|
||||
"lst",
|
||||
"server",
|
||||
"There was an error adding new subModules to the db"
|
||||
);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user