summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel/like.ts
blob: a6f02a1f8f54ac7001695981585747aade8bd7eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { IRemoteUser } from '../../../models/entities/user';
import { ILike, getApId } from '../type';
import create from '../../../services/note/reaction/create';
import { fetchNote, extractEmojis } from '../models/note';

export default async (actor: IRemoteUser, activity: ILike) => {
	const targetUri = getApId(activity.object);

	const note = await fetchNote(targetUri);
	if (!note) return `skip: target note not found ${targetUri}`;

	await extractEmojis(activity.tag || [], actor.host).catch(() => null);

	await create(actor, note, activity._misskey_reaction || activity.content || activity.name);
	return `ok`;
};