From 19a3b914f19812a082e2f47d31c66fb1d9771736 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 12 Mar 2018 11:29:46 +0100 Subject: Change video abuse API response --- server/models/video/video-abuse.ts | 25 +++++++++---------------- server/tests/api/videos/video-abuse.ts | 31 ++++++++++++++++--------------- server/tests/utils/videos/videos.ts | 3 ++- 3 files changed, 27 insertions(+), 32 deletions(-) (limited to 'server') diff --git a/server/models/video/video-abuse.ts b/server/models/video/video-abuse.ts index 65b734442..a6319bb79 100644 --- a/server/models/video/video-abuse.ts +++ b/server/models/video/video-abuse.ts @@ -1,7 +1,7 @@ import { AfterCreate, AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { VideoAbuseObject } from '../../../shared/models/activitypub/objects' +import { VideoAbuse } from '../../../shared/models/videos' import { isVideoAbuseReasonValid } from '../../helpers/custom-validators/videos' -import { CONFIG } from '../../initializers' import { Emailer } from '../../lib/emailer' import { AccountModel } from '../account/account' import { getSort, throwIfNotValid } from '../utils' @@ -83,24 +83,17 @@ export class VideoAbuseModel extends Model { }) } - toFormattedJSON () { - let reporterServerHost - - if (this.Account.Actor.Server) { - reporterServerHost = this.Account.Actor.Server.host - } else { - // It means it's our video - reporterServerHost = CONFIG.WEBSERVER.HOST - } - + toFormattedJSON (): VideoAbuse { return { id: this.id, reason: this.reason, - reporterUsername: this.Account.name, - reporterServerHost, - videoId: this.Video.id, - videoUUID: this.Video.uuid, - videoName: this.Video.name, + reporterAccount: this.Account.toFormattedJSON(), + video: { + id: this.Video.id, + uuid: this.Video.uuid, + url: this.Video.url, + name: this.Video.name + }, createdAt: this.createdAt } } diff --git a/server/tests/api/videos/video-abuse.ts b/server/tests/api/videos/video-abuse.ts index 3fcf5d8c7..f1c4ef0ce 100644 --- a/server/tests/api/videos/video-abuse.ts +++ b/server/tests/api/videos/video-abuse.ts @@ -2,6 +2,7 @@ import * as chai from 'chai' import 'mocha' +import { VideoAbuse } from '../../../../shared/models/videos' import { flushAndRunMultipleServers, flushTests, @@ -83,11 +84,11 @@ describe('Test video abuses', function () { expect(res1.body.data).to.be.an('array') expect(res1.body.data.length).to.equal(1) - const abuse = res1.body.data[0] + const abuse: VideoAbuse = res1.body.data[0] expect(abuse.reason).to.equal('my super bad reason') - expect(abuse.reporterUsername).to.equal('root') - expect(abuse.reporterServerHost).to.equal('localhost:9001') - expect(abuse.videoId).to.equal(servers[0].video.id) + expect(abuse.reporterAccount.name).to.equal('root') + expect(abuse.reporterAccount.host).to.equal('localhost:9001') + expect(abuse.video.id).to.equal(servers[0].video.id) const res2 = await getVideoAbusesList(servers[1].url, servers[1].accessToken) expect(res2.body.total).to.equal(0) @@ -111,27 +112,27 @@ describe('Test video abuses', function () { expect(res1.body.data).to.be.an('array') expect(res1.body.data.length).to.equal(2) - const abuse1 = res1.body.data[0] + const abuse1: VideoAbuse = res1.body.data[0] expect(abuse1.reason).to.equal('my super bad reason') - expect(abuse1.reporterUsername).to.equal('root') - expect(abuse1.reporterServerHost).to.equal('localhost:9001') - expect(abuse1.videoId).to.equal(servers[0].video.id) + expect(abuse1.reporterAccount.name).to.equal('root') + expect(abuse1.reporterAccount.host).to.equal('localhost:9001') + expect(abuse1.video.id).to.equal(servers[0].video.id) - const abuse2 = res1.body.data[1] + const abuse2: VideoAbuse = res1.body.data[1] expect(abuse2.reason).to.equal('my super bad reason 2') - expect(abuse2.reporterUsername).to.equal('root') - expect(abuse2.reporterServerHost).to.equal('localhost:9001') - expect(abuse2.videoId).to.equal(servers[1].video.id) + expect(abuse2.reporterAccount.name).to.equal('root') + expect(abuse2.reporterAccount.host).to.equal('localhost:9001') + expect(abuse2.video.id).to.equal(servers[1].video.id) const res2 = await getVideoAbusesList(servers[1].url, servers[1].accessToken) expect(res2.body.total).to.equal(1) expect(res2.body.data).to.be.an('array') expect(res2.body.data.length).to.equal(1) - const abuse3 = res2.body.data[0] + const abuse3: VideoAbuse = res2.body.data[0] expect(abuse3.reason).to.equal('my super bad reason 2') - expect(abuse3.reporterUsername).to.equal('root') - expect(abuse3.reporterServerHost).to.equal('localhost:9001') + expect(abuse3.reporterAccount.name).to.equal('root') + expect(abuse3.reporterAccount.host).to.equal('localhost:9001') }) after(async function () { diff --git a/server/tests/utils/videos/videos.ts b/server/tests/utils/videos/videos.ts index 4b57f24b5..ec40c5465 100644 --- a/server/tests/utils/videos/videos.ts +++ b/server/tests/utils/videos/videos.ts @@ -420,7 +420,8 @@ async function completeVideoCheck ( expect(videoDetails.tags).to.deep.equal(attributes.tags) expect(videoDetails.privacy).to.deep.equal(attributes.privacy) expect(videoDetails.privacyLabel).to.deep.equal(VIDEO_PRIVACIES[attributes.privacy]) - expect(videoDetails.account.name).to.equal(attributes.account) + expect(videoDetails.account.name).to.equal(attributes.account.name) + expect(videoDetails.account.host).to.equal(attributes.account.host) expect(videoDetails.commentsEnabled).to.equal(attributes.commentsEnabled) expect(videoDetails.channel.displayName).to.equal(attributes.channel.name) -- cgit v1.2.3