Add unit API and article unitamount/unitSi patch.

Units use the selected company; article PATCH accepts name/unitamount/unitSi.
This commit is contained in:
seb
2026-08-01 06:15:30 +02:00
parent aba9779161
commit bfb1d8762a
13 changed files with 744 additions and 29 deletions

View File

@@ -5,8 +5,8 @@ Protected. Requires a valid session cookie (`credentials: 'include'`).
Replace POS prices by SKU
Replace-all prices for the company POS customer group.
Each entry: `price` (gross), `tax` (rate %, ensured via tax.ensure), optional `minmultiplier` (default 1).
Stored as net = gross / (1 + tax/100). Empty `prices` clears all POS prices. Returns the same shape as GET by SKU.
Each entry: `price` (net), `tax` (rate, ensured via tax.ensure), optional `minmultiplier` (default 1).
Empty `prices` clears all POS prices. Returns the same shape as GET by SKU.
## Path parameters
@@ -21,11 +21,11 @@ Stored as net = gross / (1 + tax/100). Empty `prices` clears all POS prices. Ret
{
"prices": [
{
"price": 11.9,
"price": 10.5,
"tax": 19
},
{
"price": 99,
"price": 9.9,
"tax": 19,
"minmultiplier": 10
}

View File

@@ -4,7 +4,9 @@ Protected. Requires a valid session cookie (`credentials: 'include'`).
Update article by SKU
Updates an article name by SKU; returns the same detail shape as GET.
Patches article fields. At least one of `name`, `unitamount`, `unitSi` required.
`unitSi` must already exist for the company. Returns the same detail shape as GET.
## Path parameters
@@ -16,7 +18,8 @@ Updates an article name by SKU; returns the same detail shape as GET.
```json
{
"name": "Updated name"
"unitamount": 0.24,
"unitSi": "l"
}
```
@@ -34,10 +37,10 @@ Updated article detail
| Status | Description |
|--------|-------------|
| 400 | Validation error — `{"error":"…"}` |
| 400 | Validation error (Name required / Invalid unitamount) — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 403 | Not authorized — `{"error":"…"}` |
| 404 | Article not found — `{"error":"…"}` |
| 404 | Article or unit not found — `{"error":"…"}` |
---