From 43afd4255e02ee165d246fbe25874bd063d90bab Mon Sep 17 00:00:00 2001 From: Justin Baur <19896123+justindbaur@users.noreply.github.com> Date: Thu, 20 Mar 2025 12:47:12 -0400 Subject: [PATCH] Update to new field syntax --- .../filtering/basic-vault-filter.handler.spec.ts | 14 ++++++++++++-- .../vault/filtering/basic-vault-filter.handler.ts | 6 +++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libs/common/src/vault/filtering/basic-vault-filter.handler.spec.ts b/libs/common/src/vault/filtering/basic-vault-filter.handler.spec.ts index ef9c47b13f7..6339f7474c9 100644 --- a/libs/common/src/vault/filtering/basic-vault-filter.handler.spec.ts +++ b/libs/common/src/vault/filtering/basic-vault-filter.handler.spec.ts @@ -10,12 +10,12 @@ describe("BasicVaultFilterHandler", () => { basicFilter: { vaults: [null, "org_vault"], collections: ["collection_one", "collection_two"], - fields: [], + fields: ["field_one", "field_two"], types: ["Login", "Card"], folders: ["folder_one", "folder_two"], }, rawFilter: - '(in:my_vault OR in:org:"org_vault") AND (in:folder:"folder_one" OR in:folder:"folder_two") AND (in:collection:"collection_one" AND in:collection:"collection_two") AND (type:"Login" OR type:"Card")', + '(in:my_vault OR in:org:"org_vault") AND (in:folder:"folder_one" OR in:folder:"folder_two") AND (in:collection:"collection_one" AND in:collection:"collection_two") AND (type:"Login" OR type:"Card") AND (has:field:"field_one" AND has:field:"field_two")', }, { basicFilter: { @@ -68,6 +68,16 @@ describe("BasicVaultFilterHandler", () => { rawFilter: '(in:folder:"folder_one" OR in:folder:"Folder two") AND (type:"Card" OR type:"Login")', }, + { + basicFilter: { + vaults: [], + collections: [], + fields: ["field_one", "Field two"], + types: [], + folders: [], + }, + rawFilter: '(has:field:"field_one" AND has:field:"Field two")', + }, { // Example of a filter that we could pretty basicFilter: { diff --git a/libs/common/src/vault/filtering/basic-vault-filter.handler.ts b/libs/common/src/vault/filtering/basic-vault-filter.handler.ts index ce930af8ccc..eefb3707f2b 100644 --- a/libs/common/src/vault/filtering/basic-vault-filter.handler.ts +++ b/libs/common/src/vault/filtering/basic-vault-filter.handler.ts @@ -3,7 +3,7 @@ import { AstNode, isAnd, isBinary, - isFieldTerm, + isHasField, isInCollection, isInFolder, isInMyVault, @@ -101,7 +101,7 @@ export class BasicVaultFilterHandler { } else if (isTypeFilter(node)) { expressionType = "types"; value = node.cipherType; - } else if (isFieldTerm(node)) { + } else if (isHasField(node)) { expressionType = "fields"; value = node.field; } else { @@ -243,7 +243,7 @@ export class BasicVaultFilterHandler { addGroup(basicFilter.folders, "in:folder", "OR"); addGroup(basicFilter.collections, "in:collection", "AND"); addGroup(basicFilter.types, "type", "OR"); - addGroup(basicFilter.fields, "field", "AND"); + addGroup(basicFilter.fields, "has:field", "AND"); return filter; }