Extend PATCH /category/:id to also move (parentId) alongside rename.

PATCH now accepts name (rename, re-slugify) and/or parentId (move under a
new parent, cycle/self guarded), merging both results. Renames the PATCH
docs file to category/update.md and regenerates API docs.
This commit is contained in:
seb
2026-08-03 03:05:45 +02:00
parent faefa3b9cf
commit c8f6936aa6
5 changed files with 82 additions and 34 deletions

View File

@@ -0,0 +1,48 @@
# `PATCH /category/{id}`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Update category (rename or move)
Updates a category the user is authorized for.
`name` renames the category (re-slugifies in the company default language).
`parentId` moves it under a new parent (cycle/self → `Invalid parent`).
Either `name` or `parentId` (or both) is required.
## Path parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `id` | yes | integer | Category id |
## Body (JSON)
```json
{
"parentId": 3
}
```
## Response `200`
Updated category (renamed and/or moved)
```json
{
"category": { … }
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | Validation error (name or parentId required, or invalid parent) — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 403 | Not authorized — `{"error":"…"}` |
| 404 | Category not found — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._