Files
guanwang/server/api/admin/media/index.get.ts

12 lines
571 B
TypeScript

import { isMediaReferenced, serializeMedia, type MediaAssetRow } from '../../../utils/media'
import { useDatabase } from '../../../utils/db'
export default defineEventHandler(async (event) => {
await requireAdmin(event)
const query = getQuery(event)
const status = query.status === 'trash' ? 'trash' : 'active'
const db = useDatabase()
const rows = db.prepare('SELECT * FROM media_assets WHERE status = ? ORDER BY created_at DESC LIMIT 200').all(status) as MediaAssetRow[]
return { data: rows.map(row => serializeMedia(row, isMediaReferenced(db, row))) }
})