50 lines
1.1 KiB
Markdown
50 lines
1.1 KiB
Markdown
# MKDIR_RENAME_CONSOLIDATION.md
|
|
|
|
## Gedragsbevestiging
|
|
|
|
- `POST /api/files/rename` werkt alleen binnen dezelfde parent directory.
|
|
- De target wordt opgebouwd als `parent(source_path) + new_name`.
|
|
- `rename` laat geen verborgen move toe.
|
|
- `new_name` accepteert geen padsegmenten (`/`, `\\`, `..`), dus geen directorywissel.
|
|
- `validate_name` wordt toegepast op:
|
|
- `mkdir.name`
|
|
- `rename.new_name`
|
|
|
|
## Error model voor mkdir/rename
|
|
|
|
Standaard error shape:
|
|
|
|
```json
|
|
{
|
|
"error": {
|
|
"code": "...",
|
|
"message": "...",
|
|
"details": {"...": "..."}
|
|
}
|
|
}
|
|
```
|
|
|
|
Ondersteunde codes in deze slice:
|
|
|
|
- `invalid_request`
|
|
- ongeldige naam (`..`, leeg, of met `/`/`\\`)
|
|
- HTTP `400`
|
|
- `path_traversal_detected`
|
|
- traversal in aangeleverd pad (`../`)
|
|
- HTTP `403`
|
|
- `path_not_found`
|
|
- bronpad of parent pad bestaat niet
|
|
- HTTP `404`
|
|
- `already_exists`
|
|
- doelpad bestaat al (file of directory)
|
|
- HTTP `409`
|
|
- `io_error`
|
|
- onverwachte filesystem fout tijdens operatie
|
|
- HTTP `500`
|
|
|
|
## Scopebevestiging
|
|
|
|
Deze consolidatie wijzigt niet:
|
|
- browse endpoint
|
|
- delete/copy/move/tasks/frontend
|