X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-file.ts;h=f5a2b6c1f5ef99a4cc3a5381490a6912c37b4b28;hb=8e0fd45e14993793c64e06682a4a05c29068d398;hp=df4067a4e59c4aa439a00af170f8c8e9fd6d41a0;hpb=3fd3ab2d34d512b160a5e6084d7609be7b4f4452;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-file.ts b/server/models/video/video-file.ts index df4067a4e..f5a2b6c1f 100644 --- a/server/models/video/video-file.ts +++ b/server/models/video/video-file.ts @@ -1,6 +1,11 @@ import { values } from 'lodash' -import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { isVideoFileInfoHashValid, isVideoFileResolutionValid, isVideoFileSizeValid } from '../../helpers/custom-validators/videos' +import { AllowNull, BelongsTo, Column, CreatedAt, DataType, Default, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' +import { + isVideoFileInfoHashValid, + isVideoFileResolutionValid, + isVideoFileSizeValid, + isVideoFPSResolutionValid +} from '../../helpers/custom-validators/videos' import { CONSTRAINTS_FIELDS } from '../../initializers' import { throwIfNotValid } from '../utils' import { VideoModel } from './video' @@ -13,6 +18,10 @@ import { VideoModel } from './video' }, { fields: [ 'infoHash' ] + }, + { + fields: [ 'videoId', 'resolution', 'fps' ], + unique: true } ] }) @@ -42,6 +51,12 @@ export class VideoFileModel extends Model { @Column infoHash: string + @AllowNull(true) + @Default(null) + @Is('VideoFileFPS', value => throwIfNotValid(value, isVideoFPSResolutionValid, 'fps')) + @Column + fps: number + @ForeignKey(() => VideoModel) @Column videoId: number