/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
apps/api/admin/remove-user-account.ts
39 строк
1 KB
Adam Chmara
chore(root): apply biome formatter & linter fixes NV-6436 (#8838)
31 июл 2025, 14:59
Не верифицирован
31 июл 2025, 14:59
855fb8f
Код
Авторство
О чём код?
import '../src/config'; import { CommunityMemberRepository, CommunityUserRepository } from '@novu/dal'; import { normalizeEmail } from '@novu/shared'; import { connect } from './connect-to-dal'; import { makeJsonBackup } from './make-json-backup'; const args = process.argv.slice(2); const EMAIL = args[0]; const folder = 'remove-user-account'; connect(async () => { const userRepository = new CommunityUserRepository(); const memberRepository = new CommunityMemberRepository(); const email = normalizeEmail(EMAIL); const user = await userRepository.findByEmail(email); if (!user) { throw new Error(`User account with email ${email} is not found`); } console.log(`The user with email: ${email} is found`); const memberOfOrganizations = await memberRepository._model.find({ _userId: user._id, }); console.log(`User is a member of ${memberOfOrganizations.length} organizations`); if (memberOfOrganizations.length > 0) { console.log(`Removing user from all organizations`); await makeJsonBackup(folder, 'members', memberOfOrganizations); await memberRepository._model.deleteMany({ _userId: user._id, }); } console.log(`Removing user account`); await makeJsonBackup(folder, 'user', user); await userRepository.delete({ _id: user._id }); });