X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fupdate-host.ts;h=1d17ce1521d38783071400d03e94df738d67db09;hb=118626c8752bee7b05c4e0b668852e1aba2416f1;hp=422a3c9a7df16926e3c0724fa74232780f2ffe8a;hpb=5c6d985faeef1d6793d3f44ca6374f1a9b722806;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/update-host.ts b/scripts/update-host.ts index 422a3c9a7..1d17ce152 100755 --- a/scripts/update-host.ts +++ b/scripts/update-host.ts @@ -1,18 +1,21 @@ -import { CONFIG, initDatabaseModels } from '../server/initializers' -import { ActorFollowModel } from '../server/models/activitypub/actor-follow' -import { VideoModel } from '../server/models/video/video' -import { ActorModel } from '../server/models/activitypub/actor' +import { updateTorrentMetadata } from '@server/helpers/webtorrent' +import { getServerActor } from '@server/models/application/application' +import { WEBSERVER } from '../server/initializers/constants' +import { initDatabaseModels } from '../server/initializers/database' import { - getAccountActivityPubUrl, - getVideoAnnounceActivityPubUrl, - getVideoActivityPubUrl, getVideoChannelActivityPubUrl, - getVideoCommentActivityPubUrl -} from '../server/lib/activitypub' -import { VideoShareModel } from '../server/models/video/video-share' -import { VideoCommentModel } from '../server/models/video/video-comment' -import { getServerActor } from '../server/helpers/utils' + getLocalAccountActivityPubUrl, + getLocalVideoActivityPubUrl, + getLocalVideoAnnounceActivityPubUrl, + getLocalVideoChannelActivityPubUrl, + getLocalVideoCommentActivityPubUrl +} from '../server/lib/activitypub/url' 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 { VideoCommentModel } from '../server/models/video/video-comment' +import { VideoShareModel } from '../server/models/video/video-share' run() .then(() => process.exit(0)) @@ -55,13 +58,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 +81,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 +106,35 @@ 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() - for (const video of videos) { - if (video.isOwned() === false) continue + const ids = await VideoModel.listLocalIds() + for (const id of ids) { + const video = await VideoModel.loadFull(id) - 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 updateTorrentMetadata(video, file) + + await file.save() + } + + 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 file.save() } } }