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 | ActivityFlag |
6 ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce
8 // Flag -> report abuse
9 export type ActivityType = 'Create' | 'Add' | 'Update' | 'Flag' | 'Delete' | 'Follow' | 'Accept' | 'Announce'
11 export interface BaseActivity {
17 signature: ActivityPubSignature
20 export interface ActivityCreate extends BaseActivity {
22 object: VideoChannelObject | VideoAbuseObject
25 export interface ActivityAdd extends BaseActivity {
28 object: VideoTorrentObject
31 export interface ActivityUpdate extends BaseActivity {
33 object: VideoTorrentObject | VideoChannelObject
36 export interface ActivityFlag extends BaseActivity {
41 export interface ActivityDelete extends BaseActivity {
45 export interface ActivityFollow extends BaseActivity {
50 export interface ActivityAccept extends BaseActivity {
54 export interface ActivityAnnounce extends BaseActivity {
56 object: ActivityCreate | ActivityAdd