Update environment configuration for production, refactor WebRTC components, and enhance chat functionality. Replace deprecated SessionUsersPanel with SessionPage, integrate chat history loading, and improve audio/video toggle handling. Remove unused SessionUsersPanel2 component and update related socket event handling in the server.

This commit is contained in:
2025-10-27 16:49:52 +05:00
parent 95f7b90d38
commit 2378ed1ff4
20 changed files with 936 additions and 304 deletions
+42
View File
@@ -0,0 +1,42 @@
import db from "../../db";
import {
chatMessages,
type NewChatMessage,
} from "../../db/schema/chatMessages";
import { eq, desc } from "drizzle-orm";
/**
* Сохранить новое сообщение в чате
*/
export async function saveChatMessage(message: NewChatMessage) {
const [newMessage] = await db
.insert(chatMessages)
.values(message)
.returning();
return newMessage;
}
/**
* Получить историю сообщений для сессии
* @param sessionId ID сессии
* @param limit Максимальное количество сообщений (по умолчанию 100)
*/
export async function getChatHistory(sessionId: string, limit = 100) {
const messages = await db
.select()
.from(chatMessages)
.where(eq(chatMessages.sessionId, sessionId))
.orderBy(desc(chatMessages.createdAt))
.limit(limit);
// Возвращаем в правильном порядке (старые сначала)
return messages.reverse();
}
/**
* Удалить все сообщения для сессии
* @param sessionId ID сессии
*/
export async function deleteChatHistory(sessionId: string) {
await db.delete(chatMessages).where(eq(chatMessages.sessionId, sessionId));
}