- Set Spanish as default language with ephemeral/encrypted privacy focus - Translate all user-facing strings and legal pages to Spanish - Replace Norwegian flag with Spanish flag in footer - Remove Hemmelig/terces.cloud links, add cloudhost.es sponsorship - Rewrite PrivacyPage: zero data collection, ephemeral design emphasis - Rewrite TermsPage: Spanish law, RGPD, paste.es/CloudHost.es references - Update PWA manifest, HTML meta tags, package.json branding - Rename webhook headers to X-Paste-Event / X-Paste-Signature - Update API docs title and contact to paste.es / cloudhost.es Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
41 lines
1.1 KiB
TypeScript
41 lines
1.1 KiB
TypeScript
import prisma from './db';
|
|
|
|
const settingsCache = new Map();
|
|
|
|
/**
|
|
* Gets instance settings, fetching from database if not cached.
|
|
* Use this utility to avoid duplicating the cache-check pattern.
|
|
*/
|
|
export async function getInstanceSettings() {
|
|
let cachedSettings = settingsCache.get('instanceSettings');
|
|
if (!cachedSettings) {
|
|
try {
|
|
cachedSettings = await prisma.instanceSettings.findFirst();
|
|
if (cachedSettings) {
|
|
settingsCache.set('instanceSettings', cachedSettings);
|
|
}
|
|
} catch {
|
|
// Table may not exist yet (fresh database)
|
|
return null;
|
|
}
|
|
}
|
|
return cachedSettings;
|
|
}
|
|
|
|
/**
|
|
* Updates the cached instance settings.
|
|
* Call this after modifying settings in the database.
|
|
*/
|
|
export function setCachedInstanceSettings(settings: unknown) {
|
|
settingsCache.set('instanceSettings', settings);
|
|
}
|
|
|
|
/**
|
|
* Gets the raw settings cache (for direct access when needed).
|
|
*/
|
|
export function getSettingsCache() {
|
|
return settingsCache;
|
|
}
|
|
|
|
export default settingsCache;
|