]>
Commit | Line | Data |
---|---|---|
94a5ff8a | 1 | import * as kue from 'kue' |
da854ddd | 2 | import { logger } from '../../../helpers/logger' |
3fd3ab2d | 3 | import { processActivities } from '../../activitypub/process' |
94a5ff8a | 4 | import { ActivitypubHttpBroadcastPayload } from './activitypub-http-broadcast' |
8fffe21a C |
5 | import { crawlCollectionPage } from '../../activitypub/crawl' |
6 | import { Activity } from '../../../../shared/models/activitypub' | |
c986175d | 7 | |
94a5ff8a C |
8 | export type ActivitypubHttpFetcherPayload = { |
9 | uris: string[] | |
10 | } | |
11 | ||
12 | async function processActivityPubHttpFetcher (job: kue.Job) { | |
13 | logger.info('Processing ActivityPub fetcher in job %d.', job.id) | |
14 | ||
15 | const payload = job.data as ActivitypubHttpBroadcastPayload | |
c986175d | 16 | |
c986175d | 17 | for (const uri of payload.uris) { |
8fffe21a | 18 | await crawlCollectionPage<Activity>(uri, (items) => processActivities(items)) |
c986175d C |
19 | } |
20 | } | |
21 | ||
c986175d C |
22 | // --------------------------------------------------------------------------- |
23 | ||
24 | export { | |
94a5ff8a | 25 | processActivityPubHttpFetcher |
c986175d | 26 | } |