]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/lib/activitypub/fetch.ts
Improve AP validation for Notes
[github/Chocobozzz/PeerTube.git] / server / lib / activitypub / fetch.ts
index fd2af0761b93c62eca9db3d912dc1b3ac442c6e8..a8eefff80a916e472f7772d260f9144f31b14f84 100644 (file)
@@ -1,13 +1,21 @@
-import { Transaction } from 'sequelize'
-import { AccountInstance } from '../../models/account/account-interface'
-import { activitypubHttpJobScheduler, ActivityPubHttpPayload } from '../jobs/activitypub-http-job-scheduler/activitypub-http-job-scheduler'
+import { logger } from '../../helpers/logger'
+import { getServerActor } from '../../helpers/utils'
+import { ActorModel } from '../../models/activitypub/actor'
+import { JobQueue } from '../job-queue'
 
-async function addFetchOutboxJob (account: AccountInstance, t: Transaction) {
-  const jobPayload: ActivityPubHttpPayload = {
-    uris: [ account.outboxUrl ]
+async function addFetchOutboxJob (actor: ActorModel) {
+  // Don't fetch ourselves
+  const serverActor = await getServerActor()
+  if (serverActor.id === actor.id) {
+    logger.error('Cannot fetch our own outbox!')
+    return undefined
   }
 
-  return activitypubHttpJobScheduler.createJob(t, 'activitypubHttpFetcherHandler', jobPayload)
+  const payload = {
+    uris: [ actor.outboxUrl ]
+  }
+
+  return JobQueue.Instance.createJob({ type: 'activitypub-http-fetcher', payload })
 }
 
 export {