aboutsummaryrefslogblamecommitdiffhomepage
path: root/server/models/tag.js
blob: 27eecdc84d20be0ef6310bd566973b2d553fa310 (plain) (tree)
1
2
3
4
5
6
7
8
9
10







                                                                              

                               


       






                             

















                                                                              
'use strict'

// ---------------------------------------------------------------------------

module.exports = function (sequelize, DataTypes) {
  const Tag = sequelize.define('Tag',
    {
      name: {
        type: DataTypes.STRING,
        allowNull: false
      }
    },
    {
      timestamps: false,
      indexes: [
        {
          fields: [ 'name' ],
          unique: true
        }
      ],
      classMethods: {
        associate
      }
    }
  )

  return Tag
}

// ---------------------------------------------------------------------------

function associate (models) {
  this.belongsToMany(models.Video, {
    foreignKey: 'tagId',
    through: models.VideoTag,
    onDelete: 'cascade'
  })
}