Skip to content

Commit b55245d

Browse files
committed
fix: improve item and feed processing logic for archiving
1 parent 341ae00 commit b55245d

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/services/archiver.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)