]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/video-streaming-playlist.ts
Don't refresh videos when processing views
[github/Chocobozzz/PeerTube.git] / server / models / video / video-streaming-playlist.ts
index 0099add4ef6b6a779bf1dece083d5ae39268ae7f..24959621803f8b270039d406f390687658834ef6 100644 (file)
@@ -17,10 +17,12 @@ import { join } from 'path'
 import { sha1 } from '../../helpers/core-utils'
 import { isArrayOf } from '../../helpers/custom-validators/misc'
 import { Op, QueryTypes } from 'sequelize'
-import { MStreamingPlaylist, MVideoFile } from '@server/typings/models'
+import { MStreamingPlaylist, MStreamingPlaylistVideo, MVideoFile } from '@server/typings/models'
 import { VideoFileModel } from '@server/models/video/video-file'
-import { getTorrentFileName, getVideoFilename } from '@server/lib/video-paths'
+import { getTorrentFileName, getTorrentFilePath, getVideoFilename } from '@server/lib/video-paths'
 import * as memoizee from 'memoizee'
+import { remove } from 'fs-extra'
+import { logger } from '@server/helpers/logger'
 
 @Table({
   tableName: 'videoStreamingPlaylist',
@@ -209,4 +211,10 @@ export class VideoStreamingPlaylistModel extends Model<VideoStreamingPlaylistMod
     return this.type === other.type &&
       this.videoId === other.videoId
   }
+
+  removeTorrent (this: MStreamingPlaylistVideo, videoFile: MVideoFile) {
+    const torrentPath = getTorrentFilePath(this, videoFile)
+    return remove(torrentPath)
+      .catch(err => logger.warn('Cannot delete torrent %s.', torrentPath, { err }))
+  }
 }