/**
 * 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 today’s newly registered users' ) ) ; } async function run ( ) { await deleteTodayRegisteredUsers ( ) ; process . exit ( 0 ) ; } export default run ;