aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/models/importSessions.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--packages/trpc/models/importSessions.ts44
1 files changed, 28 insertions, 16 deletions
diff --git a/packages/trpc/models/importSessions.ts b/packages/trpc/models/importSessions.ts
index 56bcaf9a..c324cf7f 100644
--- a/packages/trpc/models/importSessions.ts
+++ b/packages/trpc/models/importSessions.ts
@@ -123,22 +123,34 @@ export class ImportSession {
};
statusCounts.forEach((statusCount) => {
- stats.totalBookmarks += statusCount.count;
- if (
- statusCount.crawlStatus === "success" &&
- statusCount.taggingStatus === "success"
- ) {
- stats.completedBookmarks += statusCount.count;
- } else if (
- statusCount.crawlStatus === "failure" ||
- statusCount.taggingStatus === "failure"
- ) {
- stats.failedBookmarks += statusCount.count;
- } else if (
- statusCount.crawlStatus === "pending" ||
- statusCount.taggingStatus === "pending"
- ) {
- stats.pendingBookmarks += statusCount.count;
+ const { crawlStatus, taggingStatus, count } = statusCount;
+
+ stats.totalBookmarks += count;
+
+ const isCrawlFailure = crawlStatus === "failure";
+ const isTagFailure = taggingStatus === "failure";
+ if (isCrawlFailure || isTagFailure) {
+ stats.failedBookmarks += count;
+ return;
+ }
+
+ const isCrawlPending = crawlStatus === "pending";
+ const isTagPending = taggingStatus === "pending";
+ if (isCrawlPending || isTagPending) {
+ stats.pendingBookmarks += count;
+ return;
+ }
+
+ const isCrawlSuccessfulOrNotRequired =
+ crawlStatus === "success" || crawlStatus === null;
+ const isTagSuccessfulOrUnknown =
+ taggingStatus === "success" || taggingStatus === null;
+
+ if (isCrawlSuccessfulOrNotRequired && isTagSuccessfulOrUnknown) {
+ stats.completedBookmarks += count;
+ } else {
+ // Fallback to pending to avoid leaving imports unclassified
+ stats.pendingBookmarks += count;
}
});