membership input validation improved & tests

This commit is contained in:
$(pass /github/name)
2024-09-20 08:28:23 +02:00
parent 361fa1316a
commit 62624cd0f8
2 changed files with 43 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ package controllers
import (
"GoMembership/internal/models"
"GoMembership/internal/services"
"strings"
"net/http"
// "strconv"
@@ -31,7 +32,11 @@ func (mc *MembershipController) RegisterSubscription(c *gin.Context) {
id, err := mc.Service.RegisterSubscription(&regData.Model)
if err != nil {
logger.Error.Printf("Couldn't register Membershipmodel: %v", err)
c.JSON(int(id), "Couldn't register Membershipmodel")
if strings.Contains(err.Error(), "UNIQUE constraint failed") {
c.JSON(http.StatusConflict, "Duplicate subscription name")
return
}
c.JSON(http.StatusNotAcceptable, "Couldn't register Membershipmodel")
return
}
logger.Info.Printf("registering subscription: %+v", regData)