X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fschedule-video-update.ts;h=00b7f55247dd034738ca5defa3589c8f66c9fc2c;hb=f409f0c3b91d85c66b4841d72ea65b5fbe1483d8;hp=3cf5f6c99b06591fe81260f6479553d348d0eedc;hpb=bbe0f0645ca958d33a3f409b15166609733b663f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/schedule-video-update.ts b/server/models/video/schedule-video-update.ts index 3cf5f6c99..00b7f5524 100644 --- a/server/models/video/schedule-video-update.ts +++ b/server/models/video/schedule-video-update.ts @@ -1,7 +1,8 @@ -import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, Model, Sequelize, Table, UpdatedAt } from 'sequelize-typescript' +import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' import { ScopeNames as VideoScopeNames, VideoModel } from './video' import { VideoPrivacy } from '../../../shared/models/videos' -import { Transaction } from 'sequelize' +import { Op, Transaction } from 'sequelize' +import { MScheduleVideoUpdateFormattable, MScheduleVideoUpdateVideoAll } from '@server/typings/models' @Table({ tableName: 'scheduleVideoUpdate', @@ -25,7 +26,7 @@ export class ScheduleVideoUpdateModel extends Model { @AllowNull(true) @Default(null) @Column - privacy: VideoPrivacy.PUBLIC | VideoPrivacy.UNLISTED + privacy: VideoPrivacy.PUBLIC | VideoPrivacy.UNLISTED | VideoPrivacy.INTERNAL @CreatedAt createdAt: Date @@ -51,7 +52,7 @@ export class ScheduleVideoUpdateModel extends Model { attributes: [ 'id' ], where: { updateAt: { - [Sequelize.Op.lte]: new Date() + [Op.lte]: new Date() } } } @@ -64,15 +65,19 @@ export class ScheduleVideoUpdateModel extends Model { const query = { where: { updateAt: { - [Sequelize.Op.lte]: new Date() + [Op.lte]: new Date() } }, include: [ { model: VideoModel.scope( [ - VideoScopeNames.WITH_FILES, - VideoScopeNames.WITH_ACCOUNT_DETAILS + VideoScopeNames.WITH_WEBTORRENT_FILES, + VideoScopeNames.WITH_STREAMING_PLAYLISTS, + VideoScopeNames.WITH_ACCOUNT_DETAILS, + VideoScopeNames.WITH_BLACKLISTED, + VideoScopeNames.WITH_THUMBNAILS, + VideoScopeNames.WITH_TAGS ] ) } @@ -80,10 +85,21 @@ export class ScheduleVideoUpdateModel extends Model { transaction: t } - return ScheduleVideoUpdateModel.findAll(query) + return ScheduleVideoUpdateModel.findAll(query) } - toFormattedJSON () { + static deleteByVideoId (videoId: number, t: Transaction) { + const query = { + where: { + videoId + }, + transaction: t + } + + return ScheduleVideoUpdateModel.destroy(query) + } + + toFormattedJSON (this: MScheduleVideoUpdateFormattable) { return { updateAt: this.updateAt, privacy: this.privacy || undefined