3.6 KiB
History API
Endpunkte für die Job-Histoire, Dateimanagement und Orphan-Import.
GET /api/history
Gibt eine Liste aller Jobs zurück, optional gefiltert.
Query-Parameter:
| Parameter | Typ | Beschreibung |
|---|---|---|
status |
string | Filtert nach Status (z.B. FINISHED, ERROR) |
search |
string | Sucht in Filmtiteln |
Beispiel:
GET /api/history?status=FINISHED&search=Inception
Response:
{
"jobs": [
{
"id": 42,
"status": "FINISHED",
"title": "Inception",
"imdb_id": "tt1375666",
"omdb_year": "2010",
"omdb_type": "movie",
"omdb_poster": "https://...",
"raw_path": "/mnt/nas/raw/Inception_t00.mkv",
"output_path": "/mnt/nas/movies/Inception (2010).mkv",
"created_at": "2024-01-15T10:00:00.000Z",
"updated_at": "2024-01-15T12:30:00.000Z"
}
],
"total": 1
}
GET /api/history/:id
Gibt Detail-Informationen für einen einzelnen Job zurück.
URL-Parameter: id – Job-ID
Query-Parameter:
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
includeLogs |
boolean | false |
Log-Inhalte einschließen |
includeLiveLog |
boolean | false |
Aktuellen Live-Log einschließen |
Response:
{
"id": 42,
"status": "FINISHED",
"title": "Inception",
"imdb_id": "tt1375666",
"encode_plan": { ... },
"makemkv_output": { ... },
"mediainfo_output": { ... },
"handbrake_log": "/path/to/log",
"logs": {
"handbrake": "Encoding: task 1 of 1, 100.0%\n..."
},
"created_at": "2024-01-15T10:00:00.000Z",
"updated_at": "2024-01-15T12:30:00.000Z"
}
GET /api/history/database
Gibt alle rohen Datenbankzeilen zurück (Debug-Ansicht).
Response:
{
"jobs": [ { "id": 1, "status": "FINISHED", ... } ],
"total": 15
}
GET /api/history/orphan-raw
Findet Raw-Ordner, die nicht als Jobs in der Datenbank registriert sind.
Response:
{
"orphans": [
{
"path": "/mnt/nas/raw/UnknownMovie_2023-12-01",
"size": "45.2 GB",
"modifiedAt": "2023-12-01T15:00:00.000Z",
"files": ["t00.mkv", "t01.mkv"]
}
]
}
POST /api/history/orphan-raw/import
Importiert einen Orphan-Raw-Ordner als Job in die Datenbank.
Request:
{
"path": "/mnt/nas/raw/UnknownMovie_2023-12-01"
}
Response:
{
"ok": true,
"jobId": 99,
"message": "Orphan-Ordner als Job importiert"
}
Nach dem Import kann dem Job über /api/history/:id/omdb/assign Metadaten zugewiesen werden.
POST /api/history/:id/omdb/assign
Weist einem bestehenden Job OMDb-Metadaten nachträglich zu.
URL-Parameter: id – Job-ID
Request:
{
"imdbId": "tt1375666",
"title": "Inception",
"year": "2010",
"type": "movie",
"poster": "https://..."
}
Response:
{ "ok": true }
POST /api/history/:id/delete-files
Löscht die Dateien eines Jobs (Raw und/oder Output), behält den Job-Eintrag.
URL-Parameter: id – Job-ID
Request:
{
"deleteRaw": true,
"deleteOutput": false
}
Response:
{
"ok": true,
"deleted": {
"raw": "/mnt/nas/raw/Inception_t00.mkv",
"output": null
}
}
POST /api/history/:id/delete
Löscht den Job-Eintrag aus der Datenbank, optional auch die Dateien.
URL-Parameter: id – Job-ID
Request:
{
"deleteFiles": true
}
Response:
{ "ok": true, "message": "Job gelöscht" }
!!! warning "Unwiderruflich" Das Löschen von Jobs und Dateien ist nicht rückgängig zu machen.