From c033464b924a91c8e80bd8a315153037450dcf96 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Sun, 8 Sep 2019 11:30:44 +0900 Subject: AP Undo Announce (#5400) * AP Undo Announce * Use activity id --- src/remote/activitypub/kernel/undo/announce.ts | 16 ++++++++++++++++ src/remote/activitypub/kernel/undo/index.ts | 6 +++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 src/remote/activitypub/kernel/undo/announce.ts (limited to 'src/remote/activitypub/kernel') diff --git a/src/remote/activitypub/kernel/undo/announce.ts b/src/remote/activitypub/kernel/undo/announce.ts new file mode 100644 index 0000000000..38ce5b6c59 --- /dev/null +++ b/src/remote/activitypub/kernel/undo/announce.ts @@ -0,0 +1,16 @@ +import { Notes } from '../../../../models'; +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 => { + const uri = getApId(activity); + + const note = await Notes.findOne({ + uri + }); + + if (!note) return; + + await deleteNote(actor, note); +}; diff --git a/src/remote/activitypub/kernel/undo/index.ts b/src/remote/activitypub/kernel/undo/index.ts index 5f2e58c3bf..f49f66cc69 100644 --- a/src/remote/activitypub/kernel/undo/index.ts +++ b/src/remote/activitypub/kernel/undo/index.ts @@ -1,8 +1,9 @@ import { IRemoteUser } from '../../../../models/entities/user'; -import { IUndo, IFollow, IBlock, ILike } from '../../type'; +import { IUndo, IFollow, IBlock, ILike, IAnnounce } from '../../type'; import unfollow from './follow'; import unblock from './block'; import undoLike from './like'; +import { undoAnnounce } from './announce'; import Resolver from '../../resolver'; import { apLogger } from '../../logger'; @@ -38,5 +39,8 @@ export default async (actor: IRemoteUser, activity: IUndo): Promise => { case 'Like': undoLike(actor, object as ILike); break; + case 'Announce': + undoAnnounce(actor, object as IAnnounce); + break; } }; -- cgit v1.2.3-freya