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} */ (async () => { const CONNECTION = await grabDSQLConnection(); try { const [result] = await CONNECTION.query( "SELECT user,host,ssl_type FROM mysql.user" ); for (let i = 0; i < result.length; i++) { const user = result[i]; if ( user.User !== process.env.DSQL_DB_READ_ONLY_USERNAME || user.User !== process.env.DSQL_DB_FULL_ACCESS_USERNAME || !user.User?.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: any) { console.log("Error =\u003e", error.message); } finally { await CONNECTION?.end(); process.exit(); } })();