This commit is contained in:
seb
2026-10-31 20:28:37 +01:00
parent 8fece9d916
commit 72d05a34d0
27 changed files with 1546 additions and 181 deletions

View File

@@ -33,13 +33,11 @@ State recorded
"token": "…",
"pairingpin": "…",
"pairedAt": "…",
"clientserial": "…",
"clientmodel": "…",
"clientstate": "…",
"agentversion": "…",
"lastseenAt": "…",
"updatedAt": "…",
"sort": 1
"sort": 1,
"enabled": true
}
}
```

View File

@@ -0,0 +1,46 @@
# `GET /agentprinter`
Protected. Requires a valid session cookie (`credentials: 'include'`).
List agent printers
Lists agent printers for the authenticated user's selected company,
optionally filtered by printer agent ID.
## Query parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `printeragentId` | no | integer | Optional printer agent ID filter |
## Response `200`
List of agent printers
```json
{
"agentprinters": [
{
"id": 1,
"printeragentId": 1,
"type": "…",
"model": "…",
"serial": "…",
"enabled": true,
"sort": 1
}
]
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | No company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,35 @@
# `DELETE /agentprinter/{id}`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Delete agent printer
Deletes an agent printer from the selected company.
## Path parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `id` | yes | integer | |
## Signals
On success, emits SSE signal: `agentprinter` (see [`GET /events`](../events.md)).
## Response `204`
Agent printer deleted
_No content_
## Errors
| Status | Description |
|--------|-------------|
| 400 | Invalid ID or no company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 404 | Agent printer not found — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,43 @@
# `GET /agentprinter/{id}`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Get agent printer
Retrieves a single agent printer by ID.
## Path parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `id` | yes | integer | |
## Response `200`
Agent printer details
```json
{
"agentprinter": {
"id": 1,
"printeragentId": 1,
"type": "…",
"model": "…",
"serial": "…",
"enabled": true,
"sort": 1
}
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | Invalid ID or no company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 404 | Agent printer not found — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,62 @@
# `PATCH /agentprinter/{id}`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Update agent printer
Updates enabled and/or display order (sort) of an agent printer.
## Path parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `id` | yes | integer | |
## Body (JSON)
| Field | Required | Type | Description |
|-------|----------|------|-------------|
| `enabled` | no | boolean | |
| `sort` | no | integer | |
```json
{
"enabled": true,
"sort": 1
}
```
## Signals
On success, emits SSE signal: `agentprinter` (see [`GET /events`](../events.md)).
## Response `200`
Updated agent printer
```json
{
"agentprinter": {
"id": 1,
"printeragentId": 1,
"type": "…",
"model": "…",
"serial": "…",
"enabled": true,
"sort": 1
}
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | Invalid input or no company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 404 | Agent printer not found — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,51 @@
# `PUT /agentprinter/order`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Reorder agent printers
Reorders agent printers for a specific printer agent within the selected company.
## Body (JSON)
| Field | Required | Type | Description |
|-------|----------|------|-------------|
| `printeragentId` | yes | integer | |
| `agentprinterIds` | yes | integer[] | |
```json
{
"printeragentId": 1,
"agentprinterIds": [
1
]
}
```
## Signals
On success, emits SSE signal: `agentprinter` (see [`GET /events`](../events.md)).
## Response `200`
Applied order
```json
{
"agentprinterIds": [
1
]
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | Invalid order or no company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -46,6 +46,8 @@ emits `{ sender, brandId }`.
| `propertyname` | `{}` | `POST /propertyname`, `PUT /propertyname/order`, `PATCH /propertyname/{id}`, `DELETE /propertyname/{id}` |
| `labeltemplate` | `{}` | `POST /labeltemplate`, `PUT /labeltemplate/{id}`, `PATCH /labeltemplate/{id}`, `DELETE /labeltemplate/{id}` |
| `printer` | `{}` | `POST /printer`, `PUT /printer/{id}`, `PATCH /printer/{id}`, `DELETE /printer/{id}` |
| `printeragent` | `{}` | `PUT /printeragent`, `PATCH /printeragent/{id}`, `DELETE /printeragent/{id}`, printer agent connect/disconnect/state |
| `agentprinter` | `{}` | `PATCH /agentprinter/{id}`, `PUT /agentprinter/order`, `DELETE /agentprinter/{id}`, new printer discovery |
| `warehouse` | `{}` | `POST /warehouse`, `PUT /warehouse/{id}`, `PATCH /warehouse/{id}`, `DELETE /warehouse/{id}` |
| `supplier` | `{}` | `POST /supplier`, `PATCH /supplier/{id}`, `DELETE /supplier/{id}` |
| `vfs` | `{}` | VFS uploads and filesystem mutations such as `POST /vfs/upload`, `POST /vfs/mkdir`, `POST /vfs/rename`, `PUT /vfs/{*path}`, `DELETE /vfs/{*path}` |

View File

@@ -0,0 +1,37 @@
# `GET /printer/{id}/state`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Get live state for a printer
Retrieves live operational status for a single printer by configured printer ID,
serial number, or device identifier for the authenticated user's selected company.
## Path parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `id` | yes | string | Configured printer ID, serial number, or device identifier |
## Response `200`
Live printer state
```json
{
"printer": {}
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | No company selected or invalid ID — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
| 404 | Printer not found — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,39 @@
# `GET /printer/state`
Protected. Requires a valid session cookie (`credentials: 'include'`).
Get live printer states
Retrieves real-time operational status and telemetry for all discovered printers
reported by active printer agents for the authenticated user's selected company.
## Query parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `serial` | no | string | Optional serial number filter |
| `agentId` | no | integer | Optional agent ID filter |
## Response `200`
Live printer states
```json
{
"printers": [
{}
]
}
```
## Errors
| Status | Description |
|--------|-------------|
| 400 | No company selected — `{"error":"…"}` |
| 401 | Unauthorized — `{"error":"…"}` |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -20,13 +20,11 @@ Printer agent list
"token": "…",
"pairingpin": "…",
"pairedAt": "…",
"clientserial": "…",
"clientmodel": "…",
"clientstate": "…",
"agentversion": "…",
"lastseenAt": "…",
"updatedAt": "…",
"sort": 1
"sort": 1,
"enabled": true
}
]
}

View File

@@ -14,6 +14,7 @@ The pairingpin is randomly generated server-side and returned in the response.
|-------|----------|------|-------------|
| `name` | yes | string | |
| `sort` | no | integer | |
| `enabled` | no | boolean | |
```json
{
@@ -34,13 +35,11 @@ Created printer agent with generated pairingpin
"token": "…",
"pairingpin": "…",
"pairedAt": "…",
"clientserial": "…",
"clientmodel": "…",
"clientstate": "…",
"agentversion": "…",
"lastseenAt": "…",
"updatedAt": "…",
"sort": 1
"sort": 1,
"enabled": true
}
}
```

View File

@@ -18,11 +18,13 @@ Updates name and/or display order (sort) of a printer agent.
|-------|----------|------|-------------|
| `name` | no | string | |
| `sort` | no | integer | |
| `enabled` | no | boolean | |
```json
{
"name": "…",
"sort": 1
"sort": 1,
"enabled": true
}
```
@@ -39,13 +41,11 @@ Updated printer agent
"token": "…",
"pairingpin": "…",
"pairedAt": "…",
"clientserial": "…",
"clientmodel": "…",
"clientstate": "…",
"agentversion": "…",
"lastseenAt": "…",
"updatedAt": "…",
"sort": 1
"sort": 1,
"enabled": true
}
}
```