mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
Merge pull request #3190 from omnivore-app/use-folders
allow use:folders in search string for new clients to filter inbox items
This commit is contained in:
commit
66b64d098d
2 changed files with 12 additions and 1 deletions
|
|
@ -46,6 +46,7 @@ export interface SearchArgs {
|
|||
includeContent?: boolean
|
||||
noFilters?: NoFilter[]
|
||||
rangeFilters?: RangeFilter[]
|
||||
useFolders?: boolean
|
||||
}
|
||||
|
||||
export interface SearchResultItem {
|
||||
|
|
@ -106,9 +107,14 @@ const buildWhereClause = (
|
|||
|
||||
if (args.inFilter !== InFilter.ALL) {
|
||||
switch (args.inFilter) {
|
||||
case InFilter.INBOX:
|
||||
case InFilter.INBOX: {
|
||||
// if useFolders is true, we only return items in the inbox folder
|
||||
args.useFolders &&
|
||||
queryBuilder.andWhere("library_item.folder = 'inbox'")
|
||||
// for old clients, we return items that are not archived
|
||||
queryBuilder.andWhere('library_item.archived_at IS NULL')
|
||||
break
|
||||
}
|
||||
case InFilter.ARCHIVE:
|
||||
queryBuilder.andWhere('library_item.archived_at IS NOT NULL')
|
||||
break
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ export interface SearchFilter {
|
|||
recommendedBy?: string
|
||||
noFilters: NoFilter[]
|
||||
rangeFilters: RangeFilter[]
|
||||
useFolders?: boolean
|
||||
}
|
||||
|
||||
export enum LabelFilterType {
|
||||
|
|
@ -444,6 +445,7 @@ export const parseSearchQuery = (query: string | undefined): SearchFilter => {
|
|||
'rss',
|
||||
'wordsCount',
|
||||
'readPosition',
|
||||
'use',
|
||||
],
|
||||
tokenize: true,
|
||||
})
|
||||
|
|
@ -546,6 +548,9 @@ export const parseSearchQuery = (query: string | undefined): SearchFilter => {
|
|||
rangeFilter && result.rangeFilters.push(rangeFilter)
|
||||
break
|
||||
}
|
||||
case 'use':
|
||||
result.useFolders = keyword.value === 'folders'
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue