X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fupdate-host.ts;h=ed8b999a9f42c8d43a24e2a1b9b0e1425b3a0516;hb=320f8d7e01eea760ceb8b71727694912eeebd0dc;hp=06d84a658ca416107372efec502ac8424b62525c;hpb=fdbda9e3d6564ec908733c7019305f6a3c363a9f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/update-host.ts b/scripts/update-host.ts index 06d84a658..ed8b999a9 100755 --- a/scripts/update-host.ts +++ b/scripts/update-host.ts @@ -1,33 +1,34 @@ -import * as Promise from 'bluebird' +import { getServerActor } from '../server/helpers/utils' +import { initDatabaseModels } from '../server/initializers' +import { ActorFollowModel } from '../server/models/activitypub/actor-follow' +import { VideoModel } from '../server/models/video/video' -import { database as db } from '../server/initializers/database' -import { hasFriends } from '../server/lib/friends' - -db.init(true) +initDatabaseModels(true) .then(() => { - return hasFriends() + return getServerActor() + }) + .then(serverAccount => { + return ActorFollowModel.listAcceptedFollowingUrlsForApi([ serverAccount.id ], undefined) }) - .then(itHasFriends => { - if (itHasFriends === true) { - console.log('Cannot update host because you have friends!') + .then(res => { + return res.total > 0 + }) + .then(hasFollowing => { + if (hasFollowing === true) { + console.log('Cannot update host because you follow other servers!') process.exit(-1) } console.log('Updating torrent files.') - return db.Video.list() + return VideoModel.list() }) - .then(videos => { - const tasks: Promise[] = [] - - videos.forEach(video => { - console.log('Updating video ' + video.uuid) - - video.VideoFiles.forEach(file => { - tasks.push(video.createTorrentAndSetInfoHash(file)) - }) - }) - - return Promise.all(tasks) + .then(async videos => { + for (const video of videos) { + for (const file of video.VideoFiles) { + await video.createTorrentAndSetInfoHash(file) + console.log('Updated video ' + video.uuid) + } + } }) .then(() => { process.exit(0)