X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-import.ts;h=5c73fb07c8a07bc7087e2766e05afbe61afdb5cb;hb=d9bf974f5df787bbeaab5b04949ca91a2b3ca2a3;hp=f3ed651b261326166bd4e0eaa3a2f6fb3f8441bc;hpb=b49f22d8f9a52ab75fd38db2d377249eb58fa678;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-import.ts b/server/models/video/video-import.ts index f3ed651b2..5c73fb07c 100644 --- a/server/models/video/video-import.ts +++ b/server/models/video/video-import.ts @@ -13,12 +13,14 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { MVideoImportDefault, MVideoImportFormattable } from '@server/types/models/video/video-import' +import { AttributesOnly } from '@shared/core-utils' import { VideoImport, VideoImportState } from '../../../shared' import { isVideoImportStateValid, isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports' import { isVideoMagnetUriValid } from '../../helpers/custom-validators/videos' import { CONSTRAINTS_FIELDS, VIDEO_IMPORT_STATES } from '../../initializers/constants' -import { UserModel } from '../account/user' +import { UserModel } from '../user/user' import { getSort, throwIfNotValid } from '../utils' import { ScopeNames as VideoModelScopeNames, VideoModel } from './video' @@ -51,7 +53,7 @@ import { ScopeNames as VideoModelScopeNames, VideoModel } from './video' } ] }) -export class VideoImportModel extends Model { +export class VideoImportModel extends Model>> { @CreatedAt createdAt: Date @@ -113,7 +115,7 @@ export class VideoImportModel extends Model { @AfterUpdate static deleteVideoIfFailed (instance: VideoImportModel, options) { if (instance.state === VideoImportState.FAILED) { - return instance.Video.destroy({ transaction: options.transaction }) + return afterCommitIfTransaction(options.transaction, () => instance.Video.destroy()) } return undefined