docs: update delete endpoint reference (#1940)

## Summary

Update the `/delete` endpoint reference to match the current web server
handler.

## Details

The endpoint docs still described a `type` form field and the old
`Deleted successfully` response. The handler now accepts either `path`
for a single item or `paths` as a JSON array for multi-delete, infers
file versus folder from the SD card entry, and returns `All items
deleted successfully` when all deletes complete.

This updates the curl examples, parameter table, success response, and
error response list to match the implemented behavior.

## Validation

- Compared the documented parameters and response strings with
`CrossPointWebServer::handleDelete()`
- `git diff --check`
This commit is contained in:
Danila Yudin
2026-05-19 17:39:04 -05:00
committed by GitHub
parent beb7876ccf
commit 082b5f295b
+19 -18
View File
@@ -204,40 +204,41 @@ Folder created: NewFolder
### POST `/delete` - Delete File or Folder ### POST `/delete` - Delete File or Folder
Deletes a file or folder from the SD card. Deletes one or more files or empty folders from the SD card.
**Request:** **Request:**
```bash ```bash
# Delete a file # Delete a file
curl -X POST -d "path=/Books/mybook.epub&type=file" http://crosspoint.local/delete curl -X POST -d "path=/Books/mybook.epub" http://crosspoint.local/delete
# Delete an empty folder # Delete an empty folder
curl -X POST -d "path=/OldFolder&type=folder" http://crosspoint.local/delete curl -X POST -d "path=/OldFolder" http://crosspoint.local/delete
# Delete multiple items
curl -X POST -d 'paths=["/Books/old.epub","/OldFolder"]' http://crosspoint.local/delete
``` ```
**Form Parameters:** **Form Parameters:**
| Parameter | Required | Default | Description | | Parameter | Required | Default | Description |
| --------- | -------- | ------- | -------------------------------- | | --------- | -------- | ------- | ----------- |
| `path` | Yes | - | Path to the item to delete | | `path` | Yes, unless `paths` is provided | - | Path to one item to delete |
| `type` | No | `file` | Type of item: `file` or `folder` | | `paths` | Yes, unless `path` is provided | - | JSON array of paths to delete |
**Response (200 OK):** **Response (200 OK):**
``` ```text
Deleted successfully All items deleted successfully
``` ```
**Error Responses:** **Error Responses:**
| Status | Body | Cause | | Status | Body | Cause |
| ------ | --------------------------------------------- | ----------------------------- | | ------ | ------------------------------------------- | ---------------------------------- |
| 400 | `Missing path` | `path` parameter not provided | | 400 | `Missing "path" or "paths" argument` | Neither parameter was provided |
| 400 | `Cannot delete root directory` | Attempted to delete `/` | | 400 | `Provide either 'path' or 'paths', not both` | Both delete parameters were sent |
| 400 | `Folder is not empty. Delete contents first.` | Non-empty folder | | 400 | `Invalid paths format` | `paths` was not valid JSON |
| 403 | `Cannot delete system files` | Hidden file (starts with `.`) | | 400 | `No paths provided` | `paths` was an empty JSON array |
| 403 | `Cannot delete protected items` | Protected system folder | | 500 | `Failed to delete some items: ...` | One or more paths could not be deleted |
| 404 | `Item not found` | Path does not exist |
| 500 | `Failed to delete item` | SD card error |
**Protected Items:** **Protected Items:**
- Files/folders starting with `.` - Files/folders starting with `.`