Menu
Public repository / 1b41bcdd9e7d715e0117aa1edf8d3712789587b6
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 });
}