X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fupdate-host.ts;h=ed8b999a9f42c8d43a24e2a1b9b0e1425b3a0516;hb=fc73684adad4fdc6bb8a196bd54ef8ecec4e7391;hp=5e69e4172bd9629b537605abce809b8f602ee026;hpb=93e1258c7cbc0d1235ca6d2a1f7c1875985328b8;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/update-host.ts b/scripts/update-host.ts index 5e69e4172..ed8b999a9 100755 --- a/scripts/update-host.ts +++ b/scripts/update-host.ts @@ -1,30 +1,35 @@ -import { readFileSync, writeFileSync } from 'fs' -import { join } from 'path' -import * as parseTorrent from 'parse-torrent' +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 { CONFIG, STATIC_PATHS } from '../server/initializers/constants' -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 => { - videos.forEach(video => { - video.VideoFiles.forEach(file => { - video.createTorrentAndSetInfoHash(file) - }) - }) - + .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) })