From 571389d43b8fc8aaf27e77c06f19b320b08dbbc9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 10 Nov 2017 17:27:49 +0100 Subject: Make it compile at least --- server/lib/activitypub/index.ts | 1 + server/lib/activitypub/misc.ts | 6 +++++- server/lib/activitypub/process-flag.ts | 2 +- server/lib/activitypub/send-request.ts | 31 ++++++++++++++++++++++--------- 4 files changed, 29 insertions(+), 11 deletions(-) (limited to 'server/lib/activitypub') diff --git a/server/lib/activitypub/index.ts b/server/lib/activitypub/index.ts index 740800606..f8d56528a 100644 --- a/server/lib/activitypub/index.ts +++ b/server/lib/activitypub/index.ts @@ -1,3 +1,4 @@ export * from './process-create' export * from './process-flag' export * from './process-update' +export * from './send-request' diff --git a/server/lib/activitypub/misc.ts b/server/lib/activitypub/misc.ts index 05e77ebc3..2cf0c4fd1 100644 --- a/server/lib/activitypub/misc.ts +++ b/server/lib/activitypub/misc.ts @@ -8,7 +8,11 @@ import { VideoChannelInstance } from '../../models/video/video-channel-interface import { VideoFileAttributes } from '../../models/video/video-file-interface' import { VideoAttributes, VideoInstance } from '../../models/video/video-interface' -async function videoActivityObjectToDBAttributes (videoChannel: VideoChannelInstance, videoObject: VideoTorrentObject, t: Sequelize.Transaction) { +async function videoActivityObjectToDBAttributes ( + videoChannel: VideoChannelInstance, + videoObject: VideoTorrentObject, + t: Sequelize.Transaction +) { const videoFromDatabase = await db.Video.loadByUUIDOrURL(videoObject.uuid, videoObject.id, t) if (videoFromDatabase) throw new Error('Video with this UUID/Url already exists.') diff --git a/server/lib/activitypub/process-flag.ts b/server/lib/activitypub/process-flag.ts index 6fa862ee9..b562dce4d 100644 --- a/server/lib/activitypub/process-flag.ts +++ b/server/lib/activitypub/process-flag.ts @@ -5,7 +5,7 @@ import { } from '../../../shared' function processFlagActivity (activity: ActivityCreate) { - // empty + return Promise.resolve(undefined) } // --------------------------------------------------------------------------- diff --git a/server/lib/activitypub/send-request.ts b/server/lib/activitypub/send-request.ts index 6a31c226d..91101f5ad 100644 --- a/server/lib/activitypub/send-request.ts +++ b/server/lib/activitypub/send-request.ts @@ -1,5 +1,6 @@ import * as Sequelize from 'sequelize' +import { database as db } from '../../initializers' import { AccountInstance, VideoInstance, @@ -13,54 +14,66 @@ function sendCreateVideoChannel (videoChannel: VideoChannelInstance, t: Sequeliz const videoChannelObject = videoChannel.toActivityPubObject() const data = createActivityData(videoChannel.url, videoChannel.Account, videoChannelObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, videoChannel.Account, t) } function sendUpdateVideoChannel (videoChannel: VideoChannelInstance, t: Sequelize.Transaction) { const videoChannelObject = videoChannel.toActivityPubObject() const data = updateActivityData(videoChannel.url, videoChannel.Account, videoChannelObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, videoChannel.Account, t) } function sendDeleteVideoChannel (videoChannel: VideoChannelInstance, t: Sequelize.Transaction) { const videoChannelObject = videoChannel.toActivityPubObject() const data = deleteActivityData(videoChannel.url, videoChannel.Account, videoChannelObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, videoChannel.Account, t) } function sendAddVideo (video: VideoInstance, t: Sequelize.Transaction) { const videoObject = video.toActivityPubObject() const data = addActivityData(video.url, video.VideoChannel.Account, video.VideoChannel.url, videoObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, video.VideoChannel.Account, t) } function sendUpdateVideo (video: VideoInstance, t: Sequelize.Transaction) { const videoObject = video.toActivityPubObject() const data = updateActivityData(video.url, video.VideoChannel.Account, videoObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, video.VideoChannel.Account, t) } function sendDeleteVideo (video: VideoInstance, t: Sequelize.Transaction) { const videoObject = video.toActivityPubObject() const data = deleteActivityData(video.url, video.VideoChannel.Account, videoObject) - return broadcastToFollowers(data, t) + return broadcastToFollowers(data, video.VideoChannel.Account, t) } // --------------------------------------------------------------------------- export { - + sendCreateVideoChannel, + sendUpdateVideoChannel, + sendDeleteVideoChannel, + sendAddVideo, + sendUpdateVideo, + sendDeleteVideo } // --------------------------------------------------------------------------- -function broadcastToFollowers (data: any, t: Sequelize.Transaction) { - return httpRequestJobScheduler.createJob(t, 'http-request', 'httpRequestBroadcastHandler', data) +async function broadcastToFollowers (data: any, fromAccount: AccountInstance, t: Sequelize.Transaction) { + const result = await db.Account.listFollowerUrlsForApi(fromAccount.name, 0) + + const jobPayload = { + uris: result.data, + body: data + } + + return httpRequestJobScheduler.createJob(t, 'httpRequestBroadcastHandler', jobPayload) } function buildSignedActivity (byAccount: AccountInstance, data: Object) { -- cgit v1.2.3