From f05a1c30c15d2ae35c11e241ca039a72eeb7d6ad Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 18 Jan 2018 10:53:54 +0100 Subject: Don't show videos of remote instance after unfollow --- server/lib/activitypub/process/process-delete.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'server/lib/activitypub/process') diff --git a/server/lib/activitypub/process/process-delete.ts b/server/lib/activitypub/process/process-delete.ts index 07e6a0075..03eadcbfc 100644 --- a/server/lib/activitypub/process/process-delete.ts +++ b/server/lib/activitypub/process/process-delete.ts @@ -10,21 +10,26 @@ import { VideoCommentModel } from '../../../models/video/video-comment' import { getOrCreateActorAndServerAndModel } from '../actor' async function processDeleteActivity (activity: ActivityDelete) { - const actor = await getOrCreateActorAndServerAndModel(activity.actor) const objectUrl = typeof activity.object === 'string' ? activity.object : activity.object.id - if (actor.url === objectUrl) { + if (activity.actor === objectUrl) { + let actor = await ActorModel.loadByUrl(activity.actor) + if (!actor) return + if (actor.type === 'Person') { if (!actor.Account) throw new Error('Actor ' + actor.url + ' is a person but we cannot find it in database.') + actor.Account.Actor = await actor.Account.$get('Actor') as ActorModel return processDeleteAccount(actor.Account) } else if (actor.type === 'Group') { if (!actor.VideoChannel) throw new Error('Actor ' + actor.url + ' is a group but we cannot find it in database.') + actor.VideoChannel.Actor = await actor.VideoChannel.$get('Actor') as ActorModel return processDeleteVideoChannel(actor.VideoChannel) } } + const actor = await getOrCreateActorAndServerAndModel(activity.actor) { const videoCommentInstance = await VideoCommentModel.loadByUrlAndPopulateAccount(objectUrl) if (videoCommentInstance) { -- cgit v1.2.3