First typescript iteration
[oweals/peertube.git] / server / initializers / migrations / 0035-video-licence.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.INTEGER,
10     allowNull: false,
11     defaultValue: 0
12   }
13
14   waterfall([
15
16     function addLicenceColumn (callback) {
17       q.addColumn('Videos', 'licence', 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', 'licence', 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 }