Skip to content

REST API: Эндпоинты тегов и иерархических папок ​

API тегов и папок позволяет организовывать камеры в иерархические деревья папок и цветные категории тегов.


1. API тегов камер ​

1.1 Список тегов (GET /api/tags) ​

bash
curl -H "Authorization: Bearer <TOKEN>" http://localhost:8080/api/tags

Ответ (200 OK):

json
[
  { "id": "outdoor", "name": "Уличные камеры", "color": "#10B981" },
  { "id": "ptz", "name": "PTZ управление", "color": "#3B82F6" },
  { "id": "critical", "name": "Периметр", "color": "#EF4444" }
]

1.2 Создание тега (POST /api/tags) ​

  • Требуемая роль: operator, admin или service
bash
curl -X POST http://localhost:8080/api/tags \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "id": "parking", "name": "Парковка", "color": "#F59E0B" }'

1.3 Удаление тега (DELETE /api/tags/:id) ​

Удаляет тег из BadgerDB:

bash
curl -X DELETE http://localhost:8080/api/tags/parking \
  -H "Authorization: Bearer <TOKEN>"

Ответ (200 OK): {"message": "tag deleted"}.


2. API иерархических папок ​

2.1 Список папок (GET /api/folders) ​

bash
curl -H "Authorization: Bearer <TOKEN>" http://localhost:8080/api/folders

Ответ (200 OK):

json
[
  { "id": "hq", "name": "Главный офис", "parent_id": "" },
  { "id": "bldg-a", "name": "Корпус А", "parent_id": "hq" },
  { "id": "floor-2", "name": "2 этаж", "parent_id": "bldg-a" }
]

2.2 Создание папки (POST /api/folders) ​

  • Требуемая роль: operator, admin или service
bash
curl -X POST http://localhost:8080/api/folders \
  -H "Authorization: Bearer <TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "id": "warehouse-east", "name": "Восточный склад", "parent_id": "" }'

2.3 Удаление папки (DELETE /api/folders/:id) ​

Удаляет папку из BadgerDB:

bash
curl -X DELETE http://localhost:8080/api/folders/warehouse-east \
  -H "Authorization: Bearer <TOKEN>"

Ответ (200 OK): {"message": "folder deleted"}.

Связанная документация ​

Released under the MIT License.