X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fabuse%2Fabuse-message.ts;h=20008768be91dfbfa2936e4ba75e8f836050403e;hb=2b621ac0ebe83693bba6354b3482a03ba58143e7;hp=2c5987e96ca3f2289b70eb2bca0f2dd569f21909;hpb=cf21b2cbef61929177b9c09b5e017c3b7eb8535d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/abuse/abuse-message.ts b/server/models/abuse/abuse-message.ts index 2c5987e96..20008768b 100644 --- a/server/models/abuse/abuse-message.ts +++ b/server/models/abuse/abuse-message.ts @@ -1,8 +1,9 @@ +import { FindOptions } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { isAbuseMessageValid } from '@server/helpers/custom-validators/abuses' import { MAbuseMessage, MAbuseMessageFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' import { AbuseMessage } from '@shared/models' +import { AttributesOnly } from '@shared/typescript-utils' import { AccountModel, ScopeNames as AccountScopeNames } from '../account/account' import { getSort, throwIfNotValid } from '../utils' import { AbuseModel } from './abuse' @@ -62,21 +63,28 @@ export class AbuseMessageModel extends Model { + const query: FindOptions = { + where: { abuseId }, + order: getSort('createdAt') + } - order: getSort('createdAt'), + if (forCount !== true) { + query.include = [ + { + model: AccountModel.scope(AccountScopeNames.SUMMARY), + required: false + } + ] + } - include: [ - { - model: AccountModel.scope(AccountScopeNames.SUMMARY), - required: false - } - ] + return query } - return AbuseMessageModel.findAndCountAll(options) - .then(({ rows, count }) => ({ data: rows, total: count })) + return Promise.all([ + AbuseMessageModel.count(getQuery(true)), + AbuseMessageModel.findAll(getQuery(false)) + ]).then(([ total, data ]) => ({ total, data })) } static loadByIdAndAbuseId (messageId: number, abuseId: number): Promise {