Sort userPresence by lastSeen timestamp and display name
This commit is contained in:
parent
be7262bbdf
commit
15b8d248a8
|
@ -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 => ({
|
||||
|
|
Loading…
Reference in New Issue
Block a user