videosCustomGetValidator,
videosShareValidator
} from '../../middlewares'
-import { getAccountVideoRateValidator, videoCommentGetValidator } from '../../middlewares/validators'
+import { getAccountVideoRateValidatorFactory, videoCommentGetValidator } from '../../middlewares/validators'
import { AccountModel } from '../../models/account/account'
import { ActorFollowModel } from '../../models/activitypub/actor-follow'
import { VideoModel } from '../../models/video/video'
)
activityPubClientRouter.get('/accounts?/:name/likes/:videoId',
executeIfActivityPub,
- asyncMiddleware(getAccountVideoRateValidator('like')),
- getAccountVideoRate('like')
+ asyncMiddleware(getAccountVideoRateValidatorFactory('like')),
+ getAccountVideoRateFactory('like')
)
activityPubClientRouter.get('/accounts?/:name/dislikes/:videoId',
executeIfActivityPub,
- asyncMiddleware(getAccountVideoRateValidator('dislike')),
- getAccountVideoRate('dislike')
+ asyncMiddleware(getAccountVideoRateValidatorFactory('dislike')),
+ getAccountVideoRateFactory('dislike')
)
activityPubClientRouter.get('/videos/watch/:id',
executeIfActivityPub,
- asyncMiddleware(cacheRoute(ROUTE_CACHE_LIFETIME.ACTIVITY_PUB.VIDEOS)),
+ asyncMiddleware(cacheRoute()(ROUTE_CACHE_LIFETIME.ACTIVITY_PUB.VIDEOS)),
asyncMiddleware(videosCustomGetValidator('only-video-with-rights')),
asyncMiddleware(videoController)
)
activityPubClientRouter.get('/video-channels/:name',
executeIfActivityPub,
asyncMiddleware(localVideoChannelValidator),
- asyncMiddleware(videoChannelController)
+ videoChannelController
)
activityPubClientRouter.get('/video-channels/:name/followers',
executeIfActivityPub,
activityPubClientRouter.get('/video-playlists/:playlistId/:videoId',
executeIfActivityPub,
asyncMiddleware(videoPlaylistElementAPGetValidator),
- asyncMiddleware(videoPlaylistElementController)
+ videoPlaylistElementController
)
// ---------------------------------------------------------------------------
return activityPubResponse(activityPubContextify(activityPubResult), res)
}
-function getAccountVideoRate (rateType: VideoRateType) {
+function getAccountVideoRateFactory (rateType: VideoRateType) {
return (req: express.Request, res: express.Response) => {
const accountVideoRate = res.locals.accountVideoRate
const { activity } = await buildAnnounceWithVideoAudience(share.Actor, share, res.locals.videoAll, undefined)
- return activityPubResponse(activityPubContextify(activity), res)
+ return activityPubResponse(activityPubContextify(activity, 'Announce'), res)
}
async function videoAnnouncesController (req: express.Request, res: express.Response) {
return activityPubResponse(activityPubContextify(json), res)
}
-async function videoChannelController (req: express.Request, res: express.Response) {
+function videoChannelController (req: express.Request, res: express.Response) {
const videoChannel = res.locals.videoChannel
return activityPubResponse(activityPubContextify(videoChannel.toActivityPubObject()), res)
const threadParentComments = await VideoCommentModel.listThreadParentComments(videoComment, undefined)
const isPublic = true // Comments are always public
- const audience = getAudience(videoComment.Account.Actor, isPublic)
+ let videoCommentObject = videoComment.toActivityPubObject(threadParentComments)
- const videoCommentObject = audiencify(videoComment.toActivityPubObject(threadParentComments), audience)
+ if (videoComment.Account) {
+ const audience = getAudience(videoComment.Account.Actor, isPublic)
+ videoCommentObject = audiencify(videoCommentObject, audience)
- if (req.path.endsWith('/activity')) {
- const data = buildCreateActivity(videoComment.url, videoComment.Account.Actor, videoCommentObject, audience)
- return activityPubResponse(activityPubContextify(data), res)
+ if (req.path.endsWith('/activity')) {
+ const data = buildCreateActivity(videoComment.url, videoComment.Account.Actor, videoCommentObject, audience)
+ return activityPubResponse(activityPubContextify(data), res)
+ }
}
return activityPubResponse(activityPubContextify(videoCommentObject), res)
return activityPubResponse(activityPubContextify(object), res)
}
-async function videoPlaylistElementController (req: express.Request, res: express.Response) {
+function videoPlaylistElementController (req: express.Request, res: express.Response) {
const videoPlaylistElement = res.locals.videoPlaylistElementAP
const json = videoPlaylistElement.toActivityPubObject()