]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/video-import.ts
Use raw SQL for video get request
[github/Chocobozzz/PeerTube.git] / server / models / video / video-import.ts
index f3ed651b261326166bd4e0eaa3a2f6fb3f8441bc..5c73fb07c8a07bc7087e2766e05afbe61afdb5cb 100644 (file)
@@ -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<Partial<AttributesOnly<VideoImportModel>>> {
   @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