Merge branch 'develop' into pr/1217
[oweals/peertube.git] / server / initializers / migrations / 0250-video-abuse-state.ts
1 import * as Sequelize from 'sequelize'
2 import { VideoAbuseState } from '../../../shared/models/videos'
3
4 async function up (utils: {
5   transaction: Sequelize.Transaction
6   queryInterface: Sequelize.QueryInterface
7   sequelize: Sequelize.Sequelize
8 }): Promise<any> {
9   {
10     const data = {
11       type: Sequelize.INTEGER,
12       allowNull: true,
13       defaultValue: null
14     }
15     await utils.queryInterface.addColumn('videoAbuse', 'state', data)
16   }
17
18   {
19     const query = 'UPDATE "videoAbuse" SET "state" = ' + VideoAbuseState.PENDING
20     await utils.sequelize.query(query)
21   }
22
23   {
24     const data = {
25       type: Sequelize.INTEGER,
26       allowNull: false,
27       defaultValue: null
28     }
29     await utils.queryInterface.changeColumn('videoAbuse', 'state', data)
30   }
31
32   {
33     const data = {
34       type: Sequelize.STRING(300),
35       allowNull: true,
36       defaultValue: null
37     }
38     await utils.queryInterface.addColumn('videoAbuse', 'moderationComment', data)
39   }
40 }
41
42 function down (options) {
43   throw new Error('Not implemented.')
44 }
45
46 export { up, down }