Build and Push Docker Image / build-and-push (push) Successful in 5m37s
Routes move to server/routes/ (auth, account, projects, reader, sharing, admin); index.js keeps setup only. A smoke test walks 90 API calls against the real server and compares every status with the pre-split behaviour. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
17 lines
826 B
JavaScript
17 lines
826 B
JavaScript
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,
|
|
};
|
|
}
|