Menu
Public repository / 1b41bcdd9e7d715e0117aa1edf8d3712789587b6
AkurAI-Mail / src/routes/webmail/+page.server.ts
Latest change 66e3647948f2e277afdd6ecd16939de8b6ad525f - Initial commit: AkurAI Mail UI (SvelteKit+Bun) by Ólafur Búi Ólafsson
import { akurai } from "$lib/server";
import { isAuthenticated, mailboxFromSession } from "$lib/auth";
type MailUser = { email: string };
export async function load({ cookies, url }) {
const status = await akurai(["status"]);
const requested = url.searchParams.get("mailbox") ?? "";
const users = (status.users ?? []) as MailUser[];
const admin = isAuthenticated(cookies);
const sessionMailbox = mailboxFromSession(cookies);
const mailbox = admin && users.some((user) => user.email === requested)
? requested
: sessionMailbox || users[0]?.email || "olibuijr@olibuijr.com";
const webmail = await akurai(["webmail-state", mailbox, "--folder", "Inbox"]);
const publicStatus = admin ? status : { hostname: status.hostname, users: users.filter((user) => user.email === mailbox) };
return { status: publicStatus, webmail, admin, sessionMailbox: mailbox };
}