diff --git a/src/remote/activitypub/act/index.ts b/src/remote/activitypub/act/index.ts index 5be07c478e..5fcdb61748 100644 --- a/src/remote/activitypub/act/index.ts +++ b/src/remote/activitypub/act/index.ts @@ -2,10 +2,10 @@ import create from './create'; import performDeleteActivity from './delete'; import follow from './follow'; import undo from './undo'; -import { IObject } from '../type'; +import { Object } from '../type'; import { IRemoteUser } from '../../../models/user'; -const self = async (actor: IRemoteUser, activity: IObject): Promise => { +const self = async (actor: IRemoteUser, activity: Object): Promise => { switch (activity.type) { case 'Create': await create(actor, activity); diff --git a/src/remote/activitypub/type.ts b/src/remote/activitypub/type.ts index 9a4b3c75fc..c07b806be8 100644 --- a/src/remote/activitypub/type.ts +++ b/src/remote/activitypub/type.ts @@ -1,7 +1,7 @@ -export type Object = { [x: string]: any }; +export type obj = { [x: string]: any }; export interface IObject { - '@context': string | object | any[]; + '@context': string | obj | obj[]; type: string; id?: string; summary?: string; @@ -39,6 +39,10 @@ export interface ICreate extends IActivity { type: 'Create'; } +export interface IDelete extends IActivity { + type: 'Delete'; +} + export interface IUndo extends IActivity { type: 'Undo'; } @@ -46,3 +50,16 @@ export interface IUndo extends IActivity { export interface IFollow extends IActivity { type: 'Follow'; } + +export interface IAccept extends IActivity { + type: 'Accept'; +} + +export type Object = + ICollection | + IOrderedCollection | + ICreate | + IDelete | + IUndo | + IFollow | + IAccept;