From 15b8d248a8fce1762e279f834a9ba66bfe2c0f68 Mon Sep 17 00:00:00 2001 From: Douglas Barone Date: Fri, 19 Jan 2024 21:22:06 -0400 Subject: [PATCH] Sort userPresence by lastSeen timestamp and display name --- server/src/resolvers/Query/userPresence.js | 43 +++++++++++----------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/server/src/resolvers/Query/userPresence.js b/server/src/resolvers/Query/userPresence.js index d7f0b9a..8d2601f 100644 --- a/server/src/resolvers/Query/userPresence.js +++ b/server/src/resolvers/Query/userPresence.js @@ -11,7 +11,8 @@ export async function userPresence(_, { search, onlyServants }) { orderBy: { displayName: 'asc' }, include: { wifiDevices: { - include: { accessPoint: true } + include: { accessPoint: true }, + orderBy: { lastSeen: 'desc' } } } }) @@ -49,28 +50,26 @@ export async function userPresence(_, { search, onlyServants }) { } } - const sortedUsers = filteredUsers - .sort((a, b) => a.displayName.localeCompare(b.displayName)) - .sort((a, b) => { - const [aStatus, bStatus] = [ - a.wifiDevices[0].status, - b.wifiDevices[0].status - ] - if ( - (aStatus == 'ONLINE' && bStatus == 'RECENT') || - (aStatus == 'ONLINE' && bStatus == 'OFFLINE') || - (aStatus == 'RECENT' && bStatus == 'OFFLINE') - ) - return -1 - if ( - (bStatus == 'ONLINE' && aStatus == 'RECENT') || - (bStatus == 'ONLINE' && aStatus == 'OFFLINE') || - (bStatus == 'RECENT' && aStatus == 'OFFLINE') - ) - return 1 + const sortedUsers = filteredUsers.sort((a, b) => { + const [aStatus, bStatus] = [ + a.wifiDevices[0].status, + b.wifiDevices[0].status + ] + if ( + (aStatus == 'ONLINE' && bStatus == 'RECENT') || + (aStatus == 'ONLINE' && bStatus == 'OFFLINE') || + (aStatus == 'RECENT' && bStatus == 'OFFLINE') + ) + return -1 + if ( + (bStatus == 'ONLINE' && aStatus == 'RECENT') || + (bStatus == 'ONLINE' && aStatus == 'OFFLINE') || + (bStatus == 'RECENT' && aStatus == 'OFFLINE') + ) + return 1 - return 0 - }) + return a.displayName.localeCompare(b.displayName) + }) const userPresence = sortedUsers .map(userPresence => ({