178 lines
5.0 KiB
TypeScript
178 lines
5.0 KiB
TypeScript
/**
|
|
* 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"
|
|
);
|
|
}
|
|
};
|