feat(redis): support database aliases

This commit is contained in:
lewis authored and GitHub committed 2026-07-29 20:33:34 +08:00
1 parent 5309170bf7
commit 4a6422365b
39 files changed
+443 -9

No files matched your search

@@ -30,6 +30,9 @@ import {
showDropDatabaseConfirm,
dropDatabaseLoading,
showFlushRedisDbConfirm,
showRedisDatabaseAliasDialog,
redisDatabaseAliasInput,
redisDatabaseAliasSaving,
showRenameMongoCollectionDialog,
renameMongoCollectionName,
renameMongoCollectionError,
@@ -231,6 +234,38 @@ export function useSidebarDatabaseSpecificMutationRuntime(options: SidebarDataba
showFlushRedisDbConfirm.value = true;
}
function prepareRedisDatabaseAliasDialog() {
const node = activeNode.value;
redisDatabaseAliasInput.value = node.connectionId && node.database != null ? connectionStore.getRedisDatabaseAlias(node.connectionId, node.database) || "" : "";
redisDatabaseAliasSaving.value = false;
showRedisDatabaseAliasDialog.value = true;
}
async function saveRedisDatabaseAlias(alias?: string) {
const node = sidebarFormTarget.value ?? activeNode.value;
if (node.type !== "redis-db" || !node.connectionId || node.database == null || redisDatabaseAliasSaving.value) return;
redisDatabaseAliasSaving.value = true;
try {
await connectionStore.setRedisDatabaseAlias(node.connectionId, node.database, alias);
showRedisDatabaseAliasDialog.value = false;
const normalizedAlias = alias?.trim();
toast(normalizedAlias ? t("redis.databaseAliasSaved", { db: node.database, alias: normalizedAlias }) : t("redis.databaseAliasCleared", { db: node.database }), 3000);
} catch (error: any) {
toast(t("connection.saveFailed", { message: error?.message || String(error) }), 5000);
} finally {
redisDatabaseAliasSaving.value = false;
}
}
async function confirmRedisDatabaseAlias() {
await saveRedisDatabaseAlias(redisDatabaseAliasInput.value);
}
async function clearRedisDatabaseAlias() {
redisDatabaseAliasInput.value = "";
await saveRedisDatabaseAlias();
}
async function confirmFlushRedisDb() {
const node = sidebarDangerTarget.value ?? activeNode.value;
if (node.type !== "redis-db" || !node.connectionId || !node.database) return;
@@ -387,6 +422,12 @@ export function useSidebarDatabaseSpecificMutationRuntime(options: SidebarDataba
dropMongoIndex,
dropAllMongoIndexes,
flushRedisDb,
prepareRedisDatabaseAliasDialog,
confirmRedisDatabaseAlias,
clearRedisDatabaseAlias,
showRedisDatabaseAliasDialog,
redisDatabaseAliasInput,
redisDatabaseAliasSaving,
confirmFlushRedisDb,
confirmDropMongoDatabase,
confirmDropMongoCollection,