Действие: Реализация БД для чатов в Rust¶
Дата: 2026-03-13 Связанная задача: Полная идемпотентность WS API
Контекст¶
Для полноценной замены Python-сервиса, Rust-сервис должен сохранять историю переписки в базу данных, а не только пересылать сообщения в памяти.
Выполненные шаги¶
-
Создание модуля БД:
- Создан файл
src/db/chat.rs. - Реализованы SQL-запросы для вставки сообщений и проверки прав.
- Создан файл
-
Интеграция с WebSocket:
- В
src/handlers/ws.rsдобавлена проверка прав при подключении. - Добавлен вызов
save_messageперед отправкой сообщения в канал. - Добавлен вызов
mark_message_readпри получении статусаread.
- В
-
Устранение зависимостей:
- Исправлены ошибки компиляции в модулях
tour,restaurant,event,swagger, вызванные строгими проверками типов в Rust. - Обновлен
Cargo.tomlдля поддержки Swagger-схем.
- Исправлены ошибки компиляции в модулях
Проверка¶
- Выполнен
cargo check. - Результат: Успешно (Warnings only).
Итог¶
Функционал чатов в Rust теперь полностью эквивалентен Python-версии (хранение + realtime).