query('lang', 'de'); // Support common English aliases as fallbacks $s = strtolower($slug); $aliasMap = [ 'imprint' => 'impressum', 'privacy' => 'datenschutz', 'terms' => 'agb', ]; $resolved = $aliasMap[$s] ?? $s; $page = LegalPage::query() ->where('slug', $resolved) ->where('is_published', true) ->orderByDesc('version') ->first(); if (! $page) { return ApiError::response( 'legal_page_not_found', 'Legal Page Not Found', 'The requested legal document does not exist.', Response::HTTP_NOT_FOUND, ['slug' => $resolved] ); } $title = $page->title[$locale] ?? $page->title[$page->locale_fallback] ?? $page->title['de'] ?? $page->title['en'] ?? $page->slug; $body = $page->body_markdown[$locale] ?? $page->body_markdown[$page->locale_fallback] ?? reset($page->body_markdown); return response()->json([ 'slug' => $page->slug, 'version' => (int) $page->version, 'effective_from' => optional($page->effective_from)->toIso8601String(), 'locale' => $locale, 'title' => $title, 'body_markdown' => (string) $body, ])->header('Cache-Control', 'no-store'); } }