From 1d782dc19aa523a8ae81a6c589036291124e8bd9 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 8 Jun 2025 01:17:54 -0400 Subject: Share: load server data on page load --- packages/function/src/api.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'packages/function/src/api.ts') diff --git a/packages/function/src/api.ts b/packages/function/src/api.ts index 3e2ce9eca..b058321c0 100644 --- a/packages/function/src/api.ts +++ b/packages/function/src/api.ts @@ -69,6 +69,15 @@ export class SyncServer extends DurableObject { return secret } + public async messages() { + const data = await this.ctx.storage.list() + const messages = [] + for (const [key, content] of data.entries()) { + messages.push({ key, content }) + } + return messages + } + private async getSecret() { return this.ctx.storage.get("secret") } @@ -163,5 +172,17 @@ export default { const stub = env.SYNC_SERVER.get(env.SYNC_SERVER.idFromName(id)) return stub.fetch(request) } + + if (request.method === "GET" && method === "share_messages") { + const id = url.searchParams.get("id") + console.log("share_messages", id) + if (!id) + return new Response("Error: Share ID is required", { status: 400 }) + const stub = env.SYNC_SERVER.get(env.SYNC_SERVER.idFromName(id)) + const messages = await stub.messages() + return new Response(JSON.stringify({ messages }), { + headers: { "Content-Type": "application/json" }, + }) + } }, } -- cgit v1.2.3