From 12dc3a942a13c7f1489822dae052da197ef15905 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 19 Jul 2023 16:02:49 +0200 Subject: Implement replace file in server side --- server/initializers/checker-before-init.ts | 1 + server/initializers/config.ts | 5 +++ server/initializers/constants.ts | 2 +- .../migrations/0800-video-replace-file.ts | 38 ++++++++++++++++++++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 server/initializers/migrations/0800-video-replace-file.ts (limited to 'server/initializers') diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts index a872fcba3..f77b0defb 100644 --- a/server/initializers/checker-before-init.ts +++ b/server/initializers/checker-before-init.ts @@ -40,6 +40,7 @@ function checkMissedConfig () { 'transcoding.resolutions.480p', 'transcoding.resolutions.720p', 'transcoding.resolutions.1080p', 'transcoding.resolutions.1440p', 'transcoding.resolutions.2160p', 'transcoding.always_transcode_original_resolution', 'transcoding.remote_runners.enabled', 'video_studio.enabled', 'video_studio.remote_runners.enabled', + 'video_file.update.enabled', 'remote_runners.stalled_jobs.vod', 'remote_runners.stalled_jobs.live', 'import.videos.http.enabled', 'import.videos.torrent.enabled', 'import.videos.concurrency', 'import.videos.timeout', 'import.video_channel_synchronization.enabled', 'import.video_channel_synchronization.max_per_user', diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 37cd852f1..f12d9b85a 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -435,6 +435,11 @@ const CONFIG = { get ENABLED () { return config.get('video_studio.remote_runners.enabled') } } }, + VIDEO_FILE: { + UPDATE: { + get ENABLED () { return config.get('video_file.update.enabled') } + } + }, IMPORT: { VIDEOS: { get CONCURRENCY () { return config.get('import.videos.concurrency') }, diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index e09f0e3c6..9e5a02854 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -27,7 +27,7 @@ import { CONFIG, registerConfigChangedHandler } from './config' // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 795 +const LAST_MIGRATION_VERSION = 800 // --------------------------------------------------------------------------- diff --git a/server/initializers/migrations/0800-video-replace-file.ts b/server/initializers/migrations/0800-video-replace-file.ts new file mode 100644 index 000000000..f924a4d92 --- /dev/null +++ b/server/initializers/migrations/0800-video-replace-file.ts @@ -0,0 +1,38 @@ +import * as Sequelize from 'sequelize' + +async function up (utils: { + transaction: Sequelize.Transaction + queryInterface: Sequelize.QueryInterface + sequelize: Sequelize.Sequelize +}): Promise { + const { transaction } = utils + + { + const query = 'DELETE FROM "videoSource" WHERE "videoId" IS NULL' + await utils.sequelize.query(query, { transaction }) + } + + { + const query = 'ALTER TABLE "videoSource" ALTER COLUMN "videoId" SET NOT NULL' + await utils.sequelize.query(query, { transaction }) + } + + { + const data = { + type: Sequelize.DATE, + allowNull: true, + defaultValue: null + } + + await utils.queryInterface.addColumn('video', 'inputFileUpdatedAt', data, { transaction }) + } +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} -- cgit v1.2.3