@page "/sys/click/confirmmail/{userid}/{oldmail}/{proposedemail}/{token}" @using System.ComponentModel.DataAnnotations @using ImageBoardServerApp.Data.Repository

Confirm your Email

Confirmed email. Check Account Settings. @code { private string msg { get; set; } [Parameter] [Required] public string userid { get; set; } [Parameter] [Required] public string proposedemail { get; set; } [Parameter] [Required] public string oldmail { get; set; } [Parameter] [Required] public string token { get; set; } protected override async Task OnInitializedAsync() { if (!int.TryParse(userid, out _)) { msg = "malformed userid."; return; } var user = await UsersRepository.getUserByIdAsync(int.Parse(userid)); if (user.ConfirmedEmail) return; if (user == null) { msg = "Could not find user."; return; } if (user.Email != oldmail) { msg = "This email is not specified to this account."; return; } if (user.ProposedEmail != proposedemail) { msg = "This is not the specified new mail to this account."; return; } if (user.ConfirmEmailToken != token) { msg = "This token is not associated with the specified account."; return; } user.ConfirmEmailToken = "-1"; user.ConfirmedEmail = true; await UsersRepository.updateUserAsync(user); msg = "The email has been confirmed."; } }