1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 10:49:28 +02:00

Stronger actor association typing in AP functions

This commit is contained in:
Chocobozzz 2019-08-09 08:17:16 +02:00
parent 511765c9f8
commit 5224c394b3
No known key found for this signature in database
GPG key ID: 583A612D890159BE
31 changed files with 146 additions and 89 deletions

View file

@ -11,6 +11,7 @@ import { getOrCreateVideoAndAccountAndChannel } from '../videos'
import { VideoShareModel } from '../../../models/video/video-share'
import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy'
import { APProcessorOptions } from '../../../typings/activitypub-processor.model'
import { SignatureActorModel } from '../../../typings/models'
async function processUndoActivity (options: APProcessorOptions<ActivityUndo>) {
const { activity, byActor } = options
@ -53,7 +54,7 @@ export {
// ---------------------------------------------------------------------------
async function processUndoLike (byActor: ActorModel, activity: ActivityUndo) {
async function processUndoLike (byActor: SignatureActorModel, activity: ActivityUndo) {
const likeActivity = activity.object as ActivityLike
const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: likeActivity.object })
@ -76,7 +77,7 @@ async function processUndoLike (byActor: ActorModel, activity: ActivityUndo) {
})
}
async function processUndoDislike (byActor: ActorModel, activity: ActivityUndo) {
async function processUndoDislike (byActor: SignatureActorModel, activity: ActivityUndo) {
const dislike = activity.object.type === 'Dislike'
? activity.object
: activity.object.object as DislikeObject
@ -101,7 +102,7 @@ async function processUndoDislike (byActor: ActorModel, activity: ActivityUndo)
})
}
async function processUndoCacheFile (byActor: ActorModel, activity: ActivityUndo) {
async function processUndoCacheFile (byActor: SignatureActorModel, activity: ActivityUndo) {
const cacheFileObject = activity.object.object as CacheFileObject
const { video } = await getOrCreateVideoAndAccountAndChannel({ videoObject: cacheFileObject.object })
@ -126,7 +127,7 @@ async function processUndoCacheFile (byActor: ActorModel, activity: ActivityUndo
})
}
function processUndoFollow (follower: ActorModel, followActivity: ActivityFollow) {
function processUndoFollow (follower: SignatureActorModel, followActivity: ActivityFollow) {
return sequelizeTypescript.transaction(async t => {
const following = await ActorModel.loadByUrlAndPopulateAccountAndChannel(followActivity.object, t)
const actorFollow = await ActorFollowModel.loadByActorAndTarget(follower.id, following.id, t)
@ -139,7 +140,7 @@ function processUndoFollow (follower: ActorModel, followActivity: ActivityFollow
})
}
function processUndoAnnounce (byActor: ActorModel, announceActivity: ActivityAnnounce) {
function processUndoAnnounce (byActor: SignatureActorModel, announceActivity: ActivityAnnounce) {
return sequelizeTypescript.transaction(async t => {
const share = await VideoShareModel.loadByUrl(announceActivity.id, t)
if (!share) throw new Error(`Unknown video share ${announceActivity.id}.`)