// @ts-check //////////////////////////////////////// //////////////////////////////////////// //////////////////////////////////////// require("dotenv").config({ path: "./../.env" }); const fs = require("fs"); const path = require("path"); // const mysql = require("mysql"); // const connection = mysql.createConnection({ // host: process.env.DSQL_DB_HOST, // user: process.env.DSQL_DB_USERNAME, // password: process.env.DSQL_DB_PASSWORD, // database: process.env.DSQL_DB_NAME, // charset: "utf8mb4", // }); const mysql = require("serverless-mysql"); const SSL_DIR = "/app/ssl"; const connection = mysql({ config: { host: process.env.DSQL_DB_HOST, user: process.env.DSQL_DB_USERNAME, password: process.env.DSQL_DB_PASSWORD, database: process.env.DSQL_DB_NAME, charset: "utf8mb4", ssl: { ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`), }, }, }); ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// /** * # Main DB Handler Function * @async * * @param {object} params * @param {string} params.query * @param {string[] | object} [params.values] * @param {string} [params.database] * * @returns {Promise} */ (async () => { /** * Switch Database * * @description If a database is provided, switch to it */ try { const result = await connection.query( "SELECT id,first_name,last_name FROM users LIMIT 3" ); console.log("Connection Query Success =>", result); } catch (/** @type {any} */ error) { console.log("Connection query ERROR =>", error.message); } finally { connection.end(); process.exit(); } })();