From 3acc50844047a37698f0618fa235c138e386a053 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 23 Apr 2019 09:50:57 +0200 Subject: Upgrade sequelize --- server/models/video/video-file.ts | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'server/models/video/video-file.ts') diff --git a/server/models/video/video-file.ts b/server/models/video/video-file.ts index c14d96bc5..2203a7aba 100644 --- a/server/models/video/video-file.ts +++ b/server/models/video/video-file.ts @@ -19,11 +19,11 @@ import { isVideoFileSizeValid, isVideoFPSResolutionValid } from '../../helpers/custom-validators/videos' -import { throwIfNotValid } from '../utils' +import { parseAggregateResult, throwIfNotValid } from '../utils' import { VideoModel } from './video' -import * as Sequelize from 'sequelize' import { VideoRedundancyModel } from '../redundancy/video-redundancy' import { VideoStreamingPlaylistModel } from './video-streaming-playlist' +import { FindOptions, QueryTypes, Transaction } from 'sequelize' @Table({ tableName: 'videoFile', @@ -97,15 +97,13 @@ export class VideoFileModel extends Model { static doesInfohashExist (infoHash: string) { const query = 'SELECT 1 FROM "videoFile" WHERE "infoHash" = $infoHash LIMIT 1' const options = { - type: Sequelize.QueryTypes.SELECT, + type: QueryTypes.SELECT, bind: { infoHash }, raw: true } return VideoModel.sequelize.query(query, options) - .then(results => { - return results.length === 1 - }) + .then(results => results.length === 1) } static loadWithVideo (id: number) { @@ -121,7 +119,7 @@ export class VideoFileModel extends Model { return VideoFileModel.findByPk(id, options) } - static listByStreamingPlaylist (streamingPlaylistId: number, transaction: Sequelize.Transaction) { + static listByStreamingPlaylist (streamingPlaylistId: number, transaction: Transaction) { const query = { include: [ { @@ -144,8 +142,8 @@ export class VideoFileModel extends Model { return VideoFileModel.findAll(query) } - static async getStats () { - let totalLocalVideoFilesSize = await VideoFileModel.sum('size', { + static getStats () { + const query: FindOptions = { include: [ { attributes: [], @@ -155,13 +153,12 @@ export class VideoFileModel extends Model { } } ] - } as any) - // Sequelize could return null... - if (!totalLocalVideoFilesSize) totalLocalVideoFilesSize = 0 - - return { - totalLocalVideoFilesSize } + + return VideoFileModel.aggregate('size', 'SUM', query) + .then(result => ({ + totalLocalVideoFilesSize: parseAggregateResult(result) + })) } hasSameUniqueKeysThan (other: VideoFileModel) { -- cgit v1.2.3