From 7fe06753aac5aece91907fa7fe2224b2b7eb9aa4 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 27 Feb 2025 14:25:09 -0600 Subject: [PATCH] Remove `@/config.ts` import from utils/pleroma.ts --- packages/ditto/controllers/api/pleroma.ts | 12 ++++-------- packages/ditto/middleware/cspMiddleware.ts | 2 +- packages/ditto/utils/pleroma.ts | 17 +++++++++++++---- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/ditto/controllers/api/pleroma.ts b/packages/ditto/controllers/api/pleroma.ts index ef27696d..b4458c6c 100644 --- a/packages/ditto/controllers/api/pleroma.ts +++ b/packages/ditto/controllers/api/pleroma.ts @@ -7,9 +7,7 @@ import { lookupPubkey } from '@/utils/lookup.ts'; import { getPleromaConfigs } from '@/utils/pleroma.ts'; const frontendConfigController: AppController = async (c) => { - const { relay, signal } = c.var; - - const configDB = await getPleromaConfigs(relay, signal); + const configDB = await getPleromaConfigs(c.var); const frontendConfig = configDB.get(':pleroma', ':frontend_configurations'); if (frontendConfig) { @@ -25,17 +23,15 @@ const frontendConfigController: AppController = async (c) => { }; const configController: AppController = async (c) => { - const { relay, signal } = c.var; - - const configs = await getPleromaConfigs(relay, signal); + const configs = await getPleromaConfigs(c.var); return c.json({ configs, need_reboot: false }); }; /** Pleroma admin config controller. */ const updateConfigController: AppController = async (c) => { - const { conf, relay, signal } = c.var; + const { conf } = c.var; - const configs = await getPleromaConfigs(relay, signal); + const configs = await getPleromaConfigs(c.var); const { configs: newConfigs } = z.object({ configs: z.array(configSchema) }).parse(await c.req.json()); configs.merge(newConfigs); diff --git a/packages/ditto/middleware/cspMiddleware.ts b/packages/ditto/middleware/cspMiddleware.ts index 8e890101..4417a3a1 100644 --- a/packages/ditto/middleware/cspMiddleware.ts +++ b/packages/ditto/middleware/cspMiddleware.ts @@ -9,7 +9,7 @@ export const cspMiddleware = (): AppMiddleware => { const { conf, relay } = c.var; if (!configDBCache) { - configDBCache = getPleromaConfigs(relay); + configDBCache = getPleromaConfigs({ conf, relay }); } const { host, protocol, origin } = conf.url; diff --git a/packages/ditto/utils/pleroma.ts b/packages/ditto/utils/pleroma.ts index db3ca6a1..ae7588e3 100644 --- a/packages/ditto/utils/pleroma.ts +++ b/packages/ditto/utils/pleroma.ts @@ -1,14 +1,23 @@ import { NSchema as n, NStore } from '@nostrify/nostrify'; -import { Conf } from '@/config.ts'; import { configSchema } from '@/schemas/pleroma-api.ts'; import { PleromaConfigDB } from '@/utils/PleromaConfigDB.ts'; -export async function getPleromaConfigs(store: NStore, signal?: AbortSignal): Promise { - const signer = Conf.signer; +import type { DittoConf } from '@ditto/conf'; + +interface GetPleromaConfigsOpts { + conf: DittoConf; + relay: NStore; + signal?: AbortSignal; +} + +export async function getPleromaConfigs(opts: GetPleromaConfigsOpts): Promise { + const { conf, relay, signal } = opts; + + const signer = conf.signer; const pubkey = await signer.getPublicKey(); - const [event] = await store.query([{ + const [event] = await relay.query([{ kinds: [30078], authors: [pubkey], '#d': ['pub.ditto.pleroma.config'],