- 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>
49 lines
1.8 KiB
TypeScript
49 lines
1.8 KiB
TypeScript
import { Hono } from 'hono';
|
|
import { getEnabledSocialProviders } from './auth';
|
|
import openapi from './openapi';
|
|
import accountRoute from './routes/account';
|
|
import analyticsRoute from './routes/analytics';
|
|
import apiKeysRoute from './routes/api-keys';
|
|
import filesRoute from './routes/files';
|
|
import healthRoute from './routes/health';
|
|
import instanceRoute from './routes/instance';
|
|
import { invitePublicRoute, inviteRoute } from './routes/invites';
|
|
import metricsRoute from './routes/metrics';
|
|
import secretRequestsRoute from './routes/secret-requests';
|
|
import secretsRoute from './routes/secrets';
|
|
import setupRoute from './routes/setup';
|
|
import { userRoute } from './routes/user';
|
|
|
|
// Create a new router
|
|
const routes = new Hono()
|
|
.route('/secrets', secretsRoute)
|
|
.route('/secret-requests', secretRequestsRoute)
|
|
.route('/account', accountRoute)
|
|
.route('/files', filesRoute)
|
|
.route('/user', userRoute)
|
|
.route('/instance', instanceRoute)
|
|
.route('/analytics', analyticsRoute)
|
|
.route('/invites/public', invitePublicRoute)
|
|
.route('/invites', inviteRoute)
|
|
.route('/setup', setupRoute)
|
|
.route('/api-keys', apiKeysRoute)
|
|
.route('/metrics', metricsRoute)
|
|
.route('/health', healthRoute)
|
|
.route('/', openapi)
|
|
// Legacy liveness endpoint (kept for backwards compatibility)
|
|
.get('/healthz', (c) => c.json({ status: 'healthy', timestamp: new Date().toISOString() }))
|
|
.get('/config/social-providers', (c) => {
|
|
const providers = getEnabledSocialProviders();
|
|
const baseUrl = process.env.HEMMELIG_BASE_URL || c.req.header('origin') || '';
|
|
const callbackBaseUrl = baseUrl ? `${baseUrl}/api/auth/callback` : '';
|
|
|
|
return c.json({
|
|
providers,
|
|
callbackBaseUrl,
|
|
});
|
|
});
|
|
|
|
export default routes;
|
|
|
|
export type AppType = typeof routes;
|