add sockets and change subscription

This commit is contained in:
DenAntonov
2025-06-12 21:04:12 +03:00
parent bffa3fa2a3
commit 24ff712306
6 changed files with 199 additions and 83 deletions

View File

@@ -3,31 +3,22 @@ const { getSupabaseClient } = require('./supabaseClient');
// Получить все чаты по дому
router.get('/chats', async (req, res) => {
console.log('🏠 [Server] GET /chats запрос получен');
console.log('🏠 [Server] Query параметры:', req.query);
const supabase = getSupabaseClient();
const { building_id } = req.query;
if (!building_id) {
console.log('❌ [Server] Ошибка: building_id обязателен');
return res.status(400).json({ error: 'building_id required' });
}
try {
console.log('🔍 [Server] Выполняем запрос к Supabase для здания:', building_id);
const { data, error } = await supabase.from('chats').select('*').eq('building_id', building_id);
if (error) {
console.log('❌ [Server] Ошибка Supabase:', error);
return res.status(400).json({ error: error.message });
}
console.log('✅ [Server] Чаты получены:', data?.length || 0, 'шт.');
res.json(data || []);
} catch (err) {
console.log('❌ [Server] Неожиданная ошибка:', err);
res.status(500).json({ error: 'Internal server error' });
}
});
@@ -184,15 +175,10 @@ router.get('/chats/:chat_id/stats', async (req, res) => {
// Получить последнее сообщение в чате
router.get('/chats/:chat_id/last-message', async (req, res) => {
console.log('💬 [Server] GET /chats/:chat_id/last-message запрос получен');
console.log('💬 [Server] Chat ID:', req.params.chat_id);
const supabase = getSupabaseClient();
const { chat_id } = req.params;
try {
console.log('🔍 [Server] Выполняем запрос последнего сообщения для чата:', chat_id);
// Получаем последнее сообщение
const { data: lastMessage, error } = await supabase
.from('messages')
@@ -205,10 +191,8 @@ router.get('/chats/:chat_id/last-message', async (req, res) => {
let data = null;
if (error && error.code === 'PGRST116') {
console.log(' [Server] Сообщений в чате нет (PGRST116)');
data = null;
} else if (error) {
console.log('❌ [Server] Ошибка Supabase при получении последнего сообщения:', error);
return res.status(400).json({ error: error.message });
} else if (lastMessage) {
// Получаем профиль пользователя для сообщения
@@ -223,12 +207,10 @@ router.get('/chats/:chat_id/last-message', async (req, res) => {
...lastMessage,
user_profiles: userProfile || null
};
console.log('✅ [Server] Последнее сообщение получено для чата:', chat_id);
}
}
res.json(data);
res.json(data);
} catch (err) {
console.log('❌ [Server] Неожиданная ошибка при получении последнего сообщения:', err);
res.status(500).json({ error: 'Internal server error' });
}
});