LibreChat/config/list-users.js

39 lines
1.3 KiB
JavaScript

const path = require('path');
require('module-alias')({ base: path.resolve(__dirname, '..', 'api') });
const mongoose = require('mongoose');
const { User } = require('@librechat/data-schemas').createModels(mongoose);
const connect = require('./connect');
const listUsers = async () => {
try {
await connect();
const users = await User.find(
{},
'email provider avatar username name createdAt termsAccepted termsAcceptedAt',
);
console.log('\nUser List:');
console.log('----------------------------------------');
users.forEach((user) => {
console.log(`ID: ${user._id.toString()}`);
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(`Terms Accepted: ${user.termsAccepted ? 'Yes' : 'No'}`);
console.log(
`Terms Accepted At: ${user.termsAcceptedAt ? user.termsAcceptedAt.toISOString() : 'N/A'}`,
);
console.log('----------------------------------------');
});
console.log(`\nTotal Users: ${users.length}`);
process.exit(0);
} catch (err) {
console.error('Error listing users:', err);
process.exit(1);
}
};
listUsers();