mirror of https://github.com/Chocobozzz/PeerTube
				
				
				
			
		
			
				
	
	
		
			133 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
import { WEBSERVER } from '../../initializers/constants'
 | 
						|
import { VideoModel } from '../../models/video/video'
 | 
						|
import { VideoAbuseModel } from '../../models/video/video-abuse'
 | 
						|
import { VideoCommentModel } from '../../models/video/video-comment'
 | 
						|
import { VideoFileModel } from '../../models/video/video-file'
 | 
						|
import { VideoStreamingPlaylistModel } from '../../models/video/video-streaming-playlist'
 | 
						|
import { VideoPlaylistModel } from '../../models/video/video-playlist'
 | 
						|
import { ActorModelOnly, ActorModelUrl } from '../../typings/models'
 | 
						|
import { ActorFollowModelLight } from '../../typings/models/actor-follow'
 | 
						|
 | 
						|
function getVideoActivityPubUrl (video: VideoModel) {
 | 
						|
  return WEBSERVER.URL + '/videos/watch/' + video.uuid
 | 
						|
}
 | 
						|
 | 
						|
function getVideoPlaylistActivityPubUrl (videoPlaylist: VideoPlaylistModel) {
 | 
						|
  return WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid
 | 
						|
}
 | 
						|
 | 
						|
function getVideoPlaylistElementActivityPubUrl (videoPlaylist: VideoPlaylistModel, video: VideoModel) {
 | 
						|
  return WEBSERVER.URL + '/video-playlists/' + videoPlaylist.uuid + '/' + video.uuid
 | 
						|
}
 | 
						|
 | 
						|
function getVideoCacheFileActivityPubUrl (videoFile: VideoFileModel) {
 | 
						|
  const suffixFPS = videoFile.fps && videoFile.fps !== -1 ? '-' + videoFile.fps : ''
 | 
						|
 | 
						|
  return `${WEBSERVER.URL}/redundancy/videos/${videoFile.Video.uuid}/${videoFile.resolution}${suffixFPS}`
 | 
						|
}
 | 
						|
 | 
						|
function getVideoCacheStreamingPlaylistActivityPubUrl (video: VideoModel, playlist: VideoStreamingPlaylistModel) {
 | 
						|
  return `${WEBSERVER.URL}/redundancy/streaming-playlists/${playlist.getStringType()}/${video.uuid}`
 | 
						|
}
 | 
						|
 | 
						|
function getVideoCommentActivityPubUrl (video: VideoModel, videoComment: VideoCommentModel) {
 | 
						|
  return WEBSERVER.URL + '/videos/watch/' + video.uuid + '/comments/' + videoComment.id
 | 
						|
}
 | 
						|
 | 
						|
function getVideoChannelActivityPubUrl (videoChannelName: string) {
 | 
						|
  return WEBSERVER.URL + '/video-channels/' + videoChannelName
 | 
						|
}
 | 
						|
 | 
						|
function getAccountActivityPubUrl (accountName: string) {
 | 
						|
  return WEBSERVER.URL + '/accounts/' + accountName
 | 
						|
}
 | 
						|
 | 
						|
function getVideoAbuseActivityPubUrl (videoAbuse: VideoAbuseModel) {
 | 
						|
  return WEBSERVER.URL + '/admin/video-abuses/' + videoAbuse.id
 | 
						|
}
 | 
						|
 | 
						|
function getVideoViewActivityPubUrl (byActor: ActorModelUrl, video: VideoModel) {
 | 
						|
  return byActor.url + '/views/videos/' + video.id + '/' + new Date().toISOString()
 | 
						|
}
 | 
						|
 | 
						|
function getVideoLikeActivityPubUrl (byActor: ActorModelUrl, video: VideoModel | { id: number }) {
 | 
						|
  return byActor.url + '/likes/' + video.id
 | 
						|
}
 | 
						|
 | 
						|
function getVideoDislikeActivityPubUrl (byActor: ActorModelUrl, video: VideoModel | { id: number }) {
 | 
						|
  return byActor.url + '/dislikes/' + video.id
 | 
						|
}
 | 
						|
 | 
						|
function getVideoSharesActivityPubUrl (video: VideoModel) {
 | 
						|
  return video.url + '/announces'
 | 
						|
}
 | 
						|
 | 
						|
function getVideoCommentsActivityPubUrl (video: VideoModel) {
 | 
						|
  return video.url + '/comments'
 | 
						|
}
 | 
						|
 | 
						|
function getVideoLikesActivityPubUrl (video: VideoModel) {
 | 
						|
  return video.url + '/likes'
 | 
						|
}
 | 
						|
 | 
						|
function getVideoDislikesActivityPubUrl (video: VideoModel) {
 | 
						|
  return video.url + '/dislikes'
 | 
						|
}
 | 
						|
 | 
						|
function getActorFollowActivityPubUrl (follower: ActorModelOnly, following: ActorModelOnly) {
 | 
						|
  return follower.url + '/follows/' + following.id
 | 
						|
}
 | 
						|
 | 
						|
function getActorFollowAcceptActivityPubUrl (actorFollow: ActorFollowModelLight) {
 | 
						|
  const follower = actorFollow.ActorFollower
 | 
						|
  const me = actorFollow.ActorFollowing
 | 
						|
 | 
						|
  return follower.url + '/accepts/follows/' + me.id
 | 
						|
}
 | 
						|
 | 
						|
function getActorFollowRejectActivityPubUrl (follower: ActorModelOnly, following: ActorModelOnly) {
 | 
						|
  return follower.url + '/rejects/follows/' + following.id
 | 
						|
}
 | 
						|
 | 
						|
function getVideoAnnounceActivityPubUrl (byActor: ActorModelOnly, video: VideoModel) {
 | 
						|
  return video.url + '/announces/' + byActor.id
 | 
						|
}
 | 
						|
 | 
						|
function getDeleteActivityPubUrl (originalUrl: string) {
 | 
						|
  return originalUrl + '/delete'
 | 
						|
}
 | 
						|
 | 
						|
function getUpdateActivityPubUrl (originalUrl: string, updatedAt: string) {
 | 
						|
  return originalUrl + '/updates/' + updatedAt
 | 
						|
}
 | 
						|
 | 
						|
function getUndoActivityPubUrl (originalUrl: string) {
 | 
						|
  return originalUrl + '/undo'
 | 
						|
}
 | 
						|
 | 
						|
export {
 | 
						|
  getVideoActivityPubUrl,
 | 
						|
  getVideoPlaylistElementActivityPubUrl,
 | 
						|
  getVideoPlaylistActivityPubUrl,
 | 
						|
  getVideoCacheStreamingPlaylistActivityPubUrl,
 | 
						|
  getVideoChannelActivityPubUrl,
 | 
						|
  getAccountActivityPubUrl,
 | 
						|
  getVideoAbuseActivityPubUrl,
 | 
						|
  getActorFollowActivityPubUrl,
 | 
						|
  getActorFollowAcceptActivityPubUrl,
 | 
						|
  getVideoAnnounceActivityPubUrl,
 | 
						|
  getUpdateActivityPubUrl,
 | 
						|
  getUndoActivityPubUrl,
 | 
						|
  getVideoViewActivityPubUrl,
 | 
						|
  getVideoLikeActivityPubUrl,
 | 
						|
  getVideoDislikeActivityPubUrl,
 | 
						|
  getActorFollowRejectActivityPubUrl,
 | 
						|
  getVideoCommentActivityPubUrl,
 | 
						|
  getDeleteActivityPubUrl,
 | 
						|
  getVideoSharesActivityPubUrl,
 | 
						|
  getVideoCommentsActivityPubUrl,
 | 
						|
  getVideoLikesActivityPubUrl,
 | 
						|
  getVideoDislikesActivityPubUrl,
 | 
						|
  getVideoCacheFileActivityPubUrl
 | 
						|
}
 |