From 21b277ffceddfb7a0fc4e321e38c29f312240174 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 17 Jan 2023 11:44:15 +0100 Subject: [PATCH] perf: use server namespace to simplify kv querying (#1246) --- server/shared.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server/shared.ts b/server/shared.ts index 06d5a11a..6ef1e93a 100644 --- a/server/shared.ts +++ b/server/shared.ts @@ -55,7 +55,8 @@ async function fetchAppInfo(origin: string, server: string) { } export async function getApp(origin: string, server: string) { - const key = `servers:${origin.replace(/[^\w\d]/g, '-')}:${server}.json` + const host = origin.replace(/^https?:\/\//, '').replace(/[^\w\d]/g, '-') + const key = `servers:v2:${server}:${host}.json`.toLowerCase() try { if (await storage.hasItem(key)) @@ -70,16 +71,16 @@ export async function getApp(origin: string, server: string) { } export async function deleteApp(server: string) { - const keys = (await storage.getKeys('servers:')).filter(k => k.endsWith(`${server}.json`)) + const keys = (await storage.getKeys(`servers:v2:${server}:`)) for (const key of keys) await storage.removeItem(key) } export async function listServers() { - const keys = await storage.getKeys('servers:') + const keys = await storage.getKeys('servers:v2:') const servers = new Set() for await (const key of keys) { - const id = key.split(':').pop()!.replace(/\.json$/, '') + const id = key.split(':')[2] if (id) servers.add(id.toLocaleLowerCase()) }