- Settings page rebuilt with 3-step flow: Step 1: client_id / client_secret (from TTHotel → Settings → Integrations) Step 2: workstation + COM port + card sectors Step 3: room → lock MAC address mapping (from lock.ttlock.com) - Agent command ttlock:write_card now uses lockMac, comPort, cardSectors instead of cloud-only lockId approach - New agent command ttlock:ping_encoder for encoder connectivity check - Migration 049_ttlock_v2.sql: lock_mac TEXT replaces lock_id BIGINT, card_sectors + com_port added, ttlock_username/password removed - API types updated: TTLockConfig, RoomLockMapping, CardIssuance Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
1.1 KiB
SQL
22 lines
1.1 KiB
SQL
-- TTLock v2: исправляем схему под реальную архитектуру TTHotel DLL
|
||
-- lock_id BIGINT → lock_mac TEXT (MAC замка из lock.ttlock.com)
|
||
-- добавляем card_sectors и com_port
|
||
|
||
-- Убираем старый lock_id, добавляем MAC-адрес замка
|
||
ALTER TABLE room_lock_mappings
|
||
DROP COLUMN IF EXISTS lock_id,
|
||
ADD COLUMN IF NOT EXISTS lock_mac TEXT NOT NULL DEFAULT '';
|
||
|
||
-- В логе выдачи карт: lock_id → lock_mac
|
||
ALTER TABLE card_issuances
|
||
DROP COLUMN IF EXISTS lock_id,
|
||
ADD COLUMN IF NOT EXISTS lock_mac TEXT NOT NULL DEFAULT '';
|
||
|
||
-- Убираем ttlock_username/password — не нужны (auth через client_id/secret напрямую).
|
||
-- Добавляем card_sectors (из TTHotel) и com_port (COM-порт энкодера)
|
||
ALTER TABLE hotel_ttlock_config
|
||
DROP COLUMN IF EXISTS ttlock_username,
|
||
DROP COLUMN IF EXISTS ttlock_password,
|
||
ADD COLUMN IF NOT EXISTS card_sectors TEXT NOT NULL DEFAULT '1,2,3,4,5,6,7,8,9,10',
|
||
ADD COLUMN IF NOT EXISTS com_port TEXT NOT NULL DEFAULT '';
|