/
TimurIsm
/
OpenEyes
Обзор
Документация
Войти
/
TimurIsm
/
OpenEyes
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
back/utils/cleanupService.js
46 строк
1 KB
TimurIsm
first_commit
16 май 2026, 15:34
16 май 2026, 15:34
4d3f198
Код
Авторство
О чём код?
const { User } = require('../models/models'); const { Op } = require('sequelize'); const { TOKEN_TYPES } = require('./tokenManager'); const cleanupExpiredUsers = async () => { try { const now = new Date(); const users = await User.findAll({ where: { isVerified: false } }); let deletedCount = 0; for (const user of users) { const emailToken = user.tokens?.[TOKEN_TYPES.EMAIL_VERIFICATION]; if (emailToken && new Date(emailToken.expires) < now) { await user.destroy(); deletedCount++; } } if (deletedCount > 0) { console.log(`Удалено ${deletedCount} неподтвержденных пользователей с истекшим сроком`); } else { console.log(`Истекших неподтвержденных пользователей не найдено`); } return deletedCount; } catch (error) { return 0; } }; const runInitialCleanup = async () => { await cleanupExpiredUsers(); }; const setupScheduledCleanup = (cron) => { cron.schedule('0 * * * *', async () => { await cleanupExpiredUsers(); }); }; module.exports = { cleanupExpiredUsers, runInitialCleanup, setupScheduledCleanup };