From e16e81da865195d5f585aeeab8d14ac4e05e3c85 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Mon, 15 Jan 2024 12:40:39 -0600 Subject: [PATCH] Add a CLI task to publish events as the Ditto admin --- scripts/admin.ts | 23 +++++++++++++++++++++++ src/controllers/api/instance.ts | 2 +- src/utils/api.ts | 1 + 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 scripts/admin.ts diff --git a/scripts/admin.ts b/scripts/admin.ts new file mode 100644 index 0000000..df803a1 --- /dev/null +++ b/scripts/admin.ts @@ -0,0 +1,23 @@ +import * as pipeline from '@/pipeline.ts'; +import { signAdminEvent } from '@/sign.ts'; +import { type EventStub } from '@/utils/api.ts'; +import { nostrNow } from '@/utils.ts'; + +switch (Deno.args[0]) { + case 'publish': + await publish(JSON.parse(Deno.args[1])); + break; + default: + console.log('Usage: deno run -A scripts/admin.ts '); +} + +async function publish(t: EventStub) { + const event = await signAdminEvent({ + content: '', + created_at: nostrNow(), + tags: [], + ...t, + }); + + await pipeline.handleEvent(event); +} diff --git a/src/controllers/api/instance.ts b/src/controllers/api/instance.ts index 01f1a5b..8e0630b 100644 --- a/src/controllers/api/instance.ts +++ b/src/controllers/api/instance.ts @@ -16,7 +16,7 @@ const instanceController: AppController = async (c) => { uri: host, title: meta.name ?? 'Ditto', description: meta.about ?? 'Nostr and the Fediverse', - short_description: meta.tagline ?? 'Nostr and the Fediverse', + short_description: meta.tagline ?? meta.about ?? 'Nostr and the Fediverse', registrations: Conf.registrations, max_toot_chars: Conf.postCharLimit, configuration: { diff --git a/src/utils/api.ts b/src/utils/api.ts index af0333a..0e8ae8b 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -179,6 +179,7 @@ export { activityJson, createAdminEvent, createEvent, + type EventStub, localRequest, paginated, type PaginationParams,