Auth Email Rework (#1567)
* Hooked up Send to for Series and volumes and fixed a bug where Email Service errors weren't propagating to the UI layer. When performing actions on series detail, don't disable the button anymore. * Added send to action to volumes * Fixed a bug where .kavitaignore wasn't being applied at library root level * Added a notification for when a device is being sent a file. * Added a check in forgot password for users that do not have an email set or aren't confirmed. * Added a new api for change email and moved change password directly into new Account tab (styling and logic needs testing) * Save approx scroll position like with jump key, but on normal click of card. * Implemented the ability to change your email address or set one. This requires a 2 step process using a confirmation token. This needs polishing and css. * Removed an unused directive from codebase * Fixed up some typos on publicly * Updated query for Pending Invites to also check if the user account has not logged in at least once. * Cleaned up the css for validate email change * Hooked in an indicator to tell user that a user has an unconfirmed email * Cleaned up code smells
This commit is contained in:
parent
3792ac3421
commit
5f17c2fb73
49 changed files with 816 additions and 274 deletions
11
API/DTOs/Account/ConfirmEmailUpdateDto.cs
Normal file
11
API/DTOs/Account/ConfirmEmailUpdateDto.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace API.DTOs.Account;
|
||||
|
||||
public class ConfirmEmailUpdateDto
|
||||
{
|
||||
[Required]
|
||||
public string Email { get; set; }
|
||||
[Required]
|
||||
public string Token { get; set; }
|
||||
}
|
||||
6
API/DTOs/Account/UpdateEmailDto.cs
Normal file
6
API/DTOs/Account/UpdateEmailDto.cs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
namespace API.DTOs.Account;
|
||||
|
||||
public class UpdateEmailDto
|
||||
{
|
||||
public string Email { get; set; }
|
||||
}
|
||||
14
API/DTOs/Account/UpdateEmailResponse.cs
Normal file
14
API/DTOs/Account/UpdateEmailResponse.cs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
namespace API.DTOs.Account;
|
||||
|
||||
public class UpdateEmailResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// Did the user not have an existing email
|
||||
/// </summary>
|
||||
/// <remarks>This informs the user to check the new email address</remarks>
|
||||
public bool HadNoExistingEmail { get; set; }
|
||||
/// <summary>
|
||||
/// Was an email sent (ie is this server accessible)
|
||||
/// </summary>
|
||||
public bool EmailSent { get; set; }
|
||||
}
|
||||
|
|
@ -6,11 +6,6 @@ public record UpdateUserDto
|
|||
{
|
||||
public int UserId { get; set; }
|
||||
public string Username { get; set; }
|
||||
/// <summary>
|
||||
/// This field will not result in any change to the User model. Changing email is not supported.
|
||||
/// </summary>
|
||||
public string Email { get; set; }
|
||||
/// <summary>
|
||||
/// List of Roles to assign to user. If admin not present, Pleb will be applied.
|
||||
/// If admin present, all libraries will be granted access and will ignore those from DTO.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
namespace API.DTOs.Device;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace API.DTOs.Device;
|
||||
|
||||
public class SendToDeviceDto
|
||||
{
|
||||
public int DeviceId { get; set; }
|
||||
public int ChapterId { get; set; }
|
||||
public IReadOnlyList<int> ChapterIds { get; set; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ public class RegisterDto
|
|||
{
|
||||
[Required]
|
||||
public string Username { get; init; }
|
||||
[Required]
|
||||
/// <summary>
|
||||
/// An email to register with. Optional. Provides Forgot Password functionality
|
||||
/// </summary>
|
||||
public string Email { get; init; }
|
||||
[Required]
|
||||
[StringLength(32, MinimumLength = 6)]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue