# ИНФУД v6.1.0 — Развёртывание

## Быстрый старт

```bash
# 1. Положить в одну папку:
#    infud_v6.1.html
#    infud-server-v2.js
#    package.json

# 2. Установить зависимости
npm install

# 3. Запустить сервер
node infud-server-v2.js

# 4. Открыть в браузере
http://172.16.90.90:3000/infud_v6.1.html
```

## Переменные окружения (продакшн)

```bash
JWT_SECRET=случайная-строка-минимум-48-символов    # ОБЯЗАТЕЛЬНО!
PORT=3000
DATA_DIR=/opt/infud/data

# Telegram Bot
TG_TOKEN=110201543:AAHdqTcvCH1vGWJxfSeofSs4tq0-ja1cKU8
TG_CHAT_ID=-100123456789
TG_POLL_SEC=5

# 1С ERP
ODIN_URL=http://1c-server/infud_db/hs/dashboard
ODIN_USER=integration_user
ODIN_PASS=пароль
ODIN_SYNC_SEC=60
```

## Пользователи по умолчанию

| Логин    | Пароль    | Роль               |
|----------|-----------|--------------------|
| admin    | admin123  | Администратор (5)  |
| tustov   | shift2026 | Диспетчер (3)      |
| shchipilo| tech2026  | Технолог (2)       |
| klimov   | eng2026   | Инженер (4)        |
| smelkova | disp2026  | Диспетчер (3)      |

## Структура данных (data/)

```
data/
├── users.json      — пользователи (bcrypt хеши)
├── devices.json    — конфигурация датчиков/устройств
├── stops.json      — журнал остановок
├── audit.json      — лог всех действий (макс. 2000)
├── config.json     — системные настройки
└── odin_cache.json — кэш данных из 1С
```

## API Endpoints

```
POST /api/auth/login          → JWT токен
POST /api/auth/logout         → выход
GET  /api/auth/me             → текущий пользователь

GET|POST  /api/users          → список / создать (admin)
PUT       /api/users/:id      → обновить (admin)
PATCH     /api/users/:id/toggle → блок/разблок (admin)
DELETE    /api/users/:id      → удалить (admin)

GET  /api/sensors             → текущие показания датчиков
GET  /api/devices             → список устройств
POST /api/devices             → добавить (engineer+)
DELETE /api/devices/:id       → удалить (engineer+)

GET  /api/stops               → журнал остановок
POST /api/stops               → создать остановку (tech+)
PATCH /api/stops/:id/close    → закрыть остановку (tech+)
POST /api/telegram/webhook    → Telegram webhook

GET  /api/erp/status          → статус 1С
GET  /api/erp/remains         → остатки сырья
GET  /api/erp/shipments       → отгрузки
GET  /api/erp/output          → выпуск
POST /api/erp/sync            → принудительная синхронизация

GET|PUT /api/config           → системные настройки (admin)
GET     /api/audit            → журнал аудита (admin)
GET     /api/health           → статус сервера

WS ws://сервер:3000/?token=JWT → real-time события
```
