datasquirel/dist/package-shared/shell/updateSSLUsers.js
Benjamin Toby 7e8bb37c09 Updates
2025-07-05 14:59:30 +01:00

44 lines
1.6 KiB
JavaScript

require("dotenv").config({ path: "./../.env" });
import grabDSQLConnection from "../utils/grab-dsql-connection";
import grabSQLKeyName from "../utils/grab-sql-key-name";
/**
* # Main DB Handler Function
* @async
*
* @param {object} params
* @param {string} params.query
* @param {string[] | object} [params.values]
* @param {string} [params.database]
*
* @returns {Promise<object|null>}
*/
(async () => {
var _a, _b;
const CONNECTION = grabDSQLConnection();
try {
const result = await CONNECTION.query("SELECT user,host,ssl_type FROM mysql.user");
const parsedResults = JSON.parse(JSON.stringify(result));
for (let i = 0; i < parsedResults.length; i++) {
const user = parsedResults[i];
if (user.User !== process.env.DSQL_DB_READ_ONLY_USERNAME ||
user.User !== process.env.DSQL_DB_FULL_ACCESS_USERNAME ||
!((_a = user.User) === null || _a === void 0 ? void 0 : _a.match(new RegExp(grabSQLKeyName({ type: "user" }))))) {
continue;
}
const { User, Host, ssl_type } = user;
if (ssl_type === "ANY") {
continue;
}
const addUserSSL = await CONNECTION.query(`ALTER USER '${User}'@'${Host}'`);
console.log(`addUserSSL => ${User}@${Host}`, addUserSSL);
}
}
catch (error) {
(_b = global.ERROR_CALLBACK) === null || _b === void 0 ? void 0 : _b.call(global, `Error Updating SSL Users`, error);
}
finally {
CONNECTION.end();
process.exit();
}
})();