summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel/undo/announce.ts
blob: 7bb9d7fcad2ae9951100acaa086fd5bfa93eefb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import { Notes } from '@/models/index';
import { IRemoteUser } from '@/models/entities/user';
import { IAnnounce, getApId } from '../../type';
import deleteNote from '@/services/note/delete';

export const undoAnnounce = async (actor: IRemoteUser, activity: IAnnounce): Promise<string> => {
	const uri = getApId(activity);

	const note = await Notes.findOne({
		uri
	});

	if (!note) return 'skip: no such Announce';

	await deleteNote(actor, note);
	return 'ok: deleted';
};