summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/kernel
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2019-09-08 11:30:44 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-09-08 11:30:44 +0900
commitc033464b924a91c8e80bd8a315153037450dcf96 (patch)
tree8e173a83648ec853585e87cce4eba20315deb0a1 /src/remote/activitypub/kernel
parentUpdate README.md [AUTOGEN] (#5402) (diff)
downloadsharkey-c033464b924a91c8e80bd8a315153037450dcf96.tar.gz
sharkey-c033464b924a91c8e80bd8a315153037450dcf96.tar.bz2
sharkey-c033464b924a91c8e80bd8a315153037450dcf96.zip
AP Undo Announce (#5400)
* AP Undo Announce * Use activity id
Diffstat (limited to 'src/remote/activitypub/kernel')
-rw-r--r--src/remote/activitypub/kernel/undo/announce.ts16
-rw-r--r--src/remote/activitypub/kernel/undo/index.ts6
2 files changed, 21 insertions, 1 deletions
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<void> => {
+ 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<void> => {
case 'Like':
undoLike(actor, object as ILike);
break;
+ case 'Announce':
+ undoAnnounce(actor, object as IAnnounce);
+ break;
}
};