mirror of
https://github.com/mmahdium/TorrentMax.git
synced 2026-09-27 23:11:42 +03:30
34 lines
914 B
TypeScript
34 lines
914 B
TypeScript
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),
|
|
};
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
} catch (error: any) {
|
|
throw createError({
|
|
statusCode: 400,
|
|
statusMessage: error.message || "Invalid magnet URL",
|
|
});
|
|
}
|
|
});
|