X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=shared%2Fmodels%2Factivitypub%2Factivity.ts;h=492b672c7b4a7087864bfa0d8a705a7b4bbb5be3;hb=8d5e65349deebd499c0be10fe02d535a77d58ddb;hp=46e883e5f081d7a5a5a7dae888ab1b01e3919113;hpb=0f320037e689b2778959c12ddd4ce790f6e4ae4f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/shared/models/activitypub/activity.ts b/shared/models/activitypub/activity.ts index 46e883e5f..492b672c7 100644 --- a/shared/models/activitypub/activity.ts +++ b/shared/models/activitypub/activity.ts @@ -1,16 +1,19 @@ import { ActivityPubActor } from './activitypub-actor' import { ActivityPubSignature } from './activitypub-signature' -import { VideoTorrentObject } from './objects' +import { CacheFileObject, VideoTorrentObject } from './objects' 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' export type Activity = ActivityCreate | ActivityUpdate | ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce | - ActivityUndo | ActivityLike | ActivityReject + ActivityUndo | ActivityLike | ActivityReject | ActivityView | ActivityDislike | ActivityFlag -export type ActivityType = 'Create' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo' | 'Like' | 'Reject' +export type ActivityType = 'Create' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo' | 'Like' | 'Reject' | + 'View' | 'Dislike' | 'Flag' export interface ActivityAudience { to: string[] @@ -29,12 +32,12 @@ export interface BaseActivity { export interface ActivityCreate extends BaseActivity { type: 'Create' - object: VideoTorrentObject | VideoAbuseObject | ViewObject | DislikeObject | VideoCommentObject + object: VideoTorrentObject | VideoAbuseObject | ViewObject | DislikeObject | VideoCommentObject | CacheFileObject | PlaylistObject } export interface ActivityUpdate extends BaseActivity { type: 'Update' - object: VideoTorrentObject | ActivityPubActor + object: VideoTorrentObject | ActivityPubActor | CacheFileObject | PlaylistObject } export interface ActivityDelete extends BaseActivity { @@ -59,15 +62,34 @@ export interface ActivityReject extends BaseActivity { export interface ActivityAnnounce extends BaseActivity { type: 'Announce' - object: string | { id: string } + object: APObject } export interface ActivityUndo extends BaseActivity { type: 'Undo', - object: ActivityFollow | ActivityLike | ActivityCreate | ActivityAnnounce + object: ActivityFollow | ActivityLike | ActivityDislike | ActivityCreate | ActivityAnnounce } export interface ActivityLike extends BaseActivity { type: 'Like', - object: string + object: APObject +} + +export interface ActivityView extends BaseActivity { + type: 'View', + actor: string + object: APObject +} + +export interface ActivityDislike extends BaseActivity { + id: string + type: 'Dislike' + actor: string + object: APObject +} + +export interface ActivityFlag extends BaseActivity { + type: 'Flag', + content: string, + object: APObject | APObject[] }