Fix video channel description/support max length
[oweals/peertube.git] / server / initializers / migrations / 0205-user-nsfw-policy.ts
1 import * as Sequelize from 'sequelize'
2
3 async function up (utils: {
4   transaction: Sequelize.Transaction,
5   queryInterface: Sequelize.QueryInterface,
6   sequelize: Sequelize.Sequelize
7 }): Promise<void> {
8
9   {
10     const data = {
11       type: Sequelize.ENUM('do_not_list', 'blur', 'display'),
12       allowNull: true,
13       defaultValue: null
14     }
15     await utils.queryInterface.addColumn('user', 'nsfwPolicy', data)
16   }
17
18   {
19     const query = 'UPDATE "user" SET "nsfwPolicy" = \'do_not_list\''
20     await utils.sequelize.query(query)
21   }
22
23   {
24     const query = 'UPDATE "user" SET "nsfwPolicy" = \'display\' WHERE "displayNSFW" = true'
25     await utils.sequelize.query(query)
26   }
27
28   {
29     const query = 'ALTER TABLE "user" ALTER COLUMN "nsfwPolicy" SET NOT NULL'
30     await utils.sequelize.query(query)
31   }
32
33   {
34     await utils.queryInterface.removeColumn('user', 'displayNSFW')
35   }
36
37 }
38
39 function down (options) {
40   throw new Error('Not implemented.')
41 }
42
43 export {
44   up,
45   down
46 }