import { existsSync, readFileSync } from 'node:fs' export default defineEventHandler((event) => { assertLibraryAccess(event) const id = String(getRouterParam(event, 'id') || '') const clip = getClip(id) if (clip.hideThumbnail) { throw createError({ statusCode: 404, statusMessage: 'Thumbnail hidden' }) } const path = clipThumbPath(clip.id) if (!existsSync(path)) { throw createError({ statusCode: 404, statusMessage: 'Thumbnail not found' }) } const buf = readFileSync(path) const png = buf[0] === 0x89 && buf[1] === 0x50 setHeader(event, 'Content-Type', png ? 'image/png' : 'image/jpeg') setHeader(event, 'Cache-Control', 'private, max-age=3600') return buf })