Browse Source

feat(api): add GET /api/me/media/assets for media library

Made-with: Cursor
tags/邮箱功能前置
npmrun 4 weeks ago
parent
commit
e89529a6d2
  1. 25
      server/api/me/media/assets.get.ts

25
server/api/me/media/assets.get.ts

@ -0,0 +1,25 @@
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,
});
});
Loading…
Cancel
Save