feat: Add Scripts for listing users and resetting passwords (#5438)

*  feat: Add user management scripts for listing users and resetting passwords

* chore: update package.json

---------

Co-authored-by: Danny Avila <danacordially@gmail.com>
This commit is contained in:
JM Addington 2025-01-31 07:40:06 -05:00 committed by GitHub
parent 6f0ded058f
commit 9373f77bb7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 101 additions and 0 deletions

31
config/list-users.js Normal file
View file

@ -0,0 +1,31 @@
const path = require('path');
require('module-alias')({ base: path.resolve(__dirname, '..', 'api') });
const { askQuestion, silentExit } = require('./helpers');
const connect = require('./connect');
const User = require('../api/models/User');
const listUsers = async () => {
try {
await connect();
const users = await User.find({}, 'email provider avatar username name createdAt');
console.log('\nUser List:');
console.log('----------------------------------------');
users.forEach(user => {
console.log(`Email: ${user.email}`);
console.log(`Username: ${user.username || 'N/A'}`);
console.log(`Name: ${user.name || 'N/A'}`);
console.log(`Provider: ${user.provider || 'email'}`);
console.log(`Created: ${user.createdAt}`);
console.log('----------------------------------------');
});
console.log(`\nTotal Users: ${users.length}`);
process.exit(0);
} catch (err) {
console.error('Error listing users:', err);
process.exit(1);
}
};
listUsers();