2 Change video magnet structures
5 const each = require('async/each')
6 const magnet = require('magnet-uri')
7 const mongoose = require('mongoose')
9 const Video = mongoose.model('Video')
11 exports.up = function (callback) {
12 // Use of lean because the new Video scheme does not have magnetUri field
13 Video.find({ }).lean().exec(function (err, videos) {
16 each(videos, function (video, callbackEach) {
17 const parsed = magnet.decode(video.magnetUri)
18 const infoHash = parsed.infoHash
20 Video.load(video._id, function (err, videoObj) {
21 if (err) return callbackEach(err)
23 videoObj.magnet.infoHash = infoHash
24 videoObj.save(callbackEach)
30 exports.down = function (callback) {
31 throw new Error('Not implemented.')