-import { Transaction } from 'sequelize'
-import { AccountModel } from '../../models/account/account'
-import { activitypubHttpJobScheduler, ActivityPubHttpPayload } from '../jobs/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: AccountModel, 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
}
- return activitypubHttpJobScheduler.createJob(t, 'activitypubHttpFetcherHandler', jobPayload)
+ const payload = {
+ uris: [ actor.outboxUrl ]
+ }
+
+ return JobQueue.Instance.createJob({ type: 'activitypub-http-fetcher', payload })
}
export {