import { listUserMediaAssetsPage } from "#server/service/media"; import { parseMeMediaAssetsQuery } from "#server/utils/me-media-assets-query"; export default defineWrappedResponseHandler(async (event) => { const user = await event.context.auth.requireUser(); const q = getQuery(event); const { page, pageSize } = parseMeMediaAssetsQuery({ page: typeof q.page === "string" ? q.page : undefined, pageSize: typeof q.pageSize === "string" ? q.pageSize : undefined, }); const { items, total } = await listUserMediaAssetsPage(user.id, page, pageSize); return R.success({ items: items.map((r) => ({ id: r.id, storageKey: r.storageKey, publicPath: "/public/assets/" + r.storageKey, mime: r.mime, sizeBytes: r.sizeBytes, createdAt: r.createdAt.toISOString(), refCount: r.refCount, })), total, }); });