import { isAdminEmail } from './auth.js'; import { votdAvailable } from './votd.js'; import { listPasskeys } from './db.js'; // Shape returned to the client for the signed-in user (login, MFA verify, /auth/me). export function userPayload(user) { return { id: user.id, email: user.email, totpEnabled: user.totpEnabled, podcastName: user.podcastName ?? null, isAdmin: isAdminEmail(user.email), reminderEnabled: user.reminderEnabled, ntfyUrl: user.ntfyUrl ?? null, ntfyTopic: user.ntfyTopic ?? null, reminderTime: user.reminderTime ?? null, votdEnabled: !!user.votdEnabled, votdTime: user.votdTime ?? null, votdAvailable: votdAvailable(), prayerEnabled: !!user.prayerEnabled, prayerTime: user.prayerTime ?? null, loginAlerts: !!user.loginAlerts, passkeyCount: listPasskeys(user.id).length, }; }