big refactor for lots of filtering

This commit is contained in:
2023-03-15 17:29:48 +01:00
parent c57e7fa556
commit afdd4f3fc6
7 changed files with 488 additions and 130 deletions
+61 -3
View File
@@ -9,7 +9,7 @@ import cache from './redis'
export async function getWeaponReport(
weapon: string,
server?: number,
player?: number
player?: string
) {
const serverPrefix = server ? `servers:${server}:` : ''
const playerPrefix = player ? `players:${player}:` : ''
@@ -19,8 +19,66 @@ export async function getWeaponReport(
return data
}
export function getWeaponList(server?: string, player?: string) {
export function getWeaponSet(server?: number, player?: string) {
const serverPrefix = server ? `servers:${server}:` : ''
const playerPrefix = player ? `players:${player}:` : ''
return cache.GET(serverPrefix + playerPrefix + `weapons:processedList`)
const cacheLocation = serverPrefix + playerPrefix + `weapons`
return cache.SMEMBERS(cacheLocation)
}
/**
* Show the processed list of weapons
* @param server
* @param player
* @returns string
*/
export async function getWeaponList(server?: string, player?: string) {
const serverPrefix = server ? `servers:${server}:` : ''
const playerPrefix = player ? `players:${player}:` : ''
return JSON.parse(
(await cache.GET(serverPrefix + playerPrefix + `weapons:processedList`)) ||
'{}'
)
}
/**
* Show processed data for a player
* @param player
* @param server
* @param weapon
* @returns
*/
export async function getPlayerReport(
player: string,
server?: number,
weapon?: string
) {
const serverPrefix = server ? `servers:${server}:` : ''
const weaponPrefix = weapon ? `weapons:${weapon}:` : ''
const cacheLocation = serverPrefix + weaponPrefix + `players:` + player
const data = await cache.HGETALL(cacheLocation)
delete data.last_entry
return data
}
/**
* Shows processed list of players
* @param server
* @param weapon
* @returns string
*/
export async function getPlayerList(server?: number, weapon?: string) {
const serverPrefix = server ? `servers:${server}:` : ''
const weaponPrefix = weapon ? `weapons:${weapon}:` : ''
return JSON.parse(
(await cache.GET(serverPrefix + weaponPrefix + `players:processedList`)) ||
'{}'
)
}
export function getPlayerSet(server?: number, weapon?: string) {
const serverPrefix = server ? `servers:${server}:` : ''
const weaponPrefix = weapon ? `weapons:${weapon}:` : ''
const cacheLocation = serverPrefix + weaponPrefix + `players`
return cache.SMEMBERS(cacheLocation)
}