.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).
56 lines
1.5 KiB
Markdown
56 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```json
|
|
{
|
|
"library_id": "550e8400-e29b-41d4-a716-446655440000",
|
|
"recursive": true,
|
|
"force": false
|
|
}
|
|
```
|
|
|
|
## Response (202 Accepted)
|
|
|
|
```json
|
|
{
|
|
"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 |
|