diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-04-07 12:13:37 +0200 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-04-07 12:13:37 +0200 |
commit | 3092476e64d09b449b4ad4f5198024afec1b22ca (patch) | |
tree | f2d2bd33578e122188cd2297f60e12813bffdbb7 /server/models | |
parent | 023553a2bde74c5765b5ea679fc04128c27f18a0 (diff) | |
download | PeerTube-3092476e64d09b449b4ad4f5198024afec1b22ca.tar.gz PeerTube-3092476e64d09b449b4ad4f5198024afec1b22ca.tar.zst PeerTube-3092476e64d09b449b4ad4f5198024afec1b22ca.zip |
Server: add video language attribute
Diffstat (limited to 'server/models')
-rw-r--r-- | server/models/video.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/server/models/video.js b/server/models/video.js index 86d6438c8..39eb28ed9 100644 --- a/server/models/video.js +++ b/server/models/video.js | |||
@@ -64,6 +64,7 @@ module.exports = function (sequelize, DataTypes) { | |||
64 | licence: { | 64 | licence: { |
65 | type: DataTypes.INTEGER, | 65 | type: DataTypes.INTEGER, |
66 | allowNull: false, | 66 | allowNull: false, |
67 | defaultValue: null, | ||
67 | validate: { | 68 | validate: { |
68 | licenceValid: function (value) { | 69 | licenceValid: function (value) { |
69 | const res = customVideosValidators.isVideoLicenceValid(value) | 70 | const res = customVideosValidators.isVideoLicenceValid(value) |
@@ -71,6 +72,16 @@ module.exports = function (sequelize, DataTypes) { | |||
71 | } | 72 | } |
72 | } | 73 | } |
73 | }, | 74 | }, |
75 | language: { | ||
76 | type: DataTypes.INTEGER, | ||
77 | allowNull: true, | ||
78 | validate: { | ||
79 | languageValid: function (value) { | ||
80 | const res = customVideosValidators.isVideoLanguageValid(value) | ||
81 | if (res === false) throw new Error('Video language is not valid.') | ||
82 | } | ||
83 | } | ||
84 | }, | ||
74 | nsfw: { | 85 | nsfw: { |
75 | type: DataTypes.BOOLEAN, | 86 | type: DataTypes.BOOLEAN, |
76 | allowNull: false, | 87 | allowNull: false, |
@@ -398,6 +409,10 @@ function toFormatedJSON () { | |||
398 | let licenceLabel = constants.VIDEO_LICENCES[this.licence] | 409 | let licenceLabel = constants.VIDEO_LICENCES[this.licence] |
399 | if (!licenceLabel) licenceLabel = 'Unknown' | 410 | if (!licenceLabel) licenceLabel = 'Unknown' |
400 | 411 | ||
412 | // Language is an optional attribute | ||
413 | let languageLabel = constants.VIDEO_LANGUAGES[this.language] | ||
414 | if (!languageLabel) languageLabel = 'Unknown' | ||
415 | |||
401 | const json = { | 416 | const json = { |
402 | id: this.id, | 417 | id: this.id, |
403 | name: this.name, | 418 | name: this.name, |
@@ -405,6 +420,8 @@ function toFormatedJSON () { | |||
405 | categoryLabel, | 420 | categoryLabel, |
406 | licence: this.licence, | 421 | licence: this.licence, |
407 | licenceLabel, | 422 | licenceLabel, |
423 | language: this.language, | ||
424 | languageLabel, | ||
408 | nsfw: this.nsfw, | 425 | nsfw: this.nsfw, |
409 | description: this.description, | 426 | description: this.description, |
410 | podHost, | 427 | podHost, |
@@ -439,6 +456,7 @@ function toAddRemoteJSON (callback) { | |||
439 | name: self.name, | 456 | name: self.name, |
440 | category: self.category, | 457 | category: self.category, |
441 | licence: self.licence, | 458 | licence: self.licence, |
459 | language: self.language, | ||
442 | nsfw: self.nsfw, | 460 | nsfw: self.nsfw, |
443 | description: self.description, | 461 | description: self.description, |
444 | infoHash: self.infoHash, | 462 | infoHash: self.infoHash, |
@@ -464,6 +482,7 @@ function toUpdateRemoteJSON (callback) { | |||
464 | name: this.name, | 482 | name: this.name, |
465 | category: this.category, | 483 | category: this.category, |
466 | licence: this.licence, | 484 | licence: this.licence, |
485 | language: this.language, | ||
467 | nsfw: this.nsfw, | 486 | nsfw: this.nsfw, |
468 | description: this.description, | 487 | description: this.description, |
469 | infoHash: this.infoHash, | 488 | infoHash: this.infoHash, |