From d2f8cd2e8ab4d2279ea13ad5f09f67ce8788e96a Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Sat, 11 Oct 2025 05:39:20 -0700 Subject: [PATCH] Fix: Make schema creation idempotent --- functions/api/admin/create-schema.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 functions/api/admin/create-schema.js diff --git a/functions/api/admin/create-schema.js b/functions/api/admin/create-schema.js new file mode 100644 index 0000000..daa72bc --- /dev/null +++ b/functions/api/admin/create-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 schema = `CREATE TABLE IF NOT EXISTS users (username TEXT PRIMARY KEY, pass_hash TEXT, custom_slugs TEXT);`; + await env.D1_EV.exec(schema); + + return new Response("Schema v1 created successfully (if it did not exist)."); + } catch (e) { + return new Response(e.message, { status: 500 }); + } +}