X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fuser.ts;h=aa14f0b54a1fed23ff1c93616a4d81b42bf0e5b1;hb=d573926e9b94fb19c8f51c53f71fc853182e1761;hp=d84aff464b268684bb63620d13292c2ac1963fa9;hpb=5c5e587307a27e173333789b5b5167d35f468b01;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/user.ts b/server/lib/user.ts index d84aff464..aa14f0b54 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -1,8 +1,8 @@ -import * as uuidv4 from 'uuid/v4' +import { v4 as uuidv4 } from 'uuid' import { ActivityPubActorType } from '../../shared/models/activitypub' import { SERVER_ACTOR_NAME, WEBSERVER } from '../initializers/constants' import { AccountModel } from '../models/account/account' -import { buildActorInstance, getAccountActivityPubUrl, setAsyncActorKeys } from './activitypub' +import { buildActorInstance, setAsyncActorKeys } from './activitypub/actor' import { createLocalVideoChannel } from './video-channel' import { ActorModel } from '../models/activitypub/actor' import { UserNotificationSettingModel } from '../models/account/user-notification-setting' @@ -12,15 +12,16 @@ import { sequelizeTypescript } from '../initializers/database' import { Transaction } from 'sequelize/types' import { Redis } from './redis' import { Emailer } from './emailer' -import { MAccountDefault, MActorDefault, MChannelActor } from '../typings/models' -import { MUser, MUserDefault, MUserId } from '../typings/models/user' +import { MAccountDefault, MActorDefault, MChannelActor } from '../types/models' +import { MUser, MUserDefault, MUserId } from '../types/models/user' +import { getAccountActivityPubUrl } from './activitypub/url' type ChannelNames = { name: string, displayName: string } async function createUserAccountAndChannelAndPlaylist (parameters: { - userToCreate: MUser, - userDisplayName?: string, - channelNames?: ChannelNames, + userToCreate: MUser + userDisplayName?: string + channelNames?: ChannelNames validateUser?: boolean }): Promise<{ user: MUserDefault, account: MAccountDefault, videoChannel: MChannelActor }> { const { userToCreate, userDisplayName, channelNames, validateUser = true } = parameters @@ -63,11 +64,11 @@ async function createUserAccountAndChannelAndPlaylist (parameters: { } async function createLocalAccountWithoutKeys (parameters: { - name: string, - displayName?: string, - userId: number | null, - applicationId: number | null, - t: Transaction | undefined, + name: string + displayName?: string + userId: number | null + applicationId: number | null + t: Transaction | undefined type?: ActivityPubActorType }) { const { name, displayName, userId, applicationId, t, type = 'Person' } = parameters @@ -110,8 +111,9 @@ async function sendVerifyUserEmail (user: MUser, isPendingEmail = false) { if (isPendingEmail) url += '&isPendingEmail=true' const email = isPendingEmail ? user.pendingEmail : user.email + const username = user.username - await Emailer.Instance.addVerifyEmailJob(email, url) + await Emailer.Instance.addVerifyEmailJob(username, email, url) } // --------------------------------------------------------------------------- @@ -132,13 +134,16 @@ function createDefaultUserNotificationSettings (user: MUserId, t: Transaction | newCommentOnMyVideo: UserNotificationSettingValue.WEB, myVideoImportFinished: UserNotificationSettingValue.WEB, myVideoPublished: UserNotificationSettingValue.WEB, - videoAbuseAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, + abuseAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, videoAutoBlacklistAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, blacklistOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, newUserRegistration: UserNotificationSettingValue.WEB, commentMention: UserNotificationSettingValue.WEB, newFollow: UserNotificationSettingValue.WEB, - newInstanceFollower: UserNotificationSettingValue.WEB + newInstanceFollower: UserNotificationSettingValue.WEB, + abuseNewMessage: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, + abuseStateChange: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, + autoInstanceFollowing: UserNotificationSettingValue.WEB } return UserNotificationSettingModel.create(values, { transaction: t })