import { ConnectionConfig } from "mariadb"; import grabDbSSL from "./backend/grabDbSSL"; import { DsqlConnectionParam } from "../types"; /** * # Grab General CONNECTION for DSQL */ export default function grabDSQLConnectionConfig( param?: DsqlConnectionParam ): ConnectionConfig { const CONN_TIMEOUT = 10000; const config: ConnectionConfig = { host: process.env.DSQL_DB_HOST, user: process.env.DSQL_DB_USERNAME, password: process.env.DSQL_DB_PASSWORD, database: param?.database || (param?.noDb ? undefined : process.env.DSQL_DB_NAME), port: process.env.DSQL_DB_PORT ? Number(process.env.DSQL_DB_PORT) : undefined, charset: "utf8mb4", ssl: grabDbSSL(), bigIntAsNumber: true, supportBigNumbers: true, bigNumberStrings: false, dateStrings: true, metaAsArray: true, socketTimeout: CONN_TIMEOUT, connectTimeout: CONN_TIMEOUT, compress: true, ...param?.config, }; return config; }