]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/update-host.ts
Remove unused i18n build
[github/Chocobozzz/PeerTube.git] / scripts / update-host.ts
index 422a3c9a7df16926e3c0724fa74232780f2ffe8a..b030b21c313694858a069f53dbfdb55b2cc82af7 100755 (executable)
@@ -1,18 +1,25 @@
-import { CONFIG, initDatabaseModels } from '../server/initializers'
+import { registerTSPaths } from '../server/helpers/register-ts-paths'
+registerTSPaths()
+
+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 {
-  getAccountActivityPubUrl,
-  getVideoAnnounceActivityPubUrl,
-  getVideoActivityPubUrl, getVideoChannelActivityPubUrl,
-  getVideoCommentActivityPubUrl
-} from '../server/lib/activitypub'
+  getLocalAccountActivityPubUrl,
+  getLocalVideoActivityPubUrl,
+  getLocalVideoAnnounceActivityPubUrl,
+  getLocalVideoChannelActivityPubUrl,
+  getLocalVideoCommentActivityPubUrl
+} from '../server/lib/activitypub/url'
 import { VideoShareModel } from '../server/models/video/video-share'
 import { VideoCommentModel } from '../server/models/video/video-comment'
-import { getServerActor } from '../server/helpers/utils'
 import { AccountModel } from '../server/models/account/account'
 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'
 
 run()
   .then(() => process.exit(0))
@@ -55,13 +62,13 @@ async function run () {
     console.log('Updating actor ' + actor.url)
 
     const newUrl = actor.Account
-      ? getAccountActivityPubUrl(actor.preferredUsername)
-      : getVideoChannelActivityPubUrl(actor.preferredUsername)
+      ? getLocalAccountActivityPubUrl(actor.preferredUsername)
+      : getLocalVideoChannelActivityPubUrl(actor.preferredUsername)
 
     actor.url = newUrl
     actor.inboxUrl = newUrl + '/inbox'
     actor.outboxUrl = newUrl + '/outbox'
-    actor.sharedInboxUrl = CONFIG.WEBSERVER.URL + '/inbox'
+    actor.sharedInboxUrl = WEBSERVER.URL + '/inbox'
     actor.followersUrl = newUrl + '/followers'
     actor.followingUrl = newUrl + '/following'
 
@@ -78,7 +85,7 @@ async function run () {
 
     console.log('Updating video share ' + videoShare.url)
 
-    videoShare.url = getVideoAnnounceActivityPubUrl(videoShare.Actor, videoShare.Video)
+    videoShare.url = getLocalVideoAnnounceActivityPubUrl(videoShare.Actor, videoShare.Video)
     await videoShare.save()
   }
 
@@ -103,24 +110,29 @@ async function run () {
 
     console.log('Updating comment ' + comment.url)
 
-    comment.url = getVideoCommentActivityPubUrl(comment.Video, comment)
+    comment.url = getLocalVideoCommentActivityPubUrl(comment.Video, comment)
     await comment.save()
   }
 
   console.log('Updating video and torrent files.')
 
-  const videos = await VideoModel.list()
+  const videos = await VideoModel.listLocal()
   for (const video of videos) {
-    if (video.isOwned() === false) continue
-
-    console.log('Updated video ' + video.uuid)
+    console.log('Updating video ' + video.uuid)
 
-    video.url = getVideoActivityPubUrl(video)
+    video.url = getLocalVideoActivityPubUrl(video)
     await video.save()
 
     for (const file of video.VideoFiles) {
       console.log('Updating torrent file %s of video %s.', file.resolution, video.uuid)
-      await video.createTorrentAndSetInfoHash(file)
+      await createTorrentAndSetInfoHash(video, file)
+    }
+
+    for (const playlist of video.VideoStreamingPlaylists) {
+      playlist.playlistUrl = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsMasterPlaylistStaticPath(video.uuid)
+      playlist.segmentsSha256Url = WEBSERVER.URL + VideoStreamingPlaylistModel.getHlsSha256SegmentsStaticPath(video.uuid, video.isLive)
+
+      await playlist.save()
     }
   }
 }