Add validation before refreshing feed URLs

This commit is contained in:
Jackson Harper 2024-01-19 16:25:05 +08:00
parent 2dbff6a6ab
commit 84375b7c36
2 changed files with 8 additions and 2 deletions

View file

@ -4,6 +4,7 @@ import { QUEUE_NAME } from '../../queue-processor'
import { redisDataSource } from '../../redis_data_source'
import { RssSubscriptionGroup } from '../../utils/createTask'
import { stringToHash } from '../../utils/helpers'
import { validateUrl } from '../../services/create_page_save_request'
export const refreshAllFeeds = async (db: DataSource): Promise<boolean> => {
const subscriptionGroups = (await db.createEntityManager().query(
@ -42,7 +43,7 @@ export const refreshAllFeeds = async (db: DataSource): Promise<boolean> => {
}
const updateSubscriptionGroup = async (group: RssSubscriptionGroup) => {
const feedURL = group.url
var feedURL = group.url
const userList = JSON.stringify(group.userIds.sort())
if (!feedURL) {
console.error('no url for feed group', group)
@ -52,6 +53,12 @@ const updateSubscriptionGroup = async (group: RssSubscriptionGroup) => {
console.error('no userlist for feed group', group)
return
}
try {
feedURL = validateUrl(feedURL).toString()
} catch (err) {
console.log('not refreshing invalid feed url: ' { feedURL })
}
const jobid = `refresh-feed_${stringToHash(feedURL)}_${stringToHash(
userList
)}`

View file

@ -26,7 +26,6 @@ import {
SearchItem,
} from '../generated/graphql'
import { createPubSubClient } from '../pubsub'
import { redisDataSource } from '../redis_data_source'
import { Claims, WithDataSourcesContext } from '../resolvers/types'
import { validateUrl } from '../services/create_page_save_request'
import { updateLibraryItem } from '../services/library_item'