-import { ActorModel } from '../../../models/activitypub/actor'
-import { getOrCreateActorAndServerAndModel } from '../actor'
-import { forwardActivity, forwardVideoRelatedActivity } from '../send/utils'
-import { getOrCreateAccountAndVideoAndChannel } from '../videos'
-import { getActorsInvolvedInVideo } from '../audience'
-
-async function processLikeActivity (activity: ActivityLike) {
- const actor = await getOrCreateActorAndServerAndModel(activity.actor)
-
- return processLikeVideo(actor, activity)
+import { APProcessorOptions } from '../../../types/activitypub-processor.model'
+import { MActorSignature } from '../../../types/models'
+import { forwardVideoRelatedActivity } from '../send/utils'
+import { getOrCreateVideoAndAccountAndChannel } from '../videos'
+
+async function processLikeActivity (options: APProcessorOptions<ActivityLike>) {
+ const { activity, byActor } = options
+ return retryTransactionWrapper(processLikeVideo, byActor, activity)