Files
yinxin630--fiora/packages/bin/scripts/deleteTodayRegisteredUsers.ts
T
2026-07-13 12:27:50 +08:00

54 lines
1.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Delete users created today and their related data
*/
import chalk from 'chalk';
import inquirer from 'inquirer';
import initMongoDB from '@fiora/database/mongoose/initMongoDB';
import User from '@fiora/database/mongoose/models/user';
import { deleteUser } from './deleteUser';
export async function deleteTodayRegisteredUsers() {
await initMongoDB();
const now = new Date();
const time = new Date(
`${now.getFullYear()}-${now.getMonth() + 1}-${now.getDate()} 00:00:00`,
);
const users = await User.find({
createTime: {
$gte: time,
},
});
console.log(
`There are ${chalk.green(
users.length.toString(),
)} newly registered users today`,
);
if (users.length === 0) {
return;
}
const shouldDeleteUsers = await inquirer.prompt({
type: 'confirm',
name: 'result',
message: 'Confirm to delete these users?',
});
if (!shouldDeleteUsers.result) {
return;
}
await Promise.all(
users.map((user) => deleteUser(user._id.toString(), false)),
);
console.log(
chalk.green('Successfully deleted todays newly registered users'),
);
}
async function run() {
await deleteTodayRegisteredUsers();
process.exit(0);
}
export default run;