import mariadb from "mariadb"; import { DSQL_TableSchemaType, UserType } from "../../types"; import grabMariadbMainUserForUser from "./grab-mariadb-main-user-for-user"; import connDbHandler from "../../utils/db/conn-db-handler"; import grabDbSSL from "../../utils/backend/grabDbSSL"; type Params = { query?: string; values?: any[]; database?: string; tableSchema?: DSQL_TableSchemaType; debug?: boolean; user: UserType; }; export default async function userDbHandler({ query, user, database, debug, tableSchema, values, }: Params) { const { fullName, host, username, password } = await grabMariadbMainUserForUser({ user }); const connection = await mariadb.createConnection({ host, user: username, password: password, database: database, charset: "utf8mb4", ssl: grabDbSSL(), supportBigNumbers: true, bigNumberStrings: false, dateStrings: true, }); const results = await connDbHandler(connection, query); return results; }