mc-dashboard/app/api/mods/resolve/route.ts

29 lines
776 B
TypeScript
Raw Permalink Normal View History

import { NextRequest, NextResponse } from "next/server";
import { auth } from "@/lib/auth";
import { resolveDependencies } from "@/lib/modrinth";
export async function POST(req: NextRequest) {
const session = await auth();
if (!session) {
return NextResponse.json({ error: "Unauthorized" }, { status: 403 });
}
const { projectIds, titles } = await req.json();
if (!Array.isArray(projectIds) || projectIds.length === 0) {
return NextResponse.json(
{ error: "No mods selected" },
{ status: 400 }
);
}
try {
const result = await resolveDependencies(projectIds, titles || {});
return NextResponse.json(result);
} catch (e) {
return NextResponse.json(
{ error: (e as Error).message },
{ status: 500 }
);
}
}