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 || "", }), }; } }