feat(migration): settings migration from old app all is now in the new app
This commit is contained in:
@@ -1,36 +1,46 @@
|
||||
import {and, eq} from "drizzle-orm";
|
||||
import {db} from "../../../../../database/dbclient.js";
|
||||
import {settings} from "../../../../../database/schema/settings.js";
|
||||
import {createLog} from "../../../logger/logger.js";
|
||||
import {userRoles} from "../../../../../database/schema/userRoles.js";
|
||||
import {modules} from "../../../../../database/schema/modules.js";
|
||||
/**
|
||||
* has no value and just here until; we remove everything
|
||||
*/
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import { db } from "../../../../../database/dbclient.js";
|
||||
import { modules } from "../../../../../database/schema/modules.js";
|
||||
import { settings } from "../../../../../database/schema/settings.js";
|
||||
import { userRoles } from "../../../../../database/schema/userRoles.js";
|
||||
import { createLog } from "../../../logger/logger.js";
|
||||
|
||||
export const addSetting = async (data: any, user_id: string) => {
|
||||
createLog("info", "lst", "server", "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
|
||||
.select()
|
||||
.from(userRoles)
|
||||
.where(and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")));
|
||||
// make sure the user is a system admin before moving forward
|
||||
const sysAdmin = await db
|
||||
.select()
|
||||
.from(userRoles)
|
||||
.where(
|
||||
and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")),
|
||||
);
|
||||
|
||||
if (sysAdmin) {
|
||||
createLog("info", "lst", "server", `Setting ${data.name} is being added`);
|
||||
try {
|
||||
const moduleId = await db.select().from(modules).where(eq(modules.name, data.module));
|
||||
if (sysAdmin) {
|
||||
createLog("info", "lst", "server", `Setting ${data.name} is being added`);
|
||||
try {
|
||||
const moduleId = await db
|
||||
.select()
|
||||
.from(modules)
|
||||
.where(eq(modules.name, data.module));
|
||||
|
||||
// filter out the module and add in the module id
|
||||
//delete data.module;
|
||||
// filter out the module and add in the module id
|
||||
//delete data.module;
|
||||
|
||||
//data.moduleName = moduleId[0].module_id;
|
||||
// console.log(data);
|
||||
const createSetting = await db.insert(settings).values(data);
|
||||
} catch (error) {
|
||||
createLog("error", "lst", "server", "Error adding setting");
|
||||
throw new Error("Error Adding Setting");
|
||||
}
|
||||
} else {
|
||||
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");
|
||||
}
|
||||
//data.moduleName = moduleId[0].module_id;
|
||||
// console.log(data);
|
||||
const createSetting = await db.insert(settings).values(data);
|
||||
} catch (error) {
|
||||
createLog("error", "lst", "server", "Error adding setting");
|
||||
throw new Error("Error Adding Setting");
|
||||
}
|
||||
} else {
|
||||
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",
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1,57 +1,72 @@
|
||||
/**
|
||||
* This is only used now to get the settings from the new server
|
||||
*/
|
||||
|
||||
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
|
||||
|
||||
import axios from "axios";
|
||||
import { db } from "../../../../../database/dbclient.js";
|
||||
import { settings } from "../../../../../database/schema/settings.js";
|
||||
import { Client } from "pg";
|
||||
import { tryCatch } from "../../../../globalUtils/tryCatch.js";
|
||||
import { createLog } from "../../../logger/logger.js";
|
||||
import type { Settings } from "../../../../types/settings.js";
|
||||
import { createLog } from "../../../logger/logger.js";
|
||||
|
||||
export let serverSettings: Settings[];
|
||||
export const getSettings = async () => {
|
||||
const settingsType = process.env.LST_USE_GO;
|
||||
createLog(
|
||||
"info",
|
||||
"lst",
|
||||
"server",
|
||||
`Settings are being grabbed from: ${
|
||||
settingsType === "true" ? "Go backend" : "Localbackend"
|
||||
}`
|
||||
);
|
||||
const settingsType = process.env.LST_USE_GO;
|
||||
createLog(
|
||||
"info",
|
||||
"lst",
|
||||
"server",
|
||||
`Settings are being grabbed from the app now`,
|
||||
);
|
||||
|
||||
const baseUrl = process.env.LST_BASE_URL;
|
||||
//if (settingsType !== "true") {
|
||||
try {
|
||||
// serverSettings = (await db.select().from(settings)) as any;
|
||||
const dbUrl = String(process.env.DATABASE_URL).replace("lst_db", "lst");
|
||||
const client = new Client({
|
||||
connectionString: dbUrl,
|
||||
});
|
||||
|
||||
if (settingsType === "true") {
|
||||
const { data, error } = (await tryCatch(
|
||||
axios.get(`${baseUrl}/api/v1/settings`)
|
||||
)) as any;
|
||||
await client.connect();
|
||||
|
||||
if (error) {
|
||||
createLog(
|
||||
"error",
|
||||
"lst",
|
||||
"server",
|
||||
"There was an error getting the settings"
|
||||
);
|
||||
throw new Error("There was an error getting the settings");
|
||||
}
|
||||
try {
|
||||
const s = await client.query("SELECT * FROM settings");
|
||||
|
||||
serverSettings = data.data.data;
|
||||
}
|
||||
serverSettings = s.rows;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
//.where(sql`${userRole} = ANY(roles)`);
|
||||
|
||||
if (settingsType !== "true") {
|
||||
try {
|
||||
serverSettings = (await db.select().from(settings)) as any;
|
||||
//.where(sql`${userRole} = ANY(roles)`);
|
||||
} catch (error) {
|
||||
createLog(
|
||||
"error",
|
||||
"lst",
|
||||
"server",
|
||||
"There was an error getting the settings"
|
||||
);
|
||||
throw new Error("There was an error getting the settings");
|
||||
}
|
||||
}
|
||||
// const { data, error } = (await tryCatch(
|
||||
// axios.get(
|
||||
// `http://localhost:${process.env.VITE_SERVER_PORT}/lst/api/system/settings`,
|
||||
// ),
|
||||
// )) as any;
|
||||
|
||||
return serverSettings;
|
||||
// if (error) {
|
||||
// createLog(
|
||||
// "error",
|
||||
// "lst",
|
||||
// "server",
|
||||
// "There was an error getting the settings",
|
||||
// );
|
||||
// throw new Error("There was an error getting the settings");
|
||||
// }
|
||||
|
||||
//serverSettings = data.data.data;
|
||||
} catch (error) {
|
||||
createLog(
|
||||
"error",
|
||||
"lst",
|
||||
"server",
|
||||
"There was an error getting the settings",
|
||||
);
|
||||
throw new Error("There was an error getting the settings");
|
||||
}
|
||||
//}
|
||||
|
||||
//console.log(serverSettings);
|
||||
return serverSettings;
|
||||
};
|
||||
|
||||
@@ -1,37 +1,52 @@
|
||||
import {and, eq, sql} from "drizzle-orm";
|
||||
import {db} from "../../../../../database/dbclient.js";
|
||||
import {settings} from "../../../../../database/schema/settings.js";
|
||||
import {createLog} from "../../../logger/logger.js";
|
||||
import {userRoles} from "../../../../../database/schema/userRoles.js";
|
||||
import {users} from "../../../../../database/schema/users.js";
|
||||
/**
|
||||
* has no value and just here until; we remove everything
|
||||
*/
|
||||
|
||||
import { and, eq, sql } from "drizzle-orm";
|
||||
import { db } from "../../../../../database/dbclient.js";
|
||||
import { settings } from "../../../../../database/schema/settings.js";
|
||||
import { userRoles } from "../../../../../database/schema/userRoles.js";
|
||||
import { users } from "../../../../../database/schema/users.js";
|
||||
import { createLog } from "../../../logger/logger.js";
|
||||
|
||||
export const updateSetting = async (data: any, user_id: string) => {
|
||||
createLog("info", "lst", "server", "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
|
||||
.select()
|
||||
.from(userRoles)
|
||||
.where(and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")));
|
||||
// make sure the user is a system admin before moving forward
|
||||
const sysAdmin = await db
|
||||
.select()
|
||||
.from(userRoles)
|
||||
.where(
|
||||
and(eq(userRoles.user_id, user_id), eq(userRoles.role, "systemAdmin")),
|
||||
);
|
||||
|
||||
if (sysAdmin) {
|
||||
createLog("info", "lst", "server", `Setting ${data.name} is being updated`);
|
||||
if (sysAdmin) {
|
||||
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));
|
||||
try {
|
||||
//const settingID = await db.select().from(settings).where(eq(settings.name, data.module));
|
||||
//get the username so we can update the correct field
|
||||
const user = await db
|
||||
.select()
|
||||
.from(users)
|
||||
.where(eq(users.user_id, user_id));
|
||||
try {
|
||||
//const settingID = await db.select().from(settings).where(eq(settings.name, data.module));
|
||||
|
||||
const updateSetting = await db
|
||||
.update(settings)
|
||||
.set({value: data.value, upd_user: user[0].username, upd_date: sql`NOW()`})
|
||||
.where(eq(settings.name, data.name));
|
||||
} catch (error) {
|
||||
createLog("error", "lst", "server", "Error updating setting");
|
||||
throw new Error("Error updating Setting");
|
||||
}
|
||||
} else {
|
||||
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");
|
||||
}
|
||||
const updateSetting = await db
|
||||
.update(settings)
|
||||
.set({
|
||||
value: data.value,
|
||||
upd_user: user[0].username,
|
||||
upd_date: sql`NOW()`,
|
||||
})
|
||||
.where(eq(settings.name, data.name));
|
||||
} catch (error) {
|
||||
createLog("error", "lst", "server", "Error updating setting");
|
||||
throw new Error("Error updating Setting");
|
||||
}
|
||||
} else {
|
||||
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",
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user