diff options
author | Chocobozzz <me@florianbigard.com> | 2018-08-06 17:13:39 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-08-08 09:30:31 +0200 |
commit | ce33919c24e7402d92d81f3cd8e545df52d98240 (patch) | |
tree | 7e131a2f8df649899d0a71294665cf386ffb50d4 /server/initializers | |
parent | 788487140c500abeb69ca44daf3a9e26efa8d36f (diff) | |
download | PeerTube-ce33919c24e7402d92d81f3cd8e545df52d98240.tar.gz PeerTube-ce33919c24e7402d92d81f3cd8e545df52d98240.tar.zst PeerTube-ce33919c24e7402d92d81f3cd8e545df52d98240.zip |
Import magnets with webtorrent
Diffstat (limited to 'server/initializers')
-rw-r--r-- | server/initializers/constants.ts | 5 | ||||
-rw-r--r-- | server/initializers/migrations/0245-import-magnet.ts | 42 |
2 files changed, 45 insertions, 2 deletions
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') | |||
15 | 15 | ||
16 | // --------------------------------------------------------------------------- | 16 | // --------------------------------------------------------------------------- |
17 | 17 | ||
18 | const LAST_MIGRATION_VERSION = 240 | 18 | const LAST_MIGRATION_VERSION = 245 |
19 | 19 | ||
20 | // --------------------------------------------------------------------------- | 20 | // --------------------------------------------------------------------------- |
21 | 21 | ||
@@ -271,7 +271,8 @@ const CONSTRAINTS_FIELDS = { | |||
271 | } | 271 | } |
272 | }, | 272 | }, |
273 | VIDEO_IMPORTS: { | 273 | VIDEO_IMPORTS: { |
274 | URL: { min: 3, max: 2000 } // Length | 274 | URL: { min: 3, max: 2000 }, // Length |
275 | TORRENT_NAME: { min: 3, max: 255 }, // Length | ||
275 | }, | 276 | }, |
276 | VIDEOS: { | 277 | VIDEOS: { |
277 | NAME: { min: 3, max: 120 }, // Length | 278 | 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 @@ | |||
1 | import * as Sequelize from 'sequelize' | ||
2 | import { Migration } from '../../models/migrations' | ||
3 | import { CONSTRAINTS_FIELDS } from '../index' | ||
4 | |||
5 | async function up (utils: { | ||
6 | transaction: Sequelize.Transaction | ||
7 | queryInterface: Sequelize.QueryInterface | ||
8 | sequelize: Sequelize.Sequelize | ||
9 | }): Promise<any> { | ||
10 | { | ||
11 | const data = { | ||
12 | type: Sequelize.STRING, | ||
13 | allowNull: true, | ||
14 | defaultValue: null | ||
15 | } as Migration.String | ||
16 | await utils.queryInterface.changeColumn('videoImport', 'targetUrl', data) | ||
17 | } | ||
18 | |||
19 | { | ||
20 | const data = { | ||
21 | type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_IMPORTS.URL.max), | ||
22 | allowNull: true, | ||
23 | defaultValue: null | ||
24 | } | ||
25 | await utils.queryInterface.addColumn('videoImport', 'magnetUri', data) | ||
26 | } | ||
27 | |||
28 | { | ||
29 | const data = { | ||
30 | type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_IMPORTS.TORRENT_NAME.max), | ||
31 | allowNull: true, | ||
32 | defaultValue: null | ||
33 | } | ||
34 | await utils.queryInterface.addColumn('videoImport', 'torrentName', data) | ||
35 | } | ||
36 | } | ||
37 | |||
38 | function down (options) { | ||
39 | throw new Error('Not implemented.') | ||
40 | } | ||
41 | |||
42 | export { up, down } | ||