X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fuser.ts;h=0e40077707fc823a8719674a891437821e004def;hb=d1ab89deb79f70c439b58750d044d9cadf1194e5;hp=b50b09d72a5a59f2762dd5622e5eea7429f710dd;hpb=1f20622f2b087eaf8738d60fae00a44b9c558ca3;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/user.ts b/server/lib/user.ts index b50b09d72..0e4007770 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -1,6 +1,6 @@ import * as uuidv4 from 'uuid/v4' import { ActivityPubActorType } from '../../shared/models/activitypub' -import { SERVER_ACTOR_NAME } from '../initializers/constants' +import { SERVER_ACTOR_NAME, WEBSERVER } from '../initializers/constants' import { AccountModel } from '../models/account/account' import { UserModel } from '../models/account/user' import { buildActorInstance, getAccountActivityPubUrl, setAsyncActorKeys } from './activitypub' @@ -12,6 +12,8 @@ import { UserNotificationSetting, UserNotificationSettingValue } from '../../sha import { createWatchLaterPlaylist } from './video-playlist' import { sequelizeTypescript } from '../initializers/database' import { Transaction } from 'sequelize/types' +import { Redis } from './redis' +import { Emailer } from './emailer' type ChannelNames = { name: string, displayName: string } async function createUserAccountAndChannelAndPlaylist (parameters: { @@ -100,12 +102,24 @@ async function createApplicationActor (applicationId: number) { return accountCreated } +async function sendVerifyUserEmail (user: UserModel, isPendingEmail = false) { + const verificationString = await Redis.Instance.setVerifyEmailVerificationString(user.id) + let url = WEBSERVER.URL + '/verify-account/email?userId=' + user.id + '&verificationString=' + verificationString + + if (isPendingEmail) url += '&isPendingEmail=true' + + const email = isPendingEmail ? user.pendingEmail : user.email + + await Emailer.Instance.addVerifyEmailJob(email, url) +} + // --------------------------------------------------------------------------- export { createApplicationActor, createUserAccountAndChannelAndPlaylist, - createLocalAccountWithoutKeys + createLocalAccountWithoutKeys, + sendVerifyUserEmail } // ---------------------------------------------------------------------------