1 import { VideoChannelObject, VideoTorrentObject } from './objects'
2 import { ActivityPubSignature } from './activitypub-signature'
3 import { VideoAbuseObject } from './objects/video-abuse-object'
5 export type Activity = ActivityCreate | ActivityAdd | ActivityUpdate |
6 ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce
8 // Flag -> report abuse
9 export type ActivityType = 'Create' | 'Add' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce'
11 export interface BaseActivity {
18 signature?: ActivityPubSignature
21 export interface ActivityCreate extends BaseActivity {
23 object: VideoChannelObject | VideoAbuseObject
26 export interface ActivityAdd extends BaseActivity {
29 object: VideoTorrentObject
32 export interface ActivityUpdate extends BaseActivity {
34 object: VideoTorrentObject | VideoChannelObject
37 export interface ActivityDelete extends BaseActivity {
41 export interface ActivityFollow extends BaseActivity {
46 export interface ActivityAccept extends BaseActivity {
50 export interface ActivityAnnounce extends BaseActivity {
52 object: ActivityCreate | ActivityAdd