import User from "../models/User.js"; function getUserById(id) { return User.findById(id).select('-token'); } function getUserByUsername(username) { return User.findOne({ username: username }); } function listUsers(opts) { const limit = opts.limit || 50; const offset = opts.offset || 0; return User.find().select('-token').skip(offset).limit(limit); } function searchUsers(opts) { const q = opts.q || ''; const query = { $or: [ { username: { $regex: q, $options: 'i' } }, { displayName: { $regex: q, $options: 'i' } } ] }; return User.find(query).select('-token'); } function createUser(data) { const user = new User(data); return user.save(); } function updateUser(id, updates) { return User.findByIdAndUpdate(id, updates, { new: true }).select('-token'); } function deleteUser(id) { return User.findByIdAndDelete(id); } export { getUserById, getUserByUsername, listUsers, searchUsers, createUser, updateUser, deleteUser };