]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/initializers/migrations/0205-user-nsfw-policy.ts
Merge branch 'release/2.3.0' into develop
[github/Chocobozzz/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 }