]>
Commit | Line | Data |
---|---|---|
2550fab3 C |
1 | /* |
2 | Change video magnet structures | |
3 | */ | |
4 | ||
5 | const each = require('async/each') | |
6 | const magnet = require('magnet-uri') | |
7 | const mongoose = require('mongoose') | |
8 | ||
9 | const Video = mongoose.model('Video') | |
10 | ||
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) { | |
14 | if (err) throw err | |
15 | ||
16 | each(videos, function (video, callbackEach) { | |
17 | const parsed = magnet.decode(video.magnetUri) | |
18 | const infoHash = parsed.infoHash | |
19 | ||
20 | Video.load(video._id, function (err, videoObj) { | |
21 | if (err) return callbackEach(err) | |
22 | ||
23 | videoObj.magnet.infoHash = infoHash | |
24 | videoObj.save(callbackEach) | |
25 | }) | |
26 | }, callback) | |
27 | }) | |
28 | } | |
29 | ||
30 | exports.down = function (callback) { | |
31 | throw new Error('Not implemented.') | |
32 | } |