X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Factivitypub%2Fsend%2Fsend-accept.ts;h=4c9bcbb0b3f99086733be1e4d908f412fee85773;hb=bae616273d455d225d131eb17c56db6c20a0b6b3;hp=4eaa329d935cf81e2affa7b8710e891ec238eab1;hpb=e12a009254de33bcdbd8334992980fa029c3e10d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/activitypub/send/send-accept.ts b/server/lib/activitypub/send/send-accept.ts index 4eaa329d9..4c9bcbb0b 100644 --- a/server/lib/activitypub/send/send-accept.ts +++ b/server/lib/activitypub/send/send-accept.ts @@ -1,22 +1,32 @@ -import { Transaction } from 'sequelize' -import { ActivityAccept, ActivityFollow } from '../../../../shared/models/activitypub' -import { ActorModel } from '../../../models/activitypub/actor' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { getActorFollowAcceptActivityPubUrl, getActorFollowActivityPubUrl } from '../url' -import { unicastTo } from './misc' -import { followActivityData } from './send-follow' - -async function sendAccept (actorFollow: ActorFollowModel, t: Transaction) { +import { ActivityAccept, ActivityFollow } from '@shared/models' +import { logger } from '../../../helpers/logger' +import { MActor, MActorFollowActors } from '../../../types/models' +import { getLocalActorFollowAcceptActivityPubUrl } from '../url' +import { buildFollowActivity } from './send-follow' +import { unicastTo } from './shared/send-utils' + +function sendAccept (actorFollow: MActorFollowActors) { const follower = actorFollow.ActorFollower const me = actorFollow.ActorFollowing - const followUrl = getActorFollowActivityPubUrl(actorFollow) - const followData = followActivityData(followUrl, follower, me) + if (!follower.serverId) { // This should never happen + logger.warn('Do not sending accept to local follower.') + return + } + + logger.info('Creating job to accept follower %s.', follower.url) + + const followData = buildFollowActivity(actorFollow.url, follower, me) - const url = getActorFollowAcceptActivityPubUrl(actorFollow) - const data = acceptActivityData(url, me, followData) + const url = getLocalActorFollowAcceptActivityPubUrl(actorFollow) + const data = buildAcceptActivity(url, me, followData) - return unicastTo(data, me, follower.inboxUrl, t) + return unicastTo({ + data, + byActor: me, + toActorUrl: follower.inboxUrl, + contextType: 'Accept' + }) } // --------------------------------------------------------------------------- @@ -27,7 +37,7 @@ export { // --------------------------------------------------------------------------- -function acceptActivityData (url: string, byActor: ActorModel, followActivityData: ActivityFollow): ActivityAccept { +function buildAcceptActivity (url: string, byActor: MActor, followActivityData: ActivityFollow): ActivityAccept { return { type: 'Accept', id: url,