X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-abuse.ts;h=c1d070ec0de8ca3dacae91c8879ded9dfa84d91f;hb=608624252466acf9f1d9ee1c1170bd4fe4d18d18;hp=e0e0bcfe6d66329e7b82d05764cf886bb7f544f7;hpb=74889a71fe687dda74f2a687653122327807af36;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts index e0e0bcfe6..c1d070ec0 100644 --- a/server/models/video/video-abuse.ts +++ b/server/models/video/video-abuse.ts @@ -5,7 +5,6 @@ import { isVideoAbuseReporterUsernameValid, isVideoAbuseReasonValid } from '../. import { addMethodsToModel, getSort } from '../utils' import { - VideoAbuseClass, VideoAbuseInstance, VideoAbuseAttributes, @@ -13,6 +12,7 @@ import { } from './video-abuse-interface' let VideoAbuse: Sequelize.Model +let toFormattedJSON: VideoAbuseMethods.ToFormattedJSON let listForApi: VideoAbuseMethods.ListForApi export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { @@ -22,7 +22,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da type: DataTypes.STRING, allowNull: false, validate: { - reporterUsernameValid: function (value) { + reporterUsernameValid: value => { const res = isVideoAbuseReporterUsernameValid(value) if (res === false) throw new Error('Video abuse reporter username is not valid.') } @@ -32,7 +32,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da type: DataTypes.STRING, allowNull: false, validate: { - reasonValid: function (value) { + reasonValid: value => { const res = isVideoAbuseReasonValid(value) if (res === false) throw new Error('Video abuse reason is not valid.') } @@ -45,7 +45,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da fields: [ 'videoId' ] }, { - fields: [ 'reporterPodId' ] + fields: [ 'reporterServerId' ] } ] } @@ -57,7 +57,7 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da listForApi ] const instanceMethods = [ - toFormatedJSON + toFormattedJSON ] addMethodsToModel(VideoAbuse, classMethods, instanceMethods) @@ -66,19 +66,19 @@ export default function (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.Da // ------------------------------ METHODS ------------------------------ -function toFormatedJSON () { - let reporterPodHost +toFormattedJSON = function (this: VideoAbuseInstance) { + let reporterServerHost - if (this.Pod) { - reporterPodHost = this.Pod.host + if (this.Server) { + reporterServerHost = this.Server.host } else { // It means it's our video - reporterPodHost = CONFIG.WEBSERVER.HOST + reporterServerHost = CONFIG.WEBSERVER.HOST } const json = { id: this.id, - reporterPodHost, + reporterServerHost, reason: this.reason, reporterUsername: this.reporterUsername, videoId: this.videoId, @@ -91,12 +91,12 @@ function toFormatedJSON () { // ------------------------------ STATICS ------------------------------ function associate (models) { - VideoAbuse.belongsTo(models.Pod, { + VideoAbuse.belongsTo(models.Server, { foreignKey: { - name: 'reporterPodId', + name: 'reporterServerId', allowNull: true }, - onDelete: 'cascade' + onDelete: 'CASCADE' }) VideoAbuse.belongsTo(models.Video, { @@ -104,28 +104,24 @@ function associate (models) { name: 'videoId', allowNull: false }, - onDelete: 'cascade' + onDelete: 'CASCADE' }) } -listForApi = function (start, count, sort, callback) { +listForApi = function (start: number, count: number, sort: string) { const query = { offset: start, limit: count, order: [ getSort(sort) ], include: [ { - model: VideoAbuse['sequelize'].models.Pod, + model: VideoAbuse['sequelize'].models.Server, required: false } ] } - return VideoAbuse.findAndCountAll(query).asCallback(function (err, result) { - if (err) return callback(err) - - return callback(null, result.rows, result.count) + return VideoAbuse.findAndCountAll(query).then(({ rows, count }) => { + return { total: count, data: rows } }) } - -