rebreak-monorepo/backend/server/api/me/presence-visibility.post.ts
chahinebrini 19b569927a fix(presence): missing imports in 3 endpoints
Same pattern as touchLastSeen: getLastSeenBatch, setPresenceVisible,
getFollowingIds wurden im db/profile.ts implementiert aber nicht in den
Endpoints importiert. Alle 3 warfen 500 ReferenceError → grüner Dot
zeigte sich nie + Toggle silently failed.

Nitro's auto-import covered nur defineEventHandler/getQuery etc., NICHT
unsere eigenen db-layer helper.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 07:16:18 +02:00

24 lines
728 B
TypeScript

/**
* POST /api/me/presence-visibility
*
* Opt-out toggle for the authenticated user's online status visibility.
* When visible=false, no other user will see lastSeenAt regardless of follow status.
*
* Body: { visible: boolean }
* Response: { presenceVisible: boolean }
*/
import { requireUser } from "../../utils/auth";
import { setPresenceVisible } from "../../db/profile";
export default defineEventHandler(async (event) => {
const user = await requireUser(event);
const body = await readBody(event);
if (typeof body?.visible !== "boolean") {
throw createError({ statusCode: 400, message: "INVALID_VISIBLE" });
}
const result = await setPresenceVisible(user.id, body.visible);
return result;
});