feat: show soft deleted pages within 14 days by searching in:trash

This commit is contained in:
Hongbo Wu 2023-06-30 18:05:41 +08:00
parent 10e5059db7
commit ba35fa4447
2 changed files with 15 additions and 1 deletions

View file

@ -92,6 +92,17 @@ const appendInFilter = (builder: ESBuilder, filter: InFilter): ESBuilder => {
return builder.query('exists', { field: 'archivedAt' })
case InFilter.INBOX:
return builder.notQuery('exists', { field: 'archivedAt' })
case InFilter.TRASH:
// return only deleted pages within 14 days
return builder
.query('term', {
state: ArticleSavingRequestStatus.Deleted,
})
.andQuery('range', {
updatedAt: {
gte: 'now-14d',
},
})
}
return builder
}
@ -515,7 +526,7 @@ const buildSearchBody = (userId: string, args: PageSearchArgs) => {
state: ArticleSavingRequestStatus.Processing,
})
}
if (!args.includeDeleted) {
if (!args.includeDeleted && inFilter !== InFilter.TRASH) {
builder = builder.notQuery('term', {
state: ArticleSavingRequestStatus.Deleted,
})

View file

@ -21,6 +21,7 @@ export enum InFilter {
ALL,
INBOX,
ARCHIVE,
TRASH,
}
export interface SearchFilter {
@ -120,6 +121,8 @@ const parseInFilter = (
return InFilter.INBOX
case 'ARCHIVE':
return InFilter.ARCHIVE
case 'TRASH':
return InFilter.TRASH
}
return query ? InFilter.ALL : InFilter.INBOX
}