Finished API integration

This commit is contained in:
2025-10-30 21:24:32 +03:30
parent 305170f185
commit 03d13d432a
11 changed files with 636 additions and 339 deletions
+32
View File
@@ -0,0 +1,32 @@
import { getMagnetUrl, parseMagnet } from "~~/server/utils/magnetParser";
import { addTrackers, getTrackers } from "~~/server/utils/trackerHelper";
export default defineEventHandler(async (event) => {
const body = await readBody<{ magnet?: string }>(event);
const magnetUrl = body?.magnet;
if (!magnetUrl) {
throw createError({
statusCode: 400,
statusMessage: "Missing magnet URL",
});
}
try {
const maxedMagnet = addTrackers(
parseMagnet(magnetUrl),
await getTrackers()
);
return {
totalTrackers: maxedMagnet.tr?.length,
name: maxedMagnet.dn,
id: maxedMagnet.xt.slice(9),
maxedMagnet: getMagnetUrl(maxedMagnet),
};
} catch (error: any) {
throw createError({
statusCode: 400,
statusMessage: error.message || "Invalid magnet URL",
});
}
});