X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-caption.ts;h=76243bf488ffc02b4ba814f9df51f11a6dd6a060;hb=970ceac0a6bf4990b8924738591df4949491ec9b;hp=c670bce71dc49599d497ff2fc4d4c890a4bec781;hpb=6dd9de95dfa39bd5c1faed00d1dbd52cd112bae0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-caption.ts b/server/models/video/video-caption.ts index c670bce71..76243bf48 100644 --- a/server/models/video/video-caption.ts +++ b/server/models/video/video-caption.ts @@ -1,4 +1,4 @@ -import * as Sequelize from 'sequelize' +import { OrderItem, Transaction } from 'sequelize' import { AllowNull, BeforeDestroy, @@ -12,11 +12,11 @@ import { Table, UpdatedAt } from 'sequelize-typescript' -import { throwIfNotValid } from '../utils' +import { buildWhereIdOrUUID, throwIfNotValid } from '../utils' import { VideoModel } from './video' import { isVideoCaptionLanguageValid } from '../../helpers/custom-validators/video-captions' import { VideoCaption } from '../../../shared/models/videos/caption/video-caption.model' -import { STATIC_PATHS, VIDEO_LANGUAGES } from '../../initializers' +import { STATIC_PATHS, VIDEO_LANGUAGES } from '../../initializers/constants' import { join } from 'path' import { logger } from '../../helpers/logger' import { remove } from 'fs-extra' @@ -26,17 +26,17 @@ export enum ScopeNames { WITH_VIDEO_UUID_AND_REMOTE = 'WITH_VIDEO_UUID_AND_REMOTE' } -@Scopes({ +@Scopes(() => ({ [ScopeNames.WITH_VIDEO_UUID_AND_REMOTE]: { include: [ { attributes: [ 'uuid', 'remote' ], - model: () => VideoModel.unscoped(), + model: VideoModel.unscoped(), required: true } ] } -}) +})) @Table({ tableName: 'videoCaption', @@ -97,12 +97,9 @@ export class VideoCaptionModel extends Model { const videoInclude = { model: VideoModel.unscoped(), attributes: [ 'id', 'remote', 'uuid' ], - where: { } + where: buildWhereIdOrUUID(videoId) } - if (typeof videoId === 'string') videoInclude.where['uuid'] = videoId - else videoInclude.where['id'] = videoId - const query = { where: { language @@ -115,19 +112,19 @@ export class VideoCaptionModel extends Model { return VideoCaptionModel.findOne(query) } - static insertOrReplaceLanguage (videoId: number, language: string, transaction: Sequelize.Transaction) { + static insertOrReplaceLanguage (videoId: number, language: string, transaction: Transaction) { const values = { videoId, language } - return VideoCaptionModel.upsert(values, { transaction, returning: true }) + return (VideoCaptionModel.upsert(values, { transaction, returning: true }) as any) // FIXME: typings .then(([ caption ]) => caption) } static listVideoCaptions (videoId: number) { const query = { - order: [ [ 'language', 'ASC' ] ], + order: [ [ 'language', 'ASC' ] ] as OrderItem[], where: { videoId } @@ -140,7 +137,7 @@ export class VideoCaptionModel extends Model { return VIDEO_LANGUAGES[language] || 'Unknown' } - static deleteAllCaptionsOfRemoteVideo (videoId: number, transaction: Sequelize.Transaction) { + static deleteAllCaptionsOfRemoteVideo (videoId: number, transaction: Transaction) { const query = { where: { videoId