feat: show ip on acp manage users

update url on search
show matching ip when searching by ip
add ip to export csv
This commit is contained in:
Barış Soner Uşaklı
2021-06-08 11:50:52 -04:00
parent 6695927ea9
commit 8ea58432c9
5 changed files with 29 additions and 6 deletions

View File

@@ -55,12 +55,14 @@ module.exports = function (User) {
path.join(baseDir, 'build/export', 'users.csv'),
'w'
);
fs.promises.appendFile(fd, `${data.fields.join(',')}\n`);
fs.promises.appendFile(fd, `${data.fields.join(',')},ip\n`);
await batch.processSortedSet('users:joindate', async (uids) => {
const usersData = await User.getUsersFields(uids, data.fields.slice());
const ips = await Promise.all(uids.map(uid => db.getSortedSetRevRange(`uid:${uid}:ip`, 0, -1)));
let line = '';
usersData.forEach((user) => {
line += `${data.fields.map(field => user[field]).join(',')}\n`;
usersData.forEach((user, index) => {
const userIPs = ips[index] ? ips[index].join(',') : '';
line += `${data.fields.map(field => user[field]).join(',')},"${userIPs}"\n`;
});
await fs.promises.appendFile(fd, line);