чат
This commit is contained in:
55
server.js
55
server.js
@@ -234,7 +234,47 @@ app.post('/api/login', async (req, res) => {
|
||||
};
|
||||
|
||||
req.session.user = sessionUser;
|
||||
|
||||
|
||||
// ✅ Обновляем last_chat_notification_sent_at в user_settings
|
||||
const db = getDb();
|
||||
if (db) {
|
||||
// Проверяем, есть ли запись в user_settings
|
||||
db.get("SELECT id FROM user_settings WHERE user_id = ?", [user.id], (err, settings) => {
|
||||
if (err) {
|
||||
console.error('❌ Ошибка проверки user_settings:', err);
|
||||
} else if (settings) {
|
||||
// Обновляем существующую запись
|
||||
db.run(
|
||||
`UPDATE user_settings
|
||||
SET last_chat_notification_sent_at = CURRENT_TIMESTAMP,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE user_id = ?`,
|
||||
[user.id],
|
||||
(updateErr) => {
|
||||
if (updateErr) console.error('❌ Ошибка обновления last_chat_notification_sent_at:', updateErr);
|
||||
else console.log(`✅ Сброшен счётчик уведомлений чата для пользователя ${user.login}`);
|
||||
}
|
||||
);
|
||||
} else {
|
||||
// Создаём запись с настройками по умолчанию и проставляем last_chat_notification_sent_at
|
||||
db.run(
|
||||
`INSERT INTO user_settings
|
||||
(user_id, email_notifications, notification_email,
|
||||
telegram_notifications, telegram_chat_id,
|
||||
vk_notifications, vk_user_id, last_chat_notification_sent_at)
|
||||
VALUES (?, 1, ?, 0, '', 0, '', CURRENT_TIMESTAMP)`,
|
||||
[user.id, user.email || ''],
|
||||
(insertErr) => {
|
||||
if (insertErr) console.error('❌ Ошибка создания user_settings:', insertErr);
|
||||
else console.log(`✅ Созданы настройки и сброшен счётчик уведомлений чата для пользователя ${user.login}`);
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.warn('⚠️ База данных не доступна, пропускаем обновление last_chat_notification_sent_at');
|
||||
}
|
||||
|
||||
req.session.save((err) => {
|
||||
if (err) {
|
||||
console.error('❌ Ошибка сохранения сессии:', err);
|
||||
@@ -245,9 +285,9 @@ app.post('/api/login', async (req, res) => {
|
||||
if (user.groups) {
|
||||
console.log(`Группы пользователя: ${user.groups}`);
|
||||
}
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
|
||||
res.json({
|
||||
success: true,
|
||||
user: sessionUser
|
||||
});
|
||||
});
|
||||
@@ -257,9 +297,9 @@ app.post('/api/login', async (req, res) => {
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('❌ Ошибка аутентификации:', error.message);
|
||||
res.status(500).json({
|
||||
res.status(500).json({
|
||||
error: 'Ошибка сервера при авторизации',
|
||||
details: error.message
|
||||
details: error.message
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -1595,6 +1635,9 @@ initializeServer().then(() => {
|
||||
setInterval(checkOverdueTasks, 60000);
|
||||
setInterval(checkUpcomingDeadlines, 60000);
|
||||
setInterval(() => cronJobs.checkDocumentsForCompletion(db), 60000);
|
||||
|
||||
// ✅ Запускаем cron уведомлений чата (раз в час)
|
||||
cronJobs.startChatNotificationsCron();
|
||||
});
|
||||
}).catch(error => {
|
||||
console.error('❌ Не удалось запустить сервер:', error);
|
||||
|
||||
Reference in New Issue
Block a user