mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
Fetch outbox to grab old activities
This commit is contained in:
parent
e71bcc0f4b
commit
c986175d68
15 changed files with 146 additions and 46 deletions
|
@ -1,27 +1,10 @@
|
|||
import * as express from 'express'
|
||||
import { Activity, ActivityPubCollection, ActivityPubOrderedCollection, ActivityType, RootActivity } from '../../../shared'
|
||||
import { Activity, ActivityPubCollection, ActivityPubOrderedCollection, RootActivity } from '../../../shared'
|
||||
import { logger } from '../../helpers'
|
||||
import { isActivityValid } from '../../helpers/custom-validators/activitypub/activity'
|
||||
import { processCreateActivity, processUpdateActivity, processUndoActivity } from '../../lib'
|
||||
import { processAcceptActivity } from '../../lib/activitypub/process/process-accept'
|
||||
import { processAddActivity } from '../../lib/activitypub/process/process-add'
|
||||
import { processAnnounceActivity } from '../../lib/activitypub/process/process-announce'
|
||||
import { processDeleteActivity } from '../../lib/activitypub/process/process-delete'
|
||||
import { processFollowActivity } from '../../lib/activitypub/process/process-follow'
|
||||
import { processActivities } from '../../lib/activitypub/process/process'
|
||||
import { asyncMiddleware, checkSignature, localAccountValidator, signatureValidator } from '../../middlewares'
|
||||
import { activityPubValidator } from '../../middlewares/validators/activitypub/activity'
|
||||
import { AccountInstance } from '../../models/account/account-interface'
|
||||
|
||||
const processActivity: { [ P in ActivityType ]: (activity: Activity, inboxAccount?: AccountInstance) => Promise<any> } = {
|
||||
Create: processCreateActivity,
|
||||
Add: processAddActivity,
|
||||
Update: processUpdateActivity,
|
||||
Delete: processDeleteActivity,
|
||||
Follow: processFollowActivity,
|
||||
Accept: processAcceptActivity,
|
||||
Announce: processAnnounceActivity,
|
||||
Undo: processUndoActivity
|
||||
}
|
||||
|
||||
const inboxRouter = express.Router()
|
||||
|
||||
|
@ -69,15 +52,3 @@ async function inboxController (req: express.Request, res: express.Response, nex
|
|||
|
||||
res.status(204).end()
|
||||
}
|
||||
|
||||
async function processActivities (activities: Activity[], inboxAccount?: AccountInstance) {
|
||||
for (const activity of activities) {
|
||||
const activityProcessor = processActivity[activity.type]
|
||||
if (activityProcessor === undefined) {
|
||||
logger.warn('Unknown activity type %s.', activity.type, { activityId: activity.id })
|
||||
continue
|
||||
}
|
||||
|
||||
await activityProcessor(activity, inboxAccount)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue