Merged in feature/redis-api-get-all-keys-endopoint (pull request #3306)
feature: Add getAllKeys endpoint * feature: Add getAllKeys endpoint * rename DELETE_BATCH_SIZE to SCAN_BATCH_SIZE Approved-by: Anton Gunnarsson
This commit is contained in:
@@ -6,6 +6,7 @@ import { queueDelete, queueDeleteMultiple } from "@/services/redis/queueDelete";
|
||||
import { loggerModule } from "@/utils/logger";
|
||||
import { truncate } from "@/utils/truncate";
|
||||
import { validateKey } from "@/utils/validateKey";
|
||||
import { getAllKeys } from "@/services/redis/getAllKeys";
|
||||
|
||||
const QUERY_TYPE = t.Object({ key: t.String({}) });
|
||||
const DELETEMULTIPLE_BODY_TYPE = t.Object({
|
||||
@@ -47,6 +48,27 @@ export const cacheRoutes = new Elysia({ prefix: "/cache" })
|
||||
response: { 200: t.Object({ data: t.Any() }), 404: t.String() },
|
||||
},
|
||||
)
|
||||
.get(
|
||||
"/all",
|
||||
async ({ query: { key } }) => {
|
||||
key = validateKey(key);
|
||||
const { matchedKeys, totalKeys } = await getAllKeys([`*${key}*`], {
|
||||
caseInsensitive: true,
|
||||
});
|
||||
|
||||
return { data: matchedKeys.toSorted(), totalKeys };
|
||||
},
|
||||
{
|
||||
query: QUERY_TYPE,
|
||||
response: {
|
||||
200: t.Object({
|
||||
data: t.Array(t.String()),
|
||||
totalKeys: t.Number(),
|
||||
}),
|
||||
400: t.String(),
|
||||
},
|
||||
},
|
||||
)
|
||||
.put(
|
||||
"/",
|
||||
async ({ query: { key }, body, status, set }) => {
|
||||
|
||||
Reference in New Issue
Block a user