import { getRequestIP } from "h3"; import { listDiscoverUsersPage } from "#server/service/discover"; import { assertUnderRateLimit } from "#server/utils/simple-rate-limit"; export default defineWrappedResponseHandler(async (event) => { const ip = getRequestIP(event, { xForwardedFor: true }) ?? "unknown"; assertUnderRateLimit(`discover-users:${ip}`, 120, 60_000); const showDiscoverInHeaderForGuest = await event.context.config.getGlobal("showDiscoverInHeaderForGuest"); if (!showDiscoverInHeaderForGuest) { await event.context.auth.requireUser(); } const q = getQuery(event); const payload = await listDiscoverUsersPage(q.page); return R.success(payload); });