From ce33919c24e7402d92d81f3cd8e545df52d98240 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 6 Aug 2018 17:13:39 +0200 Subject: Import magnets with webtorrent --- server/initializers/constants.ts | 5 +-- .../initializers/migrations/0245-import-magnet.ts | 42 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 server/initializers/migrations/0245-import-magnet.ts (limited to 'server/initializers') diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 74fe7965d..243d544ea 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -15,7 +15,7 @@ let config: IConfig = require('config') // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 240 +const LAST_MIGRATION_VERSION = 245 // --------------------------------------------------------------------------- @@ -271,7 +271,8 @@ const CONSTRAINTS_FIELDS = { } }, VIDEO_IMPORTS: { - URL: { min: 3, max: 2000 } // Length + URL: { min: 3, max: 2000 }, // Length + TORRENT_NAME: { min: 3, max: 255 }, // Length }, VIDEOS: { NAME: { min: 3, max: 120 }, // Length diff --git a/server/initializers/migrations/0245-import-magnet.ts b/server/initializers/migrations/0245-import-magnet.ts new file mode 100644 index 000000000..87603b006 --- /dev/null +++ b/server/initializers/migrations/0245-import-magnet.ts @@ -0,0 +1,42 @@ +import * as Sequelize from 'sequelize' +import { Migration } from '../../models/migrations' +import { CONSTRAINTS_FIELDS } from '../index' + +async function up (utils: { + transaction: Sequelize.Transaction + queryInterface: Sequelize.QueryInterface + sequelize: Sequelize.Sequelize +}): Promise { + { + const data = { + type: Sequelize.STRING, + allowNull: true, + defaultValue: null + } as Migration.String + await utils.queryInterface.changeColumn('videoImport', 'targetUrl', data) + } + + { + const data = { + type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_IMPORTS.URL.max), + allowNull: true, + defaultValue: null + } + await utils.queryInterface.addColumn('videoImport', 'magnetUri', data) + } + + { + const data = { + type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_IMPORTS.TORRENT_NAME.max), + allowNull: true, + defaultValue: null + } + await utils.queryInterface.addColumn('videoImport', 'torrentName', data) + } +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { up, down } -- cgit v1.2.3