From c2740cbe73c9a9a7a4318f7353931fdb9ce0ad94 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Sun, 16 Feb 2025 14:22:26 -0500 Subject: [PATCH] add isActivity method to check for AP Activities --- packages/backend/src/core/activitypub/type.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/backend/src/core/activitypub/type.ts b/packages/backend/src/core/activitypub/type.ts index 5b93543f1e..a319c0b6ea 100644 --- a/packages/backend/src/core/activitypub/type.ts +++ b/packages/backend/src/core/activitypub/type.ts @@ -403,6 +403,13 @@ export interface IMove extends IActivity { target: IObject | string; } +export const validActivityTypes = ['Announce', 'Create', 'Update', 'Delete', 'Undo', 'Follow', 'Accept', 'Reject', 'Add', 'Remove', 'Like', 'Dislike', 'EmojiReaction', 'EmojiReact', 'Flag', 'Block', 'Move']; + +export const isActivity = (object: IObject): object is IActivity => { + const type = getApType(object); + return type != null && validActivityTypes.includes(type); +}; + export const isApObject = (object: string | IObject): object is IObject => typeof(object) === 'object'; export const isCreate = (object: IObject): object is ICreate => getApType(object) === 'Create'; export const isDelete = (object: IObject): object is IDelete => getApType(object) === 'Delete';