.IMAGE — extensions removed from AllowedExtensions (scan gate), bookExtensions, MimeTypes and sync/format.go maps: .doc/.lit files are no longer scanned or indexed. classifyFormatGroup gains the RTF and PDB reflowable arms that were missing when those rungs shipped (rows only reclassify on creation). Scanner docs updated. DOC + LIT have no credible JS tooling (mammoth is docx-only; LIT needs LZX and its DRM variants are dead) and text-extraction-only support would misrepresent what the reader can do. Verified: probe .doc/.lit files watched but never scanned; probe .txt control scanned; TestClassifyFormatGroup extended and passing. Docs change granted in-session by the user (extensions + format docs).
1.5 KiB
1.5 KiB
Scan Library
Initiate a one-time scan of a library for ebooks, manga, or comics.
Endpoint: POST /api/scanner/scan
Auth: Required (Admin only)
Content-Type: application/json
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| library_id | string (UUID) | Yes | Library UUID to scan (supports ebooks, manga, and comics) |
| recursive | boolean | No | Scan subdirectories recursively (default: true) |
| force | boolean | No | Force rescan of existing files (default: false) |
Supported Formats
The scanner automatically detects and processes files based on the library type:
Ebooks: .epub, .pdf, .mobi, .txt, .rtf, .docx, .fb2, .pdb
Comics: .cbz, .cbr, .cb7, .cbt, .pdf
Manga: .cbz, .cbr, .png, .jpg, .jpeg, .gif, .bmp, .webp
Example Request
{
"library_id": "550e8400-e29b-41d4-a716-446655440000",
"recursive": true,
"force": false
}
Response (202 Accepted)
{
"message": "Scan initiated successfully",
"job_id": "uuid",
"library_id": "uuid",
"status": "pending"
}
Error Responses
| Code | Description |
|---|---|
| 400 | Invalid request data |
| 401 | Invalid or expired token |
| 403 | User does not have admin privileges |
| 404 | Library not found |