5
5
/* eslint-disable @typescript-eslint/no-floating-promises */
6
6
import { Readability } from '@omnivore/readability'
7
7
import graphqlFields from 'graphql-fields'
8
+ import { IsNull } from 'typeorm'
8
9
import { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity'
9
- import { LibraryItem } from '../../entity/library_item'
10
+ import { LibraryItem , LibraryItemState } from '../../entity/library_item'
10
11
import { env } from '../../env'
11
12
import {
12
13
ArticleError ,
@@ -390,7 +391,10 @@ export const getArticleResolver = authorized<
390
391
const libraryItem = await authTrx ( ( tx ) =>
391
392
tx . withRepository ( libraryItemRepository ) . findOne ( {
392
393
select : selectColumns ,
393
- where,
394
+ where : {
395
+ ...where ,
396
+ deletedAt : IsNull ( ) ,
397
+ } ,
394
398
relations : {
395
399
labels : true ,
396
400
highlights : {
@@ -406,7 +410,7 @@ export const getArticleResolver = authorized<
406
410
} )
407
411
)
408
412
409
- if ( ! libraryItem || libraryItem . folder === InFilter . TRASH ) {
413
+ if ( ! libraryItem ) {
410
414
return { errorCodes : [ ArticleErrorCode . NotFound ] }
411
415
}
412
416
@@ -528,8 +532,8 @@ export const setBookmarkArticleResolver = authorized<
528
532
const deletedLibraryItem = await updateLibraryItem (
529
533
articleID ,
530
534
{
531
- folder : InFilter . TRASH ,
532
- savedAt : new Date ( ) ,
535
+ state : LibraryItemState . Deleted ,
536
+ deletedAt : new Date ( ) ,
533
537
} ,
534
538
uid ,
535
539
pubsub
@@ -737,7 +741,7 @@ export const updatesSinceResolver = authorized<
737
741
UpdatesSinceSuccess ,
738
742
UpdatesSinceError ,
739
743
QueryUpdatesSinceArgs
740
- > ( async ( _obj , { since, first, after, sort : sortParams } , { uid } ) => {
744
+ > ( async ( _obj , { since, first, after, sort : sortParams , folder } , { uid } ) => {
741
745
const sort = sortParamsToSort ( sortParams )
742
746
743
747
const startCursor = after || ''
@@ -755,7 +759,7 @@ export const updatesSinceResolver = authorized<
755
759
includeDeleted : true ,
756
760
dateFilters : [ { field : 'updatedAt' , startDate } ] ,
757
761
sort,
758
- inFilter : InFilter . ALL ,
762
+ inFilter : ( folder as InFilter ) || InFilter . ALL ,
759
763
} ,
760
764
uid
761
765
)
@@ -867,7 +871,7 @@ export const setFavoriteArticleResolver = authorized<
867
871
} )
868
872
869
873
const getUpdateReason = ( libraryItem : LibraryItem , since : Date ) => {
870
- if ( libraryItem . folder === InFilter . TRASH ) {
874
+ if ( libraryItem . deletedAt ) {
871
875
return UpdateReason . Deleted
872
876
}
873
877
if ( libraryItem . createdAt >= since ) {
0 commit comments