replace fs by fs-extra to prevent EMFILE error
[oweals/peertube.git] / server / initializers / migrations / 0250-video-abuse-state.ts
1 import * as Sequelize from 'sequelize'
2 import { CONSTRAINTS_FIELDS } from '../constants'
3 import { VideoAbuseState } from '../../../shared/models/videos'
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.INTEGER,
13       allowNull: true,
14       defaultValue: null
15     }
16     await utils.queryInterface.addColumn('videoAbuse', 'state', data)
17   }
18
19   {
20     const query = 'UPDATE "videoAbuse" SET "state" = ' + VideoAbuseState.PENDING
21     await utils.sequelize.query(query)
22   }
23
24   {
25     const data = {
26       type: Sequelize.INTEGER,
27       allowNull: false,
28       defaultValue: null
29     }
30     await utils.queryInterface.changeColumn('videoAbuse', 'state', data)
31   }
32
33   {
34     const data = {
35       type: Sequelize.STRING(CONSTRAINTS_FIELDS.VIDEO_ABUSES.MODERATION_COMMENT.max),
36       allowNull: true,
37       defaultValue: null
38     }
39     await utils.queryInterface.addColumn('videoAbuse', 'moderationComment', data)
40   }
41 }
42
43 function down (options) {
44   throw new Error('Not implemented.')
45 }
46
47 export { up, down }