]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/models/author.js
Server: Add postgresql indexes
[github/Chocobozzz/PeerTube.git] / server / models / author.js
CommitLineData
67bf9b96
C
1'use strict'
2
3const customUsersValidators = require('../helpers/custom-validators').users
4
feb4bdfd
C
5module.exports = function (sequelize, DataTypes) {
6 const Author = sequelize.define('Author',
7 {
8 name: {
67bf9b96
C
9 type: DataTypes.STRING,
10 allowNull: false,
11 validate: {
12 usernameValid: function (value) {
13 const res = customUsersValidators.isUserUsernameValid(value)
14 if (res === false) throw new Error('Username is not valid.')
15 }
16 }
feb4bdfd
C
17 }
18 },
19 {
319d072e
C
20 indexes: [
21 {
22 fields: [ 'name' ]
23 },
24 {
25 fields: [ 'podId' ]
26 }
27 ],
feb4bdfd
C
28 classMethods: {
29 associate
30 }
31 }
32 )
33
34 return Author
35}
36
37// ---------------------------------------------------------------------------
38
39function associate (models) {
40 this.belongsTo(models.Pod, {
41 foreignKey: {
42 name: 'podId',
43 allowNull: true
44 },
45 onDelete: 'cascade'
46 })
47}