X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fabuse%2Fabuse.ts;h=3518f5c02983b227554391b313d5845f480dc633;hb=5b1a6d45b5d6e50102e1c7c8c845401b76b11b4d;hp=2a407c3d264bc4669bd3ba7283c8e2d5c19f13ce;hpb=bd45d503e5d007e730f4e81dccd7e7864c9a85cc;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/abuse/abuse.ts b/server/models/abuse/abuse.ts index 2a407c3d2..3518f5c02 100644 --- a/server/models/abuse/abuse.ts +++ b/server/models/abuse/abuse.ts @@ -1,6 +1,5 @@ -import * as Bluebird from 'bluebird' import { invert } from 'lodash' -import { literal, Op, QueryTypes, WhereOptions } from 'sequelize' +import { literal, Op, QueryTypes } from 'sequelize' import { AllowNull, BelongsTo, @@ -17,7 +16,7 @@ import { UpdatedAt } from 'sequelize-typescript' import { isAbuseModerationCommentValid, isAbuseReasonValid, isAbuseStateValid } from '@server/helpers/custom-validators/abuses' -import { abusePredefinedReasonsMap } from '@shared/core-utils/abuse' +import { abusePredefinedReasonsMap, AttributesOnly } from '@shared/core-utils' import { AbuseFilter, AbuseObject, @@ -188,7 +187,7 @@ export enum ScopeNames { } ] }) -export class AbuseModel extends Model { +export class AbuseModel extends Model>> { @AllowNull(false) @Default(null) @@ -265,33 +264,7 @@ export class AbuseModel extends Model { }) VideoAbuse: VideoAbuseModel - // FIXME: deprecated in 2.3. Remove these validators - static loadByIdAndVideoId (id: number, videoId?: number, uuid?: string): Bluebird { - const videoWhere: WhereOptions = {} - - if (videoId) videoWhere.videoId = videoId - if (uuid) videoWhere.deletedVideo = { uuid } - - const query = { - include: [ - { - model: VideoAbuseModel, - required: true, - where: videoWhere - }, - { - model: AccountModel, - as: 'ReporterAccount' - } - ], - where: { - id - } - } - return AbuseModel.findOne(query) - } - - static loadByIdWithReporter (id: number): Bluebird { + static loadByIdWithReporter (id: number): Promise { const query = { where: { id @@ -307,7 +280,7 @@ export class AbuseModel extends Model { return AbuseModel.findOne(query) } - static loadFull (id: number): Bluebird { + static loadFull (id: number): Promise { const query = { where: { id @@ -461,10 +434,10 @@ export class AbuseModel extends Model { } buildBaseVideoCommentAbuse (this: MAbuseUserFormattable) { - if (!this.VideoCommentAbuse) return null + // Associated video comment could have been destroyed if the video has been deleted + if (!this.VideoCommentAbuse || !this.VideoCommentAbuse.VideoComment) return null - const abuseModel = this.VideoCommentAbuse - const entity = abuseModel.VideoComment + const entity = this.VideoCommentAbuse.VideoComment return { id: entity.id, @@ -561,13 +534,7 @@ export class AbuseModel extends Model { : null, countReportsForReporter: (countReportsForReporter || 0), - countReportsForReportee: (countReportsForReportee || 0), - - // FIXME: deprecated in 2.3, remove this - startAt: null, - endAt: null, - count: countReportsForVideo || 0, - nth: nthReportForVideo || 0 + countReportsForReportee: (countReportsForReportee || 0) }) }