import { publicLibrary, publicLibraryPage } from '~/server/utils/library' export default defineEventHandler((event) => { const query = getQuery(event) const light = String(query.light || '') === '1' const full = String(query.full || '') === '1' const limitRaw = query.limit const hasLimit = limitRaw != null && String(limitRaw) !== '' // Default GET /api/library → page helper (limit 50). Opt into full catalog with full=1 or legacy light=1. const wantsFull = full || (light && !hasLimit) if (!wantsFull) { return publicLibraryPage(event, { limit: hasLimit ? Number(limitRaw) || 50 : 50, cursor: String(query.cursor || ''), folderId: String(query.folderId || query.folder || ''), type: String(query.type || query.filter || 'all') }) } // Full catalog path — no thumb prewarm on the request (thumbs build on /thumb hit) return publicLibrary(event, { light: true }) })