Spaces:
Sleeping
Sleeping
import { NextApiRequest, NextApiResponse } from "next"; | |
import { createConnection, getTables } from "@/utils/database"; | |
export default async function handler( | |
req: NextApiRequest, | |
res: NextApiResponse | |
) { | |
if (req.method !== "POST") { | |
return res.status(405).json({ message: "Method not allowed" }); | |
} | |
const { dbUri } = req.body; | |
if (!dbUri) { | |
return res.status(400).json({ | |
message: "Database URI is required" | |
}); | |
} | |
let connection; | |
try { | |
connection = await createConnection(dbUri); | |
const tables = await getTables(connection); | |
await connection.end(); | |
return res.status(200).json({ tables }); | |
} catch (error: any) { | |
await connection?.end(); | |
return res.status(500).json({ | |
message: "Failed to fetch tables", | |
details: error.message | |
}); | |
} | |
} |