Import magnets with webtorrent
[oweals/peertube.git] / server / initializers / migrations / 0140-actor-url.ts
1 import * as Sequelize from 'sequelize'
2 import { CONFIG } from '../constants'
3
4 async function up (utils: {
5   transaction: Sequelize.Transaction,
6   queryInterface: Sequelize.QueryInterface,
7   sequelize: Sequelize.Sequelize
8 }): Promise<void> {
9   const toReplace = CONFIG.WEBSERVER.HOSTNAME + ':443'
10   const by = CONFIG.WEBSERVER.HOST
11   const replacer = column => `replace("${column}", '${toReplace}', '${by}')`
12
13   {
14     const query = `UPDATE video SET url = ${replacer('url')}`
15     await utils.sequelize.query(query)
16   }
17
18   {
19     const query = `
20       UPDATE actor SET url = ${replacer('url')}, "inboxUrl" = ${replacer('inboxUrl')}, "outboxUrl" = ${replacer('outboxUrl')},
21       "sharedInboxUrl" = ${replacer('sharedInboxUrl')}, "followersUrl" = ${replacer('followersUrl')},
22       "followingUrl" = ${replacer('followingUrl')}
23     `
24     await utils.sequelize.query(query)
25   }
26
27   {
28     const query = `UPDATE server SET host = replace(host, ':443', '')`
29     await utils.sequelize.query(query)
30   }
31 }
32
33 function down (options) {
34   throw new Error('Not implemented.')
35 }
36
37 export {
38   up,
39   down
40 }