add: verification status page

This commit is contained in:
$(pass /github/name)
2024-07-12 12:07:38 +02:00
parent 03a2b3bdc5
commit 18d91d396b
10 changed files with 242 additions and 26 deletions

View File

@@ -40,7 +40,6 @@ func (uc *UserController) RegisterUser(c *gin.Context) {
c.JSON(http.StatusInternalServerError, gin.H{"error": "Not a valid subscription model"})
return
}
regData.User.Membership.SubscriptionModel = *selectedModel
// Register User
id, token, err := uc.Service.RegisterUser(&regData.User)
@@ -51,14 +50,6 @@ func (uc *UserController) RegisterUser(c *gin.Context) {
}
regData.User.ID = id
// Register Bank Account
/* _, err = uc.BankAccountService.RegisterBankAccount(&regData.User.BankAccount)
if err != nil {
logger.Error.Printf("Couldn't register bank account: %v", err)
c.JSON(http.StatusInternalServerError, gin.H{"error": "Couldn't register User-BankAccount"})
return
} */
// Register Consents
var consents = [2]models.Consent{
{
@@ -83,14 +74,6 @@ func (uc *UserController) RegisterUser(c *gin.Context) {
}
}
// Register Membership
/* _, err = uc.MembershipService.RegisterMembership(&regData.User.Membership)
if err != nil {
logger.Error.Printf("Couldn't register membership: %v", err)
c.JSON(http.StatusInternalServerError, gin.H{"error": "Couldn't register User-membership"})
return
} */
// Send notifications
if err := uc.EmailService.SendVerificationEmail(&regData.User, &token); err != nil {
logger.Error.Printf("Failed to send email verification email to user: %v", err)
@@ -113,26 +96,26 @@ func (uc *UserController) VerifyMailHandler(c *gin.Context) {
token := c.Query("token")
if token == "" {
logger.Error.Println("Missing token to verify mail")
c.JSON(http.StatusNoContent, gin.H{"error": "Missing token"})
c.HTML(http.StatusBadRequest, "verification_error.html", gin.H{"ErrorMessage": "Missing token"})
return
}
user, err := uc.Service.VerifyUser(&token)
if err != nil {
logger.Error.Printf("Cannot verify user: %v", err)
c.JSON(http.StatusUnauthorized, gin.H{"error": "Cannot verify user"})
c.HTML(http.StatusUnauthorized, "verification_error.html", gin.H{"ErrorMessage": "Emailadresse wurde schon bestätigt. Sollte dies nicht der Fall sein, wende Dich bitte an info@carsharing-hasloh.de."})
return
}
membership, err := uc.MembershipService.FindMembershipByUserID(user.ID)
if err != nil {
logger.Error.Printf("Cannot get membership of user %v: %v", user.ID, err)
c.JSON(http.StatusInternalServerError, gin.H{"error": "Cannot get Membership of user"})
c.HTML(http.StatusInternalServerError, "verifiction_error.html", gin.H{"ErrorMessage": "Nutzer konnte nicht gefunden werden.. Merkwürdig.. wende Dich bitte an info@carsharing-hasloh.de."})
return
}
uc.EmailService.SendWelcomeEmail(user, membership)
c.Status(http.StatusOK)
c.HTML(http.StatusOK, "verification_success.html", gin.H{"FirstName": user.FirstName})
}