import { input } from "@inquirer/prompts"; import chalk from "chalk"; import dbHandler from "../../lib/db-handler"; export default async function runSQL(params) { const sql = await input({ message: "Enter SQL query:", validate: (val) => val.trim().length > 0 || "Query cannot be empty", }); try { const res = await dbHandler({ query: sql }); if (res.payload?.length) { console.log(`\n${chalk.bold(`Result (${res.payload.length} row${res.payload.length !== 1 ? "s" : ""}):`)} \n`); console.table(res.payload); } else if (res.success) { console.log(chalk.green(`\nSuccess! Affected rows: ${res.insert_return?.affected_rows ?? res.count ?? 0}, Last insert ID: ${res.insert_return?.last_insert_id ?? "—"}\n`)); } else { console.error(chalk.red(`\nSQL Error: ${res.error || res.msg}\n`)); } } catch (error) { console.error(chalk.red(`\nSQL Error: ${error.message}\n`)); } }