AkurAI Build
Menu

Public repository / fe7b2399d73399c6c858bff6b902f303d94584d2

AkurAI-Mail / src/routes/webmail/+page.ts

Latest change a7e96191cab7cc0297487b9e56f4e19a4c057957 - refactor: switch to adapter-static for Rust API backend by Ólafur Búi Ólafsson

import { api } from "$lib/api";

export async function load({ url }) {
  const requested = url.searchParams.get("mailbox") ?? "";
  const [authCheck, status] = await Promise.all([
    api("/api/auth/check"),
    api("/api/status"),
  ]);
  const admin = authCheck.authenticated;
  const users = status.users ?? [];
  const mailbox = admin && users.some((u: any) => u.email === requested)
    ? requested
    : authCheck.mailbox || users[0]?.email || "olibuijr@olibuijr.com";
  const webmail = await api(`/api/webmail?email=${encodeURIComponent(mailbox)}&folder=Inbox`);
  const publicStatus = admin ? status : { hostname: status.hostname, users: users.filter((u: any) => u.email === mailbox) };
  return { status: publicStatus, webmail, admin, sessionMailbox: mailbox };
}