From fa680b24d1123f9de27fc752943e43c86c692314 Mon Sep 17 00:00:00 2001 From: UMTS at Teleco Date: Sun, 15 Feb 2026 15:53:50 +0100 Subject: JAYSON DERULO --- query/delete.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 query/delete.md (limited to 'query/delete.md') diff --git a/query/delete.md b/query/delete.md new file mode 100644 index 0000000..db55292 --- /dev/null +++ b/query/delete.md @@ -0,0 +1,46 @@ +# Delete + +[back to query](README.md) /// [home](../README.md) + +Remove rows from a table. + +## Request + +```json +{ + "action": "delete", + "table": "items", + "filter": { + "column": "id", + "op": "=", + "value": 42 + } +} +``` + +## Fields + +| Field | Type | Required | Notes | +|----------|--------|----------|-------------------------| +| `action` | string | yes | must be `"delete"` | +| `table` | string | yes | target table | +| `where` | object | yes* | simple key value filter | +| `filter` | object | yes* | structured filter | + +*at least one of `where` or `filter` is required. no unfiltered deletes lol. + +## Response + +```json +{ + "success": true, + "rows_affected": 1 +} +``` + +## Behaviors + +- WHERE clause is **mandatory**. same as update, no blanket deletes allowed. jsonderulo doesnt want you nuking entire tables on accident +- ownership scoping should be applied based on your permission level +- limit should be applied and capped to your max +- you need write permission on the table (`rw`, `rwa`, `rwo`, `rwg`) -- cgit v1.2.3-70-g09d2