Remove @/config.ts import from utils/pleroma.ts

This commit is contained in:
Alex Gleason 2025-02-27 14:25:09 -06:00
parent fa0add60d5
commit 7fe06753aa
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
3 changed files with 18 additions and 13 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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<PleromaConfigDB> {
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<PleromaConfigDB> {
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'],