mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
Remove @/config.ts import from utils/pleroma.ts
This commit is contained in:
parent
fa0add60d5
commit
7fe06753aa
3 changed files with 18 additions and 13 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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'],
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue