Менеджеры
Обзор
Бизнес-логика backend Kontinuum организована по Manager Pattern: каждый домен инкапсулирован в отдельный менеджер — структуру с методами, которая владеет доступом к БД и/или внешним ресурсам.
Сервисы (backend/src/services/) — тонкий транспортный слой (Tauri IPC / HTTP), который делегирует всю работу менеджерам. Менеджеры — это место, где живёт бизнес-логика.
Принципы
- Thread-safety: все менеджеры обёрнуты в
Arc<Mutex<T>>и безопасно используются из нескольких потоков - Shared DB: менеджеры разделяют одно SQLite-соединение (
Arc<Mutex<Connection>>). Подробнее: Database schema - Zeroizing: чувствительные данные (ключи, PIN) автоматически зануляются при drop через
zeroize - Result everywhere: все fallible операции возвращают
Result<T>
Граф зависимостей
Список менеджеров
| Менеджер | Файл | Описание |
|---|---|---|
| IdentityManager | backend/src/identity/manager.rs | Управление идентичностью пользователя (Ed25519 ключи, профиль) |
| DeviceManager | backend/src/devices/manager.rs | Управление устройствами (текущее + paired, ключи, сеть) |
| PairingManager | backend/src/pairing/manager.rs | P2P паринг устройств (mDNS discovery, QR, PIN) |
| VaultManager | backend/src/vault/manager.rs | Криптографическое хранилище секретов (PIN, auto-lock, ChaCha20) |
| StrongholdManager | backend/src/stronghold.rs | IOTA Stronghold интеграция (долгосрочное хранение ключей) |
| SpaceManager | backend/src/spaces/manager.rs | Управление пространствами (CRUD, файлы, конфликты, tombstones) |
| CloudManager | backend/src/clouds/manager.rs | Управление облачными подключениями (S3-compatible) |
| SharingManager | backend/src/sharing/manager.rs | P2P sharing и синхронизация (libp2p, файловый обмен) |