Skip scoring RSS items for now

This commit is contained in:
Hongbo Wu 2024-06-21 12:00:53 +08:00
parent 5a63af25f9
commit 977a1a90e5

View file

@ -1,5 +1,10 @@
import { findLibraryItemById } from '../services/library_item'
import { SubscriptionType } from '../entity/subscription'
import {
findLibraryItemById,
updateLibraryItem,
} from '../services/library_item'
import { Feature, scoreClient } from '../services/score'
import { findSubscriptionsByNames } from '../services/subscriptions'
import { enqueueUpdateHomeJob } from '../utils/createTask'
import { lanaugeToCode } from '../utils/helpers'
import { logger } from '../utils/logger'
@ -31,6 +36,8 @@ export const scoreLibraryItem = async (
'author',
'itemLanguage',
'wordCount',
'subscription',
'publishedAt',
],
})
if (!libraryItem) {
@ -38,6 +45,26 @@ export const scoreLibraryItem = async (
return
}
let subscription
if (libraryItem.subscription) {
const subscriptions = await findSubscriptionsByNames(userId, [
libraryItem.subscription,
])
if (subscriptions.length) {
subscription = subscriptions[0]
if (subscription.type === SubscriptionType.Rss) {
logger.info('Skipping scoring for RSS subscription', {
userId,
libraryItemId,
})
return
}
}
}
const itemFeatures = {
[libraryItem.id]: {
library_item_id: libraryItem.id,
@ -53,7 +80,15 @@ export const scoreLibraryItem = async (
language: lanaugeToCode(libraryItem.itemLanguage || 'English'),
word_count: libraryItem.wordCount,
published_at: libraryItem.publishedAt,
subscription: libraryItem.subscription,
subscription: subscription?.name,
inbox_folder: libraryItem.folder === 'inbox',
is_feed: subscription?.type === SubscriptionType.Rss,
is_newsletter: subscription?.type === SubscriptionType.Newsletter,
is_subscription: !!subscription,
item_word_count: libraryItem.wordCount,
subscription_auto_add_to_library: subscription?.autoAddToLibrary,
subscription_fetch_content: subscription?.fetchContent,
subscription_count: 0,
} as Feature,
}
@ -69,15 +104,15 @@ export const scoreLibraryItem = async (
throw new Error('Failed to score library item')
}
// await updateLibraryItem(
// libraryItem.id,
// {
// score,
// },
// userId,
// undefined,
// true
// )
await updateLibraryItem(
libraryItem.id,
{
score,
},
userId,
undefined,
true
)
logger.info('Library item scored', data)
try {