38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
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;
|
|
}
|