X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Factivitypub%2Factivity.ts;h=fd5d383163fe908a5bf4b061accd44e5f35429ce;hb=28368da08762fafc094dacc911679977c662af13;hp=492b672c7b4a7087864bfa0d8a705a7b4bbb5be3;hpb=8d5e65349deebd499c0be10fe02d535a77d58ddb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/activitypub/activity.ts b/shared/models/activitypub/activity.ts index 492b672c7..fd5d38316 100644 --- a/shared/models/activitypub/activity.ts +++ b/shared/models/activitypub/activity.ts @@ -1,19 +1,39 @@ import { ActivityPubActor } from './activitypub-actor' import { ActivityPubSignature } from './activitypub-signature' -import { CacheFileObject, VideoTorrentObject } from './objects' +import { ActivityFlagReasonObject, CacheFileObject, VideoObject, WatchActionObject } from './objects' +import { AbuseObject } from './objects/abuse-object' import { DislikeObject } from './objects/dislike-object' -import { VideoAbuseObject } from './objects/video-abuse-object' -import { VideoCommentObject } from './objects/video-comment-object' -import { ViewObject } from './objects/view-object' import { APObject } from './objects/object.model' import { PlaylistObject } from './objects/playlist-object' +import { VideoCommentObject } from './objects/video-comment-object' -export type Activity = ActivityCreate | ActivityUpdate | - ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce | - ActivityUndo | ActivityLike | ActivityReject | ActivityView | ActivityDislike | ActivityFlag - -export type ActivityType = 'Create' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo' | 'Like' | 'Reject' | - 'View' | 'Dislike' | 'Flag' +export type Activity = + ActivityCreate | + ActivityUpdate | + ActivityDelete | + ActivityFollow | + ActivityAccept | + ActivityAnnounce | + ActivityUndo | + ActivityLike | + ActivityReject | + ActivityView | + ActivityDislike | + ActivityFlag + +export type ActivityType = + 'Create' | + 'Update' | + 'Delete' | + 'Follow' | + 'Accept' | + 'Announce' | + 'Undo' | + 'Like' | + 'Reject' | + 'View' | + 'Dislike' | + 'Flag' export interface ActivityAudience { to: string[] @@ -32,12 +52,12 @@ export interface BaseActivity { export interface ActivityCreate extends BaseActivity { type: 'Create' - object: VideoTorrentObject | VideoAbuseObject | ViewObject | DislikeObject | VideoCommentObject | CacheFileObject | PlaylistObject + object: VideoObject | AbuseObject | DislikeObject | VideoCommentObject | CacheFileObject | PlaylistObject | WatchActionObject } export interface ActivityUpdate extends BaseActivity { type: 'Update' - object: VideoTorrentObject | ActivityPubActor | CacheFileObject | PlaylistObject + object: VideoObject | ActivityPubActor | CacheFileObject | PlaylistObject } export interface ActivityDelete extends BaseActivity { @@ -66,19 +86,22 @@ export interface ActivityAnnounce extends BaseActivity { } export interface ActivityUndo extends BaseActivity { - type: 'Undo', + type: 'Undo' object: ActivityFollow | ActivityLike | ActivityDislike | ActivityCreate | ActivityAnnounce } export interface ActivityLike extends BaseActivity { - type: 'Like', + type: 'Like' object: APObject } export interface ActivityView extends BaseActivity { - type: 'View', + type: 'View' actor: string object: APObject + + // If sending a "viewer" event + expires?: string } export interface ActivityDislike extends BaseActivity { @@ -89,7 +112,10 @@ export interface ActivityDislike extends BaseActivity { } export interface ActivityFlag extends BaseActivity { - type: 'Flag', - content: string, + type: 'Flag' + content: string object: APObject | APObject[] + tag?: ActivityFlagReasonObject[] + startAt?: number + endAt?: number }