Import magnets with webtorrent
[oweals/peertube.git] / server / initializers / migrations / 0245-import-magnet.ts
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 }