import chalk from 'chalk' ; import inquirer from 'inquirer' ; import User from '@fiora/database/mongoose/models/user' ; import initMongoDB from '@fiora/database/mongoose/initMongoDB' ; export async function fixUsersAvatar ( searchValue , replaceValue ) { searchValue = searchValue || 'fioraavatar' ; replaceValue = replaceValue || 'fiora/avatar' ; await initMongoDB ( ) ; const users = await User . find ( { avatar : { $regex : 'fioraavatar' } } ) ; if ( users . length ) { console . log ( chalk . red ( 'Oh No!' ) , "Some user's avatar is wrong" ) ; users . forEach ( ( user ) => { console . log ( user . _id , user . username , user . avatar ) ; } ) ; const shouldFix = await inquirer . prompt ( { type : 'confirm' , name : 'result' , message : 'Confirm to fix?' , } ) ; if ( shouldFix . result ) { await Promise . all ( users . map ( ( user ) => { user . avatar = user . avatar . replace ( searchValue , replaceValue ) ; return user . save ( ) ; } ) ) ; console . log ( chalk . green ( 'Congratulations! Fixed!' ) ) ; } } else { console . log ( chalk . green ( 'OK!' ) , "All user's avatar is corrent" ) ; } } async function run ( ) { const searchValue = process . argv [ 3 ] ; const replaceValue = process . argv [ 4 ] ; await fixUsersAvatar ( searchValue , replaceValue ) ; process . exit ( 0 ) ; } export default run ;