+ const object = await buildVideoAnnounce(share.Actor, share, res.locals.video, undefined)
+
+ return activityPubResponse(activityPubContextify(object), res)
+}
+
+async function videoAnnouncesController (req: express.Request, res: express.Response, next: express.NextFunction) {
+ const video: VideoModel = res.locals.video
+
+ // We need more attributes
+ const videoAll = await VideoModel.loadAndPopulateAll(video.id)
+ const object = videoAll.toAnnouncesActivityPubObject()
+
+ return activityPubResponse(activityPubContextify(object), res)
+}
+
+async function videoLikesController (req: express.Request, res: express.Response, next: express.NextFunction) {
+ const video: VideoModel = res.locals.video
+
+ // We need more attributes
+ const videoAll = await VideoModel.loadAndPopulateAll(video.id)
+ const { likesObject } = videoAll.toRatesActivityPubObjects()
+
+ return activityPubResponse(activityPubContextify(likesObject), res)
+}
+
+async function videoDislikesController (req: express.Request, res: express.Response, next: express.NextFunction) {
+ const video: VideoModel = res.locals.video
+
+ // We need more attributes
+ const videoAll = await VideoModel.loadAndPopulateAll(video.id)
+ const { dislikesObject } = videoAll.toRatesActivityPubObjects()
+
+ return activityPubResponse(activityPubContextify(dislikesObject), res)
+}
+
+async function videoCommentsController (req: express.Request, res: express.Response, next: express.NextFunction) {
+ const video: VideoModel = res.locals.video
+
+ // We need more attributes
+ const videoAll = await VideoModel.loadAndPopulateAll(video.id)
+ const commentsObject = videoAll.toCommentsActivityPubObject()