import * as Sequelize from 'sequelize'
import * as Promise from 'bluebird'
-import { stat } from 'fs'
-
-import { VideoInstance } from '../../models'
+import { stat } from 'fs-extra'
+import { VideoModel } from '../../models/video/video'
+import { getVideoFilePath } from '@server/lib/video-paths'
function up (utils: {
- transaction: Sequelize.Transaction,
- queryInterface: Sequelize.QueryInterface,
- sequelize: Sequelize.Sequelize,
+ transaction: Sequelize.Transaction
+ queryInterface: Sequelize.QueryInterface
+ sequelize: Sequelize.Sequelize
db: any
}): Promise<void> {
return utils.db.Video.listOwnedAndPopulateAuthorAndTags()
- .then((videos: VideoInstance[]) => {
+ .then((videos: VideoModel[]) => {
const tasks: Promise<any>[] = []
videos.forEach(video => {
video.VideoFiles.forEach(videoFile => {
const p = new Promise((res, rej) => {
- stat(video.getVideoFilePath(videoFile), (err, stats) => {
+ stat(getVideoFilePath(video, videoFile), (err, stats) => {
if (err) return rej(err)
videoFile.size = stats.size