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

export default async (actor: IRemoteUser, activity: ILike) => {
	const id = typeof activity.object == 'string' ? activity.object : activity.object.id;
	if (id == null) throw 'missing id';

	// Transform:
	// https://misskey.ex/notes/xxxx to
	// xxxx
	const noteId = id.split('/').pop();

	const note = await Notes.findOne(noteId);
	if (note == null) {
		throw new Error();
	}

	await create(actor, note, activity._misskey_reaction);
};