feat: add parseSerializedUris function and update Bitwarden CSV parsing to handle multiple URIs

This commit is contained in:
shuaiplus
2026-03-17 09:03:14 +08:00
parent 3791f89a5c
commit 40fe9223ac
3 changed files with 34 additions and 4 deletions
+3 -3
View File
@@ -1,5 +1,5 @@
import type { CiphersImportPayload } from '@/lib/api/vault';
import { addFolder, cardBrand, makeLoginCipher, nameFromUrl, normalizeUri, parseCsv, txt, val } from '@/lib/import-format-shared';
import { addFolder, cardBrand, makeLoginCipher, nameFromUrl, normalizeUri, parseCsv, parseSerializedUris, txt, val } from '@/lib/import-format-shared';
export function parseChromeCsv(textRaw: string): CiphersImportPayload {
const rows = parseCsv(textRaw);
@@ -92,8 +92,8 @@ export function parseBitwardenCsv(textRaw: string): CiphersImportPayload {
login.username = val(row.login_username);
login.password = val(row.login_password);
login.totp = val(row.login_totp);
const uri = normalizeUri(row.login_uri || '');
login.uris = uri ? [{ uri, match: null }] : null;
const uris = parseSerializedUris(row.login_uri || '');
login.uris = uris.length ? uris.map((uri) => ({ uri, match: null })) : null;
const idx = result.ciphers.push(cipher) - 1;
addFolder(result, row.folder, idx);
}