add(chore): bulk requests

This commit is contained in:
Steppenstreuner
2026-08-28 13:37:33 +02:00
parent 262700ee45
commit 0299895869
8 changed files with 143 additions and 19 deletions
+31 -12
View File
@@ -182,18 +182,36 @@ $("#manual-form").addEventListener("submit", async (e) => {
const data = Object.fromEntries(new FormData(e.target));
if (!data.library_id) { toast("Keine Library gewählt", true); return; }
try {
await api("/api/requests", {
method: "POST",
body: JSON.stringify({
library_id: parseInt(data.library_id),
title: data.title, authors: data.authors, series: data.series,
external_id: data.external_id,
year: data.year ? parseInt(data.year) : null,
volume: data.volume ? parseInt(data.volume) : null,
}),
});
if (data.volume_to) {
if (!data.volume) {
toast("Für Bulk bitte Start-Band angeben", true);
return;
}
const created = await api("/api/requests/bulk", {
method: "POST",
body: JSON.stringify({
library_id: parseInt(data.library_id),
series: data.series || data.title, authors: data.authors,
volume_from: parseInt(data.volume),
volume_to: parseInt(data.volume_to),
year: data.year ? parseInt(data.year) : null,
}),
});
toast(`${created.length} Anfragen angelegt`);
} else {
await api("/api/requests", {
method: "POST",
body: JSON.stringify({
library_id: parseInt(data.library_id),
title: data.title, authors: data.authors, series: data.series,
external_id: data.external_id,
year: data.year ? parseInt(data.year) : null,
volume: data.volume ? parseInt(data.volume) : null,
}),
});
toast("Anfrage angelegt");
}
e.target.reset();
toast("Anfrage angelegt");
} catch (err) { toast(err.message, true); }
});
@@ -241,8 +259,9 @@ let missingReqs = [];
$("#scan-btn").addEventListener("click", async () => {
$("#scan-info").textContent = "Scanne…";
try {
const split = $("#split-dirs").checked;
const [scan, reqs] = await Promise.all([
api("/api/import/scan"),
api("/api/import/scan?split_dirs=" + split),
api("/api/requests?status=missing"),
]);
scanItems = scan.items;