X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Ffetch.ts;h=a8eefff80a916e472f7772d260f9144f31b14f84;hb=5cf135001124cd19183336dbfcae1cd432217b00;hp=fd2af0761b93c62eca9db3d912dc1b3ac442c6e8;hpb=c986175d68a18e96fbd41537a05c7796a2c64f38;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/fetch.ts b/server/lib/activitypub/fetch.ts index fd2af0761..a8eefff80 100644 --- a/server/lib/activitypub/fetch.ts +++ b/server/lib/activitypub/fetch.ts @@ -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 {