X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=scripts%2Fcreate-move-video-storage-job.ts;h=0f0d4ee35f770bad129067ac525a59d864aa4d05;hb=db9e40cc0fcdc2849fe18fdf5e32f9799759b5c5;hp=505bbd61b8e379f3e6abc17c9e96e7f64560f936;hpb=e1ab52d7ec7370a6f9f5937192d6003206af1ac0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/scripts/create-move-video-storage-job.ts b/scripts/create-move-video-storage-job.ts index 505bbd61b..0f0d4ee35 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.') @@ -57,13 +54,23 @@ async function run () { process.exit(-1) } + if (video.isLive) { + console.error('Cannot process live video') + 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() @@ -71,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(