X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fcreate-move-video-storage-job.ts;h=13ba3c0b77b76e17feb42092ef5c5d366bafb56d;hb=92a6e85fe7679b47bb61f7ff6bc757c7ee75a440;hp=699487f72e7b2a876520e59bb7364ed52356a4f8;hpb=709565486f86ce9ee553e2e45372ce8226a782fb;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/create-move-video-storage-job.ts b/scripts/create-move-video-storage-job.ts index 699487f72..13ba3c0b7 100644 --- a/scripts/create-move-video-storage-job.ts +++ b/scripts/create-move-video-storage-job.ts @@ -1,13 +1,10 @@ -import { registerTSPaths } from '../server/helpers/register-ts-paths' -registerTSPaths() - import { program } from 'commander' -import { VideoModel } from '@server/models/video/video' +import { CONFIG } from '@server/initializers/config' import { initDatabaseModels } from '@server/initializers/database' -import { VideoStorage } from '@shared/models' -import { moveToExternalStorageState } from '@server/lib/video-state' import { JobQueue } from '@server/lib/job-queue' -import { CONFIG } from '@server/initializers/config' +import { moveToExternalStorageState } from '@server/lib/video-state' +import { VideoModel } from '@server/models/video/video' +import { VideoState, VideoStorage } from '@shared/models' program .description('Move videos to another storage.') @@ -40,7 +37,7 @@ run() async function run () { await initDatabaseModels(true) - JobQueue.Instance.init(true) + JobQueue.Instance.init() let ids: number[] = [] @@ -62,13 +59,18 @@ async function run () { process.exit(-1) } + if (video.state === VideoState.TO_MOVE_TO_EXTERNAL_STORAGE) { + console.error('This video is already being moved to external storage') + process.exit(-1) + } + ids.push(video.id) } else { ids = await VideoModel.listLocalIds() } for (const id of ids) { - const videoFull = await VideoModel.loadAndPopulateAccountAndServerAndTags(id) + const videoFull = await VideoModel.loadFull(id) const files = videoFull.VideoFiles || [] const hls = videoFull.getHLSPlaylist() @@ -76,7 +78,7 @@ async function run () { if (files.some(f => f.storage === VideoStorage.FILE_SYSTEM) || hls?.storage === VideoStorage.FILE_SYSTEM) { console.log('Processing video %s.', videoFull.name) - const success = await moveToExternalStorageState(videoFull, false, undefined) + const success = await moveToExternalStorageState({ video: videoFull, isNewVideo: false, transaction: undefined }) if (!success) { console.error(