From cef534ed53e4518fe0acf581bfe880788d42fc36 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 26 Dec 2018 10:36:24 +0100 Subject: Add user notification base code --- server/lib/user.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'server/lib/user.ts') diff --git a/server/lib/user.ts b/server/lib/user.ts index 29d6d087d..72127819c 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -9,6 +9,8 @@ import { createVideoChannel } from './video-channel' import { VideoChannelModel } from '../models/video/video-channel' import { FilteredModelAttributes } from 'sequelize-typescript/lib/models/Model' import { ActorModel } from '../models/activitypub/actor' +import { UserNotificationSettingModel } from '../models/account/user-notification-setting' +import { UserNotificationSettingValue } from '../../shared/models/users' async function createUserAccountAndChannel (userToCreate: UserModel, validateUser = true) { const { user, account, videoChannel } = await sequelizeTypescript.transaction(async t => { @@ -18,6 +20,8 @@ async function createUserAccountAndChannel (userToCreate: UserModel, validateUse } const userCreated = await userToCreate.save(userOptions) + userCreated.NotificationSetting = await createDefaultUserNotificationSettings(userCreated, t) + const accountCreated = await createLocalAccountWithoutKeys(userCreated.username, userCreated.id, null, t) userCreated.Account = accountCreated @@ -88,3 +92,15 @@ export { createUserAccountAndChannel, createLocalAccountWithoutKeys } + +// --------------------------------------------------------------------------- + +function createDefaultUserNotificationSettings (user: UserModel, t: Sequelize.Transaction | undefined) { + return UserNotificationSettingModel.create({ + userId: user.id, + newVideoFromSubscription: UserNotificationSettingValue.WEB_NOTIFICATION, + newCommentOnMyVideo: UserNotificationSettingValue.WEB_NOTIFICATION, + videoAbuseAsModerator: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, + blacklistOnMyVideo: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL + }, { transaction: t }) +} -- cgit v1.2.3