]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/video-tag.ts
Move models to typescript-sequelize
[github/Chocobozzz/PeerTube.git] / server / models / video / video-tag.ts
index ac45374f8fd3dd68323682c3a44225a3de005098..ca15e34266880f0950b044a85364be3f9d72b536 100644 (file)
@@ -1,23 +1,30 @@
-import * as Sequelize from 'sequelize'
+import { Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript'
+import { TagModel } from './tag'
+import { VideoModel } from './video'
 
-import {
-  VideoTagInstance,
-  VideoTagAttributes
-} from './video-tag-interface'
+@Table({
+  tableName: 'videoTag',
+  indexes: [
+    {
+      fields: [ 'videoId' ]
+    },
+    {
+      fields: [ 'tagId' ]
+    }
+  ]
+})
+export class VideoTagModel extends Model<VideoTagModel> {
+  @CreatedAt
+  createdAt: Date
 
-let VideoTag: Sequelize.Model<VideoTagInstance, VideoTagAttributes>
+  @UpdatedAt
+  updatedAt: Date
 
-export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) {
-  VideoTag = sequelize.define<VideoTagInstance, VideoTagAttributes>('VideoTag', {}, {
-    indexes: [
-      {
-        fields: [ 'videoId' ]
-      },
-      {
-        fields: [ 'tagId' ]
-      }
-    ]
-  })
+  @ForeignKey(() => VideoModel)
+  @Column
+  videoId: number
 
-  return VideoTag
+  @ForeignKey(() => TagModel)
+  @Column
+  tagId: number
 }