import { Command } from "https://esm.town/v/pomdtr/cmdk";
import { sqlite } from "https://esm.town/v/std/sqlite?v=6";
import { markdownTable } from "npm:markdown-table";
export const runQuery: Command = async (ctx) => {
const { query } = ctx.params;
if (!query) {
return {
type: "form",
form: {
items: [
{
title: "Query",
name: "query",
type: "textarea",
textarea: {
placeholder: "SELECT * FROM table",
},
},
],
},
};
}
const res = await sqlite.execute(query);
return {
type: "detail",
detail: {
markdown: markdownTable([res.columns, ...res.rows]),
actions: [],
},
};
};