X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fuser%2Fuser-notification.ts;h=667ee7f5f8e6e917d9157320e18e8190eed7930d;hb=64aa66c4a61e1c6aa83a775e7af498e288ea82e4;hp=eca127e7e1075fc44414db66ade1928b21d12094;hpb=d0800f7661f13fabe7bb6f4aa0ea50764f106405;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/user/user-notification.ts b/server/models/user/user-notification.ts index eca127e7e..667ee7f5f 100644 --- a/server/models/user/user-notification.ts +++ b/server/models/user/user-notification.ts @@ -2,6 +2,7 @@ import { ModelIndexesOptions, Op, WhereOptions } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { getBiggestActorImage } from '@server/lib/actor-image' import { UserNotificationIncludes, UserNotificationModelForApi } from '@server/types/models/user' +import { forceNumber } from '@shared/core-utils' import { uuidToShort } from '@shared/extra-utils' import { UserNotification, UserNotificationType } from '@shared/models' import { AttributesOnly } from '@shared/typescript-utils' @@ -12,13 +13,14 @@ import { AccountModel } from '../account/account' import { ActorFollowModel } from '../actor/actor-follow' import { ApplicationModel } from '../application/application' import { PluginModel } from '../server/plugin' -import { throwIfNotValid } from '../utils' +import { throwIfNotValid } from '../shared' import { VideoModel } from '../video/video' import { VideoBlacklistModel } from '../video/video-blacklist' import { VideoCommentModel } from '../video/video-comment' import { VideoImportModel } from '../video/video-import' import { UserNotificationListQueryBuilder } from './sql/user-notitication-list-query-builder' import { UserModel } from './user' +import { UserRegistrationModel } from './user-registration' @Table({ tableName: 'userNotification', @@ -97,6 +99,14 @@ import { UserModel } from './user' [Op.ne]: null } } + }, + { + fields: [ 'userRegistrationId' ], + where: { + userRegistrationId: { + [Op.ne]: null + } + } } ] as (ModelIndexesOptions & { where?: WhereOptions })[] }) @@ -240,6 +250,18 @@ export class UserNotificationModel extends Model UserRegistrationModel) + @Column + userRegistrationId: number + + @BelongsTo(() => UserRegistrationModel, { + foreignKey: { + allowNull: true + }, + onDelete: 'cascade' + }) + UserRegistration: UserRegistrationModel + static listForApi (userId: number, start: number, count: number, sort: string, unread?: boolean) { const where = { userId } @@ -249,8 +271,7 @@ export class UserNotificationModel extends Model ({ total, data })) } @@ -285,7 +306,7 @@ export class UserNotificationModel extends Model