]>
Commit | Line | Data |
---|---|---|
54141398 | 1 | import { Transaction } from 'sequelize' |
3fd3ab2d | 2 | import { ActivityDelete } from '../../../../shared/models/activitypub' |
50d6de9c | 3 | import { ActorModel } from '../../../models/activitypub/actor' |
3fd3ab2d | 4 | import { VideoModel } from '../../../models/video/video' |
3fd3ab2d | 5 | import { VideoShareModel } from '../../../models/video/video-share' |
54141398 C |
6 | import { broadcastToFollowers } from './misc' |
7 | ||
3fd3ab2d | 8 | async function sendDeleteVideo (video: VideoModel, t: Transaction) { |
50d6de9c | 9 | const byActor = video.VideoChannel.Account.Actor |
54141398 | 10 | |
50d6de9c | 11 | const data = deleteActivityData(video.url, byActor) |
54141398 | 12 | |
50d6de9c C |
13 | const actorsInvolved = await VideoShareModel.loadActorsByShare(video.id, t) |
14 | actorsInvolved.push(byActor) | |
54141398 | 15 | |
50d6de9c | 16 | return broadcastToFollowers(data, byActor, actorsInvolved, t) |
54141398 C |
17 | } |
18 | ||
50d6de9c C |
19 | async function sendDeleteActor (byActor: ActorModel, t: Transaction) { |
20 | const data = deleteActivityData(byActor.url, byActor) | |
54141398 | 21 | |
50d6de9c | 22 | return broadcastToFollowers(data, byActor, [ byActor ], t) |
54141398 C |
23 | } |
24 | ||
25 | // --------------------------------------------------------------------------- | |
26 | ||
27 | export { | |
54141398 | 28 | sendDeleteVideo, |
50d6de9c | 29 | sendDeleteActor |
54141398 C |
30 | } |
31 | ||
32 | // --------------------------------------------------------------------------- | |
33 | ||
50d6de9c | 34 | function deleteActivityData (url: string, byActor: ActorModel): ActivityDelete { |
3fd3ab2d | 35 | return { |
54141398 C |
36 | type: 'Delete', |
37 | id: url, | |
50d6de9c | 38 | actor: byActor.url |
54141398 | 39 | } |
54141398 | 40 | } |