kopia lustrzana https://github.com/Stopka/fedicrawl
35 wiersze
1.2 KiB
TypeScript
35 wiersze
1.2 KiB
TypeScript
import StorageFeedData from './StorageFeedData'
|
|
import Feed from '../Definitions/Feed'
|
|
import { ElasticClient } from '../ElasticClient'
|
|
import feedIndex from '../Definitions/feedIndex'
|
|
import getFeed from './getFeed'
|
|
|
|
export const updateFeed = async (elastic: ElasticClient, feed:Feed, feedData:StorageFeedData):Promise<Feed> => {
|
|
await elastic.update<Feed>({
|
|
index: feedIndex,
|
|
id: feed.fullName,
|
|
doc: {
|
|
url: feedData.url,
|
|
bot: feedData.bot,
|
|
avatar: feedData.avatar,
|
|
followersCount: feedData.followersCount,
|
|
followingCount: feedData.followingCount,
|
|
statusesCount: feedData.statusesCount,
|
|
lastStatusAt: feedData.lastStatusAt,
|
|
description: feedData.description,
|
|
displayName: feedData.displayName,
|
|
locked: feedData.locked,
|
|
createdAt: feedData.createdAt,
|
|
refreshedAt: (new Date()).getTime(),
|
|
type: feedData.type,
|
|
fields: feedData.fields.map(field => {
|
|
return { name: field.name, value: field.value }
|
|
}),
|
|
extractedEmails: feedData.extractedEmails,
|
|
extractedTags: feedData.extractedTags
|
|
}
|
|
})
|
|
console.info('Updated feed', { feedName: feed.name, nodeDomain: feed.domain })
|
|
return getFeed(elastic, feed.fullName)
|
|
}
|