mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 19:42:24 +02:00
add user account email verificiation (#977)
* add user account email verificiation includes server and client code to: * enable verificationRequired via custom config * send verification email with registration * ask for verification email * verify via email * prevent login if not verified and required * conditional client links to ask for new verification email * allow login for verified=null these are users created when verification not required should still be able to login when verification is enabled * refactor email verifcation pr * change naming from verified to emailVerified * change naming from askVerifyEmail to askSendVerifyEmail * undo unrelated automatic prettier formatting on api/config * use redirectService for home * remove redundant success notification on email verified * revert test.yaml smpt host
This commit is contained in:
parent
04291e1ba4
commit
d9eaee3939
42 changed files with 715 additions and 24 deletions
|
@ -24,6 +24,7 @@ import {
|
|||
isUserBlockedReasonValid,
|
||||
isUserBlockedValid,
|
||||
isUserNSFWPolicyValid,
|
||||
isUserEmailVerifiedValid,
|
||||
isUserPasswordValid,
|
||||
isUserRoleValid,
|
||||
isUserUsernameValid,
|
||||
|
@ -92,6 +93,12 @@ export class UserModel extends Model<UserModel> {
|
|||
@Column(DataType.STRING(400))
|
||||
email: string
|
||||
|
||||
@AllowNull(true)
|
||||
@Default(null)
|
||||
@Is('UserEmailVerified', value => throwIfNotValid(value, isUserEmailVerifiedValid, 'email verified boolean'))
|
||||
@Column
|
||||
emailVerified: boolean
|
||||
|
||||
@AllowNull(false)
|
||||
@Is('UserNSFWPolicy', value => throwIfNotValid(value, isUserNSFWPolicyValid, 'NSFW policy'))
|
||||
@Column(DataType.ENUM(values(NSFW_POLICY_TYPES)))
|
||||
|
@ -304,6 +311,7 @@ export class UserModel extends Model<UserModel> {
|
|||
id: this.id,
|
||||
username: this.username,
|
||||
email: this.email,
|
||||
emailVerified: this.emailVerified,
|
||||
nsfwPolicy: this.nsfwPolicy,
|
||||
autoPlayVideo: this.autoPlayVideo,
|
||||
role: this.role,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue