diff --git a/packages/api/src/utils/search.ts b/packages/api/src/utils/search.ts index f09b2b3af..c0244926d 100644 --- a/packages/api/src/utils/search.ts +++ b/packages/api/src/utils/search.ts @@ -280,6 +280,7 @@ export const parseSearchQuery = (query: string | undefined): SearchFilter => { 'sort', 'has', 'saved', + 'author', 'published', 'subscription', 'language', @@ -355,6 +356,7 @@ export const parseSearchQuery = (query: string | undefined): SearchFilter => { break } // match filters + case 'author': case 'title': case 'description': case 'content': { diff --git a/packages/api/test/utils/search.test.ts b/packages/api/test/utils/search.test.ts index a8b505f8c..6d8d8e3de 100644 --- a/packages/api/test/utils/search.test.ts +++ b/packages/api/test/utils/search.test.ts @@ -151,3 +151,11 @@ describe('query with in param set to invalid value', () => { expect(result.inFilter).to.eq(InFilter.INBOX) }) }) + +describe('query with author set', () => { + it('adds author to the match filters', () => { + const result = parseSearchQuery('author:"Omnivore Blog"') + expect(result.matchFilters).to.contain({ field: 'author', value:'omnivore blog' }) + }) +}) +