Files
lstV2/server/services/server/controller/module/updateModule.ts

31 lines
1.0 KiB
TypeScript

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