mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
add in:subscription and in:library in search scope
This commit is contained in:
parent
1a9df90576
commit
e3af3f526c
2 changed files with 51 additions and 0 deletions
|
|
@ -148,6 +148,50 @@ const appendInFilter = (builder: ESBuilder, filter: InFilter): ESBuilder => {
|
|||
gte: 'now-14d',
|
||||
},
|
||||
})
|
||||
case InFilter.LIBRARY:
|
||||
return builder.query('nested', {
|
||||
path: 'labels',
|
||||
query: {
|
||||
bool: {
|
||||
should: [
|
||||
{
|
||||
term: {
|
||||
'labels.name': 'library',
|
||||
},
|
||||
},
|
||||
{
|
||||
bool: {
|
||||
must_not: {
|
||||
terms: {
|
||||
'labels.name': ['newsletter', 'rss'],
|
||||
},
|
||||
},
|
||||
should: [],
|
||||
},
|
||||
},
|
||||
],
|
||||
minimum_should_match: 1,
|
||||
},
|
||||
},
|
||||
})
|
||||
case InFilter.SUBSCRIPTION:
|
||||
return builder
|
||||
.andQuery('nested', {
|
||||
path: 'labels',
|
||||
query: {
|
||||
terms: {
|
||||
'labels.name': ['newsletter', 'rss'],
|
||||
},
|
||||
},
|
||||
})
|
||||
.notQuery('nested', {
|
||||
path: 'labels',
|
||||
query: {
|
||||
term: {
|
||||
'labels.name': 'library',
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
return builder
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ export enum InFilter {
|
|||
INBOX,
|
||||
ARCHIVE,
|
||||
TRASH,
|
||||
SUBSCRIPTION,
|
||||
LIBRARY,
|
||||
}
|
||||
|
||||
export interface SearchFilter {
|
||||
|
|
@ -123,7 +125,12 @@ const parseInFilter = (
|
|||
return InFilter.ARCHIVE
|
||||
case 'TRASH':
|
||||
return InFilter.TRASH
|
||||
case 'SUBSCRIPTION':
|
||||
return InFilter.SUBSCRIPTION
|
||||
case 'LIBRARY':
|
||||
return InFilter.LIBRARY
|
||||
}
|
||||
|
||||
return query ? InFilter.ALL : InFilter.INBOX
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue