24 lines
928 B
TypeScript
24 lines
928 B
TypeScript
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 })
|
|
})
|