aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/video/video-source.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/models/video/video-source.ts')
-rw-r--r--server/models/video/video-source.ts56
1 files changed, 0 insertions, 56 deletions
diff --git a/server/models/video/video-source.ts b/server/models/video/video-source.ts
deleted file mode 100644
index 1b6868b85..000000000
--- a/server/models/video/video-source.ts
+++ /dev/null
@@ -1,56 +0,0 @@
1import { Transaction } from 'sequelize'
2import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript'
3import { VideoSource } from '@shared/models/videos/video-source'
4import { AttributesOnly } from '@shared/typescript-utils'
5import { getSort } from '../shared'
6import { VideoModel } from './video'
7
8@Table({
9 tableName: 'videoSource',
10 indexes: [
11 {
12 fields: [ 'videoId' ]
13 },
14 {
15 fields: [ { name: 'createdAt', order: 'DESC' } ]
16 }
17 ]
18})
19export class VideoSourceModel extends Model<Partial<AttributesOnly<VideoSourceModel>>> {
20 @CreatedAt
21 createdAt: Date
22
23 @UpdatedAt
24 updatedAt: Date
25
26 @AllowNull(false)
27 @Column
28 filename: string
29
30 @ForeignKey(() => VideoModel)
31 @Column
32 videoId: number
33
34 @BelongsTo(() => VideoModel, {
35 foreignKey: {
36 allowNull: false
37 },
38 onDelete: 'cascade'
39 })
40 Video: VideoModel
41
42 static loadLatest (videoId: number, transaction?: Transaction) {
43 return VideoSourceModel.findOne({
44 where: { videoId },
45 order: getSort('-createdAt'),
46 transaction
47 })
48 }
49
50 toFormattedJSON (): VideoSource {
51 return {
52 filename: this.filename,
53 createdAt: this.createdAt.toISOString()
54 }
55 }
56}