Каналы: новый роутинг, поиск, вход-возврат, удаление просмотров и документация

This commit is contained in:
AidarKC
2026-05-08 01:15:54 +03:00
parent 6774c26ea1
commit acdd6c928b
18 changed files with 657 additions and 458 deletions
@@ -360,35 +360,7 @@ public final class DatabaseInitializer {
ON message_stats (to_login);
""");
// 8.0) message_views_state (уникальный просмотр/прочтение сообщения пользователем)
st.executeUpdate("""
CREATE TABLE IF NOT EXISTS message_views_state (
viewer_login TEXT NOT NULL,
to_bch_name TEXT NOT NULL,
to_block_number INTEGER NOT NULL,
to_block_hash BLOB NOT NULL,
first_seen_at_ms INTEGER NOT NULL,
UNIQUE (
viewer_login,
to_bch_name,
to_block_number,
to_block_hash
)
);
""");
st.executeUpdate("""
CREATE INDEX IF NOT EXISTS idx_message_views_state_target
ON message_views_state (to_bch_name, to_block_number, to_block_hash);
""");
st.executeUpdate("""
CREATE INDEX IF NOT EXISTS idx_message_views_state_viewer_channel
ON message_views_state (viewer_login, to_bch_name);
""");
// 8.1) reactions_state (идемпотентный LIKE/UNLIKE per actor/target)
// 8.0) reactions_state (идемпотентный LIKE/UNLIKE per actor/target)
st.executeUpdate("""
CREATE TABLE IF NOT EXISTS reactions_state (
from_login TEXT NOT NULL,