1 import { ActivityPubSignature } from './activitypub-signature'
2 import { VideoChannelObject, VideoTorrentObject } from './objects'
3 import { VideoAbuseObject } from './objects/video-abuse-object'
4 import { ViewObject } from './objects/view-object'
6 export type Activity = ActivityCreate | ActivityAdd | ActivityUpdate |
7 ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce |
10 export type ActivityType = 'Create' | 'Add' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo'
12 export interface BaseActivity {
19 signature?: ActivityPubSignature
22 export interface ActivityCreate extends BaseActivity {
24 object: VideoChannelObject | VideoAbuseObject | ViewObject
27 export interface ActivityAdd extends BaseActivity {
30 object: VideoTorrentObject
33 export interface ActivityUpdate extends BaseActivity {
35 object: VideoTorrentObject | VideoChannelObject
38 export interface ActivityDelete extends BaseActivity {
42 export interface ActivityFollow extends BaseActivity {
47 export interface ActivityAccept extends BaseActivity {
51 export interface ActivityAnnounce extends BaseActivity {
53 object: ActivityCreate | ActivityAdd
56 export interface ActivityUndo extends BaseActivity {
58 object: ActivityFollow