datasquirel/dist/package-shared/functions/backend/grab-mariadb-main-user-for-user.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

42 lines
1.6 KiB
JavaScript

import dbHandler from "./dbHandler";
import dsqlCrud from "../../utils/data-fetching/crud";
import decrypt from "../dsql/decrypt";
import createUserSQLUser from "../../utils/create-user-sql-user";
import grabUserMainSqlUserName from "../../utils/grab-user-main-sql-user-name";
export default async function grabMariadbMainUserForUser({ user, }) {
var _a;
const { fullName, host, username: mariaDBUsername, webHost, } = grabUserMainSqlUserName({ user });
const existingWebAppUser = (await dbHandler({
query: `SELECT * FROM mysql.user WHERE user=? AND host=?`,
values: [mariaDBUsername, webHost],
}));
if (!(existingWebAppUser === null || existingWebAppUser === void 0 ? void 0 : existingWebAppUser[0])) {
return await createUserSQLUser(user);
}
else {
const existingUserRecord = await dsqlCrud({
action: "get",
table: "users",
query: {
query: {
id: {
value: String(user.id),
},
},
},
});
const targetUser = (_a = existingUserRecord === null || existingUserRecord === void 0 ? void 0 : existingUserRecord.payload) === null || _a === void 0 ? void 0 : _a[0];
if (!(targetUser === null || targetUser === void 0 ? void 0 : targetUser.id)) {
return {};
}
return {
fullName,
host,
username: mariaDBUsername,
password: decrypt({
encryptedString: targetUser.mariadb_pass || "",
}),
};
}
}