]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/controllers/activitypub/inbox.ts
Fix lint
[github/Chocobozzz/PeerTube.git] / server / controllers / activitypub / inbox.ts
index eee21765020ddcd854111ff872ded0e6d77ef5ea..30e7f706b95448bf45d2ad012625d22c3b1f6775 100644 (file)
@@ -1,24 +1,24 @@
 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, processFlagActivity, processUpdateActivity } from '../../lib'
-import { processAddActivity } from '../../lib/activitypub/process-add'
-import { asyncMiddleware, checkSignature, signatureValidator } from '../../middlewares'
+import { processActivities } from '../../lib/activitypub/process/process'
+import { asyncMiddleware, checkSignature, localAccountValidator, signatureValidator } from '../../middlewares'
 import { activityPubValidator } from '../../middlewares/validators/activitypub/activity'
 
-const processActivity: { [ P in ActivityType ]: (activity: Activity) => Promise<any> } = {
-  Create: processCreateActivity,
-  Add: processAddActivity,
-  Update: processUpdateActivity,
-  Flag: processFlagActivity
-}
-
 const inboxRouter = express.Router()
 
-inboxRouter.post('/',
+inboxRouter.post('/inbox',
+  signatureValidator,
+  asyncMiddleware(checkSignature),
+  activityPubValidator,
+  asyncMiddleware(inboxController)
+)
+
+inboxRouter.post('/account/:name/inbox',
   signatureValidator,
   asyncMiddleware(checkSignature),
+  localAccountValidator,
   activityPubValidator,
   asyncMiddleware(inboxController)
 )
@@ -44,21 +44,11 @@ async function inboxController (req: express.Request, res: express.Response, nex
   }
 
   // Only keep activities we are able to process
+  logger.debug('Filtering activities...', { activities })
   activities = activities.filter(a => isActivityValid(a))
+  logger.debug('We keep %d activities.', activities.length, { activities })
 
-  await processActivities(activities)
+  await processActivities(activities, res.locals.account)
 
   res.status(204).end()
 }
-
-async function processActivities (activities: Activity[]) {
-  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)
-  }
-}