Skip to content

Commit

Permalink
fixing errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Ghalya AL-Eshaq authored and Ghalya AL-Eshaq committed Sep 2, 2024
1 parent 4add120 commit 4e70b9b
Showing 1 changed file with 27 additions and 45 deletions.
72 changes: 27 additions & 45 deletions src/socket.io/admin/rooms.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ SocketRooms.getTotalGuestCount = async function () {
};

SocketRooms.getAll = async function () {
console.log('GhalyaRefactoredCode');
const sockets = await io.server.fetchSockets();

totals.onlineGuestCount = 0;
Expand All @@ -32,14 +31,37 @@ SocketRooms.getAll = async function () {
};
const userRooms = {};
const topicData = {};

for (const s of sockets) {
processSocket(s, totals, userRooms, topicData);
for (const key of s.rooms) {
if (key === 'online_guests') {
totals.onlineGuestCount += 1;
} else if (key === 'categories') {
totals.users.categories += 1;
} else if (key === 'recent_topics') {
totals.users.recent += 1;
} else if (key === 'unread_topics') {
totals.users.unread += 1;
} else if (key.startsWith('uid_')) {
userRooms[key] = 1;
} else if (key.startsWith('category_')) {
totals.users.category += 1;
} else {
const tid = key.match(/^topic_(\d+)/);
if (tid) {
totals.users.topics += 1;
topicData[tid[1]] = topicData[tid[1]] || { count: 0 };
topicData[tid[1]].count += 1;
}
}
}
}

totals.onlineRegisteredCount = Object.keys(userRooms).length;

const topTenTopics = getTopTenTopics(topicData);
let topTenTopics = [];
Object.keys(topicData).forEach((tid) => {
topTenTopics.push({ tid: tid, count: topicData[tid].count });
});
topTenTopics = topTenTopics.sort((a, b) => b.count - a.count).slice(0, 10);
const topTenTids = topTenTopics.map(topic => topic.tid);

const titles = await topics.getTopicsFields(topTenTids, ['title']);
Expand All @@ -51,46 +73,6 @@ SocketRooms.getAll = async function () {
return totals;
};

function processSocket(s, totals, userRooms, topicData) {
console.log('GhalyaRefactoredCode1');
for (const key of s.rooms) {
if (key === 'online_guests') {
totals.onlineGuestCount += 1;
} else if (key === 'categories') {
totals.users.categories += 1;
} else if (key === 'recent_topics') {
totals.users.recent += 1;
} else if (key === 'unread_topics') {
totals.users.unread += 1;
} else if (key.startsWith('uid_')) {
userRooms[key] = 1;
} else if (key.startsWith('category_')) {
totals.users.category += 1;
} else {
processTopicKey(key, totals, topicData);
}
}
}

function processTopicKey(key, totals, topicData) {
console.log('GhalyaRefactoredCode2');
const tid = key.match(/^topic_(\d+)/);
if (tid) {
totals.users.topics += 1;
topicData[tid[1]] = topicData[tid[1]] || { count: 0 };
topicData[tid[1]].count += 1;
}
}

function getTopTenTopics(topicData) {
console.log('GhalyaRefactoredCode3');
const topTenTopics = [];
Object.keys(topicData).forEach((tid) => {
topTenTopics.push({ tid: tid, count: topicData[tid].count });
});
return topTenTopics.sort((a, b) => b.count - a.count).slice(0, 10);
}

SocketRooms.getOnlineUserCount = function (io) {
let count = 0;

Expand Down

0 comments on commit 4e70b9b

Please sign in to comment.