c61f496f1bd0bcd942a5307c367117a2d2638760
[oweals/peertube.git] / server / initializers / migrations / 0040-video-nsfw.ts
1 import { waterfall } from 'async'
2
3 // utils = { transaction, queryInterface, sequelize, Sequelize }
4 function up (utils, finalCallback) {
5   const q = utils.queryInterface
6   const Sequelize = utils.Sequelize
7
8   const data = {
9     type: Sequelize.BOOLEAN,
10     allowNull: false,
11     defaultValue: false
12   }
13
14   waterfall([
15
16     function addNSFWColumn (callback) {
17       q.addColumn('Videos', 'nsfw', data, { transaction: utils.transaction }).asCallback(function (err) {
18         return callback(err)
19       })
20     },
21
22     function nullOnDefault (callback) {
23       data.defaultValue = null
24
25       q.changeColumn('Videos', 'nsfw', data, { transaction: utils.transaction }).asCallback(callback)
26     }
27   ], finalCallback)
28 }
29
30 function down (options, callback) {
31   throw new Error('Not implemented.')
32 }
33
34 export {
35   up,
36   down
37 }