diff --git a/server/src/index.js b/server/src/index.js index ae6f5fa..e96fec9 100755 --- a/server/src/index.js +++ b/server/src/index.js @@ -1,6 +1,7 @@ import {} from 'dotenv/config' import '@babel/polyfill/noConflict' import './utils/capitalize' +import './utils/contains' import './utils/cycle' import { logSuccess } from './lib/logger' diff --git a/server/src/resolvers/Query/userPresence.js b/server/src/resolvers/Query/userPresence.js index ca8b9c5..19807b5 100644 --- a/server/src/resolvers/Query/userPresence.js +++ b/server/src/resolvers/Query/userPresence.js @@ -15,17 +15,15 @@ export async function userPresence(_, { search }) { const filteredUsers = search ? usersWithWifiDevices.filter( user => - Object.keys(user).some(key => - typeof user[key] == 'string' - ? user[key].toLowerCase().includes(search) - : false + Object.keys(user).some( + key => typeof user[key] == 'string' && user[key].contains(search) ) || user.wifiDevices?.some( device => device.ip?.startsWith(search) || (device.status != 'OFFLINE' && - (device.apName?.toLowerCase().includes(search) || - device.essid?.toLocaleLowerCase().includes(search))) + (device.apName?.contains(search) || + device.essid?.contains(search))) ) ) : usersWithWifiDevices diff --git a/server/src/utils/contains.js b/server/src/utils/contains.js new file mode 100644 index 0000000..7d9a4c4 --- /dev/null +++ b/server/src/utils/contains.js @@ -0,0 +1,3 @@ +String.prototype.contains = function (term) { + return this.toLowerCase().includes(term.toLowerCase().trim()) +}