Items and Assets API
API reference pro endpointy správy items (typových karet) a assets (konkrétních kusů).
Přehled
Items API poskytuje endpointy pro správu typových karet vybavení a konkrétních fyzických kusů (assets).
Oprávnění: Většina endpointů vyžaduje autentizaci. CRUD operace jsou dostupné pouze Adminům.
Endpointy
GET /items
Seznam všech items s paginací.
Oprávnění: Bearer token (vyžaduje autentizaci)
Query parametry:
page(volitelné): Číslo stránky (výchozí: 1)pageSize(volitelné): Počet položek na stránku (výchozí: 50)
Response:
{
"success": true,
"data": {
"items": [
{
"id": 1,
"name": "Microphone Shure SM58",
"category_id": 5,
"is_serialized": 1,
"notes": "Wireless microphone",
"created_at": 1704067200
}
],
"pagination": {
"total": 100,
"page": 1,
"pageSize": 50,
"totalPages": 2
}
}
}
GET /items/:id
Získání detailu itemu.
Oprávnění: Bearer token (vyžaduje autentizaci)
Response:
{
"success": true,
"data": {
"id": 1,
"name": "Microphone Shure SM58",
"category_id": 5,
"is_serialized": 1,
"notes": "Wireless microphone",
"created_at": 1704067200
}
}
POST /items
Vytvoření nového itemu.
Oprávnění: Admin
Request:
{
"name": "Microphone Shure SM58",
"category_id": 5,
"is_serialized": true,
"notes": "Wireless microphone"
}
Response:
{
"success": true,
"data": {
"id": 1,
"name": "Microphone Shure SM58",
"category_id": 5,
"is_serialized": 1,
"notes": "Wireless microphone",
"created_at": 1704067200
}
}
PUT /items/:id
Aktualizace itemu.
Oprávnění: Admin
Request:
{
"name": "Microphone Shure SM58 Updated",
"category_id": 5,
"is_serialized": true,
"notes": "Updated notes"
}
DELETE /items/:id
Smazání itemu.
Oprávnění: Admin
Response:
{
"success": true,
"data": {
"message": "Item deleted"
}
}
GET /categories
Seznam všech kategorií.
Oprávnění: Bearer token (vyžaduje autentizaci)
Response:
{
"success": true,
"data": {
"categories": [
{
"id": 1,
"name": "Mikrofony",
"created_at": 1704067200,
"updated_at": 1704067200
},
{
"id": 2,
"name": "Kabely",
"created_at": 1704067200,
"updated_at": 1704067200
}
]
}
}
GET /assets
Seznam všech assets s paginací.
Oprávnění: Bearer token (vyžaduje autentizaci)
Query parametry:
page(volitelné): Číslo stránky (výchozí: 1)pageSize(volitelné): Počet položek na stránku (výchozí: 50)
Response:
{
"success": true,
"data": {
"assets": [
{
"id": 1,
"item_id": 1,
"item_name": "Microphone Shure SM58",
"scan_id": 12345,
"functional_status": "OK_100",
"availability_status": "AVAILABLE",
"owner_id": null,
"weight_kg": 2,
"defects": null,
"location": "Warehouse A",
"created_at": 1704067200
}
],
"pagination": {
"total": 50,
"page": 1,
"pageSize": 50,
"totalPages": 1
}
}
}
Poznámka: Response obsahuje také item_name (z JOIN s items tabulkou), owner_id, weight_kg, a defects (z notes pole).
GET /assets/scan/:scan_id
Vyhledání assetu podle scan_id (QR kódu).
Oprávnění: Bearer token (vyžaduje autentizaci)
Response:
{
"success": true,
"data": {
"id": 1,
"item_id": 1,
"item_name": "Microphone Shure SM58",
"scan_id": 12345,
"functional_status": "OK_100",
"availability_status": "AVAILABLE",
"owner_id": null,
"weight_kg": 2,
"defects": null,
"location": "Warehouse A",
"created_at": 1704067200
}
}
POST /assets
Vytvoření nového assetu.
Oprávnění: Admin
Request:
{
"item_id": 1,
"scan_id": 12345,
"functional_status": "OK_100",
"availability_status": "AVAILABLE",
"owner_id": null,
"weight_kg": 2,
"notes": "Optional notes or defects",
"location": "Warehouse A"
}
PUT /assets/:id
Aktualizace assetu.
Oprávnění: Admin
Request:
{
"functional_status": "OK_50",
"availability_status": "IN_USE",
"owner_id": 5,
"weight_kg": 2,
"notes": "Updated notes",
"location": "Event Site"
}
DELETE /assets/:id
Smazání assetu.
Oprávnění: Admin
Status typy
Functional Status
OK_100- Plně funkčníOK_50- Částečně funkčníNOT_OK- Nefunkční
Availability Status
AVAILABLE- DostupnéIN_USE- V použitíMAINTENANCE- V údržběRESERVED- Rezervováno pro projekt
Kategorie
Kategorie slouží k organizaci items do logických skupin. Každý item může mít přiřazenou kategorii pomocí category_id.
Použití kategorií:
- Organizace items v UI
- Filtrování při plánování gearu
- Seskupování podobných typů vybavení
Kódy chyb
VALIDATION_ERROR- Neplatný vstupNOT_FOUND- Item nebo asset nenalezenINVALID_ID- Neplatné IDFORBIDDEN- Nedostatečná oprávnění (pouze Admin může vytvářet/editovat/mazat)INTERNAL_ERROR- Chyba serveru
Související témata
- Projects API - Použití items a assets v projektech
- Load Sessions API - Nakládka assets pro akce
- Inventory API - Inventura assets