2.3 KiB
2.3 KiB
BACKEND_V1_CONSOLIDATION.md
Doel
Consolidatie van de huidige backend v1 contracten en beperkingen.
Huidige endpoints
Directe endpoints (geen task-creatie):
GET /api/browsePOST /api/files/mkdirPOST /api/files/renamePOST /api/files/deleteGET /api/tasksGET /api/tasks/{task_id}
Task-based create endpoints:
POST /api/files/copyPOST /api/files/move
Semantiek per endpoint
GET /api/browse
- Browse van een directory binnen whitelist roots.
- Hidden files standaard verborgen, optioneel via
show_hidden=true.
POST /api/files/mkdir
- Maakt directory op exact
parent_path + name. - Geen impliciete pad-normalisatie buiten
path_guardvalidatie.
POST /api/files/rename
- Hernoemt binnen dezelfde parent directory.
- Geen verborgen move naar andere map.
POST /api/files/delete
- Verwijdert file direct.
- Verwijdert alleen lege directory.
- Non-empty directory => conflict.
POST /api/files/copy
- File-only copy.
destinationis volledig doelpad (geen "copy into directory").- Task wordt aangemaakt (
202,task_id,queued) en daarna uitgevoerd.
POST /api/files/move
- File-only move.
destinationis volledig doelpad.- Task wordt aangemaakt (
202,task_id,queued) en daarna uitgevoerd. - Same-root: native move.
- Cross-root: copy + delete binnen dezelfde task.
GET /api/tasks
- Lijst van tasks, gesorteerd op
created_at DESC. - Item bevat minimaal:
id,operation,status,source,destination,created_at,finished_at.
GET /api/tasks/{task_id}
- Detailstatus inclusief progress/foutvelden.
- Statusset:
queued,running,completed,failed.
Foutmodel per endpointgroep
Browse/file-validatie
invalid_requestpath_traversal_detectedpath_outside_whitelistinvalid_root_aliaspath_not_foundtype_conflictalready_existsdirectory_not_empty(delete)
Task create runtime
- validatiefouten vóór task-creatie: directe API-fout, geen task
- runtime-fouten tijdens task-uitvoering: task naar
failedmetio_error
Tasks read
task_not_foundbij onbekend task id
Expliciete v1-beperkingen
- copy: file-only
- move: file-only
- delete: alleen file + lege directory
- geen recursive delete
- geen directory copy/move
- geen rollback
- geen cancel/retry
- geen batch-operaties