X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-file.ts;h=1ad79610414088d34b3221fd6c50ad23002a9777;hb=d61893f7236abbed30c25b1823e6ecad93a8e8dd;hp=57807cbfd21aadcd9acc1c5935bd72cc5cd16105;hpb=90a8bd305de4153ec21137a73ff482dcc2e3e19b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-file.ts b/server/models/video/video-file.ts index 57807cbfd..1ad796104 100644 --- a/server/models/video/video-file.ts +++ b/server/models/video/video-file.ts @@ -423,14 +423,12 @@ export class VideoFileModel extends Model { return !!this.videoStreamingPlaylistId } - getFileUrl (video: MVideoWithHost) { + getFileUrl (video: MVideo) { if (!this.Video) this.Video = video as VideoModel if (video.isOwned()) return WEBSERVER.URL + this.getFileStaticPath(video) - if (this.fileUrl) return this.fileUrl - // Fallback if we don't have a file URL - return buildRemoteVideoBaseUrl(video, this.getFileStaticPath(video)) + return this.fileUrl } getFileStaticPath (video: MVideo) { @@ -451,29 +449,34 @@ export class VideoFileModel extends Model { return buildRemoteVideoBaseUrl(video, path) } - getRemoteTorrentUrl (video: MVideoWithHost) { + getRemoteTorrentUrl (video: MVideo) { if (video.isOwned()) throw new Error(`Video ${video.url} is not a remote video`) - if (this.torrentUrl) return this.torrentUrl - - // Fallback if we don't have a torrent URL - return buildRemoteVideoBaseUrl(video, this.getTorrentStaticPath()) + return this.torrentUrl } // We proxify torrent requests so use a local URL getTorrentUrl () { + if (!this.torrentFilename) return null + return WEBSERVER.URL + this.getTorrentStaticPath() } getTorrentStaticPath () { + if (!this.torrentFilename) return null + return join(LAZY_STATIC_PATHS.TORRENTS, this.torrentFilename) } getTorrentDownloadUrl () { + if (!this.torrentFilename) return null + return WEBSERVER.URL + join(STATIC_DOWNLOAD_PATHS.TORRENTS, this.torrentFilename) } removeTorrent () { + if (!this.torrentFilename) return null + const torrentPath = getTorrentFilePath(this) return remove(torrentPath) .catch(err => logger.warn('Cannot delete torrent %s.', torrentPath, { err }))