AkurAI Build
Menu

Public repository / b4fe8663e5af6be441dafce506787af75d7ec4f1

AkurAI-Mail / src/routes/api/actions/+server.ts

Latest change 1b41bcdd9e7d715e0117aa1edf8d3712789587b6 - feat: add domain management admin UI by Ólafur Búi Ólafsson

import { json } from "@sveltejs/kit";
import { akurai } from "$lib/server";

export function GET() {
  return json({ ok: false, error: "method not allowed" }, { status: 405 });
}

export async function POST({ request }) {
  const body = await request.json();
  if (body.action === "add-user") return json(await akurai(["add-user", body.email]));
  if (body.action === "set-password") return json(await akurai(["set-password", body.email]));
  if (body.action === "add-alias") return json(await akurai(["add-alias", body.alias, body.target]));
  if (body.action === "anti-spam-config") return json(await akurai(["anti-spam-config", JSON.stringify(body.policy ?? {})]));
  if (body.action === "anti-spam-scan") return json(await akurai(["anti-spam-scan", ...(body.email ? [body.email] : [])]));
  if (body.action === "domain-add") return json(await akurai(["domain-add", body.domain]));
  if (body.action === "domain-check") return json(await akurai(["domain-check", body.domain]));
  if (body.action === "domain-remove") return json(await akurai(["domain-remove", body.domain]));
  return json({ ok: false, error: "unknown action" }, { status: 400 });
}