chore(bruno): add multi-library dev setup with scan-all and folder requests

Update NewDevDBSetup collection to create Ebook, Comic, and Manga
libraries with separate IDs (ebook_library_id, comic_library_id,
manga_library_id) instead of a single library_id.

- Fix CreateComicLibrary and CreateMangaLibrary to use correct
  names, descriptions, and types instead of duplicating Ebook values
- Update NewDB.sh to run the full setup sequence: register user,
  create all three libraries, add folders, then scan all
- Add AddEbookLibraryFolder, AddComicLibraryFolder, and
  AddMangaLibraryFolder requests with per-type subfolder paths
- Add ScanAllLibraries request using bru.sendRequest() to scan
  each library sequentially via the /api/scanner/scan endpoint
- Update Get Libraries (Admin) to save all three library IDs
- Update List Media Items requests to use ebook_library_id
- Rename library_id to ebook_library_id in Create Library and
  Add Library Folder requests
- Add comic_library_id and manga_library_id to environment
This commit is contained in:
2026-04-19 18:08:39 -04:00
parent afeb3f5b45
commit 58a30b6561
14 changed files with 260 additions and 98 deletions
+2 -2
View File
@@ -5,12 +5,12 @@ info:
http:
method: POST
url: "{{base_url}}/api/libraries/{{library_id}}/folders"
url: "{{base_url}}/api/libraries/{{ebook_library_id}}/folders"
body:
type: json
data: |-
{
"folder_path": "{{library_folder}}"
"folder_path": "{{library_folder}}/Ebooks"
}
auth: inherit
+1 -1
View File
@@ -26,7 +26,7 @@ runtime:
const id = responseBody.id;
if (id) {
bru.setEnvVar("library_id", id, { persist: true });
bru.setEnvVar("ebook_library_id", id, { persist: true });
console.log("Library ID saved:", id);
}
+33 -7
View File
@@ -18,15 +18,41 @@ runtime:
function onResponse(res) {
try {
const responseBody = res.getBody();
const id = responseBody.data[0].id;
if (id) {
bru.setEnvVar("library_id", id, { persist: true });
console.log("Library ID saved:", id);
let ebook_id
let comic_id
let manga_id
if (res.status === 200) {
for (var lib of responseBody.data) {
if (lib.name.includes("Ebook")) ebook_id = lib.id
if (lib.name.includes("Comic")) comic_id = lib.id
if (lib.name.includes("Manga")) manga_id = lib.id
}
}
if (!id) {
console.log("No id found in response.");
if (ebook_id && ebook_id !== "") {
bru.setEnvVar("ebook_library_id", ebook_id, { persist: true });
console.log("Ebook Library ID saved:", ebook_id);
}
if (comic_id && comic_id !== "") {
bru.setEnvVar("comic_library_id", comic_id, { persist: true });
console.log("Comic Library ID saved:", comic_id);
}
if (manga_id && manga_id !== "") {
bru.setEnvVar("manga_library_id", manga_id, { persist: true });
console.log("Manga Library ID saved:", manga_id);
}
if (!ebook_id || ebook_id === "") {
console.log("No Ebook id found in response.");
}
if (!comic_id || comic_id === "") {
console.log("No Comic id found in response.");
}
if (!manga_id || manga_id === "") {
console.log("No Manga id found in response.");
}
} catch (error) {
console.error("Error in post-response script:", error.message);