From 0032ebe94aa83fab761c7de3ceb6210ac4532824 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 23 Nov 2017 14:19:55 +0100 Subject: Federate likes/dislikes --- shared/models/activitypub/activity.ts | 14 ++++++++++---- shared/models/activitypub/objects/dislike-object.ts | 5 +++++ shared/models/activitypub/objects/index.ts | 1 + 3 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 shared/models/activitypub/objects/dislike-object.ts (limited to 'shared/models/activitypub') diff --git a/shared/models/activitypub/activity.ts b/shared/models/activitypub/activity.ts index ce150bc12..cbfd6157a 100644 --- a/shared/models/activitypub/activity.ts +++ b/shared/models/activitypub/activity.ts @@ -1,13 +1,14 @@ import { ActivityPubSignature } from './activitypub-signature' import { VideoChannelObject, VideoTorrentObject } from './objects' +import { DislikeObject } from './objects/dislike-object' import { VideoAbuseObject } from './objects/video-abuse-object' import { ViewObject } from './objects/view-object' export type Activity = ActivityCreate | ActivityAdd | ActivityUpdate | ActivityDelete | ActivityFollow | ActivityAccept | ActivityAnnounce | - ActivityUndo + ActivityUndo | ActivityLike -export type ActivityType = 'Create' | 'Add' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo' +export type ActivityType = 'Create' | 'Add' | 'Update' | 'Delete' | 'Follow' | 'Accept' | 'Announce' | 'Undo' | 'Like' export interface BaseActivity { '@context'?: any[] @@ -21,7 +22,7 @@ export interface BaseActivity { export interface ActivityCreate extends BaseActivity { type: 'Create' - object: VideoChannelObject | VideoAbuseObject | ViewObject + object: VideoChannelObject | VideoAbuseObject | ViewObject | DislikeObject } export interface ActivityAdd extends BaseActivity { @@ -55,5 +56,10 @@ export interface ActivityAnnounce extends BaseActivity { export interface ActivityUndo extends BaseActivity { type: 'Undo', - object: ActivityFollow + object: ActivityFollow | ActivityLike | ActivityCreate +} + +export interface ActivityLike extends BaseActivity { + type: 'Like', + object: string } diff --git a/shared/models/activitypub/objects/dislike-object.ts b/shared/models/activitypub/objects/dislike-object.ts new file mode 100644 index 000000000..295175774 --- /dev/null +++ b/shared/models/activitypub/objects/dislike-object.ts @@ -0,0 +1,5 @@ +export interface DislikeObject { + type: 'Dislike', + actor: string + object: string +} diff --git a/shared/models/activitypub/objects/index.ts b/shared/models/activitypub/objects/index.ts index d92f772e2..f1f761e44 100644 --- a/shared/models/activitypub/objects/index.ts +++ b/shared/models/activitypub/objects/index.ts @@ -3,3 +3,4 @@ export * from './video-abuse-object' export * from './video-channel-object' export * from './video-torrent-object' export * from './view-object' +export * from './dislike-object' -- cgit v1.2.3