kopia lustrzana https://github.com/Stopka/fedicrawl
23 wiersze
943 B
TypeScript
23 wiersze
943 B
TypeScript
import { FeedData } from '../../Fediverse/Providers/FeedData'
|
|
import { refreshFeed } from './refreshFeed'
|
|
import { addFeed } from './addFeed'
|
|
import Feed from '../../Storage/Definitions/Feed'
|
|
import Node from '../../Storage/Definitions/Node'
|
|
import { ElasticClient } from '../../Storage/ElasticClient'
|
|
import getFeed from '../../Storage/Feeds/getFeed'
|
|
|
|
export const refreshOrAddFeed = async (elastic: ElasticClient, node:Node, feedData:FeedData):Promise<Feed> => {
|
|
let feed:Feed|null = null
|
|
try {
|
|
feed = await getFeed(elastic, `${feedData.name}@${node.domain}`)
|
|
} catch (e) {
|
|
|
|
}
|
|
if (feed) {
|
|
console.info('Refreshing feed', { nodeDomain: node.domain, feedName: feedData.name, feedType: feedData.type })
|
|
return await refreshFeed(elastic, feed, feedData, node)
|
|
}
|
|
console.info('Adding feed', { nodeDomain: node.domain, feedName: feedData.name, feedType: feedData.type })
|
|
return await addFeed(elastic, node, feedData)
|
|
}
|