From b793bec05e10cb9b78f50e5611ce68e85659ee6e Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Sat, 11 Oct 2025 05:39:15 -0700 Subject: [PATCH] Feat: Add endpoint to read current D1 schema --- functions/api/admin/read-schema.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 functions/api/admin/read-schema.js diff --git a/functions/api/admin/read-schema.js b/functions/api/admin/read-schema.js new file mode 100644 index 0000000..7053ff4 --- /dev/null +++ b/functions/api/admin/read-schema.js @@ -0,0 +1,13 @@ +export async function onRequestPost({ request, env }) { + try { + const { admin_pass } = await request.json(); + if (admin_pass !== env.ADMIN_PASS) return new Response("Unauthorized", { status: 401 }); + + const { results } = await env.D1_EV.prepare("SELECT sql FROM sqlite_master WHERE type='table' AND name='users'").all(); + const schema = results.length ? results[0].sql : "Table 'users' not found."; + + return new Response(schema); + } catch (e) { + return new Response(e.message, { status: 500 }); + } +}