import { dbGlobal } from "drizzle-pkg/lib/db"; import { users } from "drizzle-pkg/lib/schema/auth"; import { desc } from "drizzle-orm"; import { requireAdmin } from "#server/utils/admin-guard"; export default defineWrappedResponseHandler(async (event) => { await requireAdmin(event); const q = getQuery(event); const limit = Math.min(Number(q.limit ?? 50) || 50, 100); const offset = Math.max(Number(q.offset ?? 0) || 0, 0); const rows = await dbGlobal .select({ id: users.id, username: users.username, email: users.email, role: users.role, status: users.status, publicSlug: users.publicSlug, createdAt: users.createdAt, }) .from(users) .orderBy(desc(users.id)) .limit(limit) .offset(offset); return R.success({ users: rows }); });