@@ -50,13 +50,13 @@ export class ArchiverService {
5050
5151 private async processItems ( items : Item [ ] , archivedStatus : ItemFlagStatus ) : Promise < void > {
5252 for ( const item of items ) {
53- const hasPlaylistResource = await this . playlistResourceRepository . findOne ( {
53+ const hasPlaylistResource = ! ! ( await this . playlistResourceRepository . findOne ( {
5454 where : { item : { id : item . id } } ,
55- } ) ;
55+ } ) ) ;
5656
57- const hasClip = await this . clipRepository . findOne ( {
57+ const hasClip = ! ! ( await this . clipRepository . findOne ( {
5858 where : { item : { id : item . id } } ,
59- } ) ;
59+ } ) ) ;
6060
6161 if ( hasPlaylistResource || hasClip ) {
6262 item . item_flag_status = archivedStatus ;
@@ -90,14 +90,17 @@ export class ArchiverService {
9090 relations : [ 'item_flag_status' ]
9191 } ) ;
9292
93- if ( items . length === 0 ) {
94- await this . feedRepositoryReadWrite . delete ( feed . id ) ;
95- } else {
93+ if ( items . length > 0 ) {
9694 const activeOrPendingItems = items . filter ( item =>
97- [ ItemFlagStatusStatusEnum . Active , ItemFlagStatusStatusEnum . PendingArchive ] . includes ( item . item_flag_status . id )
95+ [ ItemFlagStatusStatusEnum . Active , ItemFlagStatusStatusEnum . PendingArchive ]
96+ . includes ( item . item_flag_status . id )
9897 ) ;
9998 await this . processItems ( activeOrPendingItems , archivedStatus ) ;
99+
100100 }
101+
102+ feed . feed_flag_status = { ...feed . feed_flag_status , id : FeedFlagStatusStatusEnum . Archived } ;
103+ await this . feedRepositoryReadWrite . save ( feed ) ;
101104 }
102105 }
103106
0 commit comments