From 2c121591d552f99d78aeed8a186795c13ab610d3 Mon Sep 17 00:00:00 2001 From: "haruyuki@chrome-penguin" Date: Tue, 27 Feb 2024 00:25:00 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8D=20outbox=E3=82=A8=E3=83=B3?= =?UTF-8?q?=E3=83=89=E3=83=9D=E3=82=A4=E3=83=B3=E3=83=88=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=81=97=E3=81=A6Actor=E3=81=ABoutbox=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fresh.gen.ts | 2 ++ routes/u/event/index.ts | 1 + routes/u/event/outbox.ts | 20 ++++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 routes/u/event/outbox.ts diff --git a/fresh.gen.ts b/fresh.gen.ts index 43d3eb3..ceb9338 100644 --- a/fresh.gen.ts +++ b/fresh.gen.ts @@ -16,6 +16,7 @@ import * as $reset from "./routes/reset.ts"; import * as $u_event_followers from "./routes/u/event/followers.ts"; import * as $u_event_inbox from "./routes/u/event/inbox.ts"; import * as $u_event_index from "./routes/u/event/index.ts"; +import * as $u_event_outbox from "./routes/u/event/outbox.ts"; import * as $CopyToClipboard from "./islands/CopyToClipboard.tsx"; import * as $Counter from "./islands/Counter.tsx"; import * as $EventCard from "./islands/EventCard.tsx"; @@ -38,6 +39,7 @@ const manifest = { "./routes/u/event/followers.ts": $u_event_followers, "./routes/u/event/inbox.ts": $u_event_inbox, "./routes/u/event/index.ts": $u_event_index, + "./routes/u/event/outbox.ts": $u_event_outbox, }, islands: { "./islands/CopyToClipboard.tsx": $CopyToClipboard, diff --git a/routes/u/event/index.ts b/routes/u/event/index.ts index 725e44d..9369338 100644 --- a/routes/u/event/index.ts +++ b/routes/u/event/index.ts @@ -18,6 +18,7 @@ export const handler: Handlers = { "type": "Person", "discoverable": true, "inbox": `${entrypoint}u/event/inbox`, + "outbox": `${entrypoint}u/event/outbox`, "followers": `${entrypoint}u/event/followers`, "preferredUsername": "たまイベント", "name": "たまイベント", diff --git a/routes/u/event/outbox.ts b/routes/u/event/outbox.ts new file mode 100644 index 0000000..59776af --- /dev/null +++ b/routes/u/event/outbox.ts @@ -0,0 +1,20 @@ +import { Handlers } from "$fresh/server.ts"; +import { entrypoint } from "../../../const.ts"; +import { EventItem } from "../../../interface/EventItem.interface.ts"; +import { kv } from "../../../kv.ts"; + +export const handler: Handlers = { + async GET(_req, _ctx) { + const list = await kv.list({ prefix: ["eventItems"] }); + let eventCount = 0; + for await (const item of list) { + if (!item.value.permitted) continue; + eventCount++; + } + return Response.json({ + "@context": "https://www.w3.org/ns/activitystreams", + "id": `${entrypoint}u/event/outbox`, + "totalItems": eventCount, + }); + }, +};