Перейти к содержанию

Действие: Реализация БД для чатов в Rust

Дата: 2026-03-13 Связанная задача: Полная идемпотентность WS API

Контекст

Для полноценной замены Python-сервиса, Rust-сервис должен сохранять историю переписки в базу данных, а не только пересылать сообщения в памяти.

Выполненные шаги

  1. Создание модуля БД:

    • Создан файл src/db/chat.rs.
    • Реализованы SQL-запросы для вставки сообщений и проверки прав.
  2. Интеграция с WebSocket:

    • В src/handlers/ws.rs добавлена проверка прав при подключении.
    • Добавлен вызов save_message перед отправкой сообщения в канал.
    • Добавлен вызов mark_message_read при получении статуса read.
  3. Устранение зависимостей:

    • Исправлены ошибки компиляции в модулях tour, restaurant, event, swagger, вызванные строгими проверками типов в Rust.
    • Обновлен Cargo.toml для поддержки Swagger-схем.

Проверка

  • Выполнен cargo check.
  • Результат: Успешно (Warnings only).

Итог

Функционал чатов в Rust теперь полностью эквивалентен Python-версии (хранение + realtime).