]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/update-host.ts
Don't send undefined with HTML input
[github/Chocobozzz/PeerTube.git] / scripts / update-host.ts
index b030b21c313694858a069f53dbfdb55b2cc82af7..1d17ce1521d38783071400d03e94df738d67db09 100755 (executable)
@@ -1,10 +1,7 @@
-import { registerTSPaths } from '../server/helpers/register-ts-paths'
-registerTSPaths()
-
+import { updateTorrentMetadata } from '@server/helpers/webtorrent'
+import { getServerActor } from '@server/models/application/application'
 import { WEBSERVER } from '../server/initializers/constants'
-import { ActorFollowModel } from '../server/models/activitypub/actor-follow'
-import { VideoModel } from '../server/models/video/video'
-import { ActorModel } from '../server/models/activitypub/actor'
+import { initDatabaseModels } from '../server/initializers/database'
 import {
   getLocalAccountActivityPubUrl,
   getLocalVideoActivityPubUrl,
@@ -12,14 +9,13 @@ import {
   getLocalVideoChannelActivityPubUrl,
   getLocalVideoCommentActivityPubUrl
 } from '../server/lib/activitypub/url'
-import { VideoShareModel } from '../server/models/video/video-share'
-import { VideoCommentModel } from '../server/models/video/video-comment'
 import { AccountModel } from '../server/models/account/account'
+import { ActorModel } from '../server/models/actor/actor'
+import { ActorFollowModel } from '../server/models/actor/actor-follow'
+import { VideoModel } from '../server/models/video/video'
 import { VideoChannelModel } from '../server/models/video/video-channel'
-import { VideoStreamingPlaylistModel } from '../server/models/video/video-streaming-playlist'
-import { initDatabaseModels } from '../server/initializers/database'
-import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent'
-import { getServerActor } from '@server/models/application/application'
+import { VideoCommentModel } from '../server/models/video/video-comment'
+import { VideoShareModel } from '../server/models/video/video-share'
 
 run()
   .then(() => process.exit(0))
@@ -116,8 +112,10 @@ async function run () {
 
   console.log('Updating video and torrent files.')
 
-  const videos = await VideoModel.listLocal()
-  for (const video of videos) {
+  const ids = await VideoModel.listLocalIds()
+  for (const id of ids) {
+    const video = await VideoModel.loadFull(id)
+
     console.log('Updating video ' + video.uuid)
 
     video.url = getLocalVideoActivityPubUrl(video)
@@ -125,14 +123,18 @@ async function run () {
 
     for (const file of video.VideoFiles) {
       console.log('Updating torrent file %s of video %s.', file.resolution, video.uuid)
-      await createTorrentAndSetInfoHash(video, file)
+      await updateTorrentMetadata(video, file)
+
+      await file.save()
     }
 
-    for (const playlist of video.VideoStreamingPlaylists) {
-      playlist.playlistUrl = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsMasterPlaylistStaticPath(video.uuid)
-      playlist.segmentsSha256Url = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsSha256SegmentsStaticPath(video.uuid, video.isLive)
+    const playlist = video.getHLSPlaylist()
+    for (const file of (playlist?.VideoFiles || [])) {
+      console.log('Updating fragmented torrent file %s of video %s.', file.resolution, video.uuid)
+
+      await updateTorrentMetadata(playlist, file)
 
-      await playlist.save()
+      await file.save()
     }
   }
 }