switched to gin-gonic

This commit is contained in:
$(pass /github/name)
2024-07-11 12:28:39 +02:00
parent 20ed629e92
commit de88a603d5
11 changed files with 330 additions and 169 deletions

View File

@@ -1,16 +1,14 @@
package controllers
import (
"encoding/json"
"GoMembership/internal/config"
"GoMembership/internal/models"
"GoMembership/internal/services"
// "github.com/gorilla/mux"
"net/http"
// "strconv"
"GoMembership/internal/utils"
"github.com/gin-gonic/gin"
"GoMembership/pkg/logger"
)
@@ -26,24 +24,23 @@ func NewMembershipController(service services.MembershipService) *MembershipCont
return &MembershipController{service}
}
func (uc *MembershipController) RegisterSubscription(w http.ResponseWriter, r *http.Request) {
rh := utils.NewResponseHandler(w)
func (uc *MembershipController) RegisterSubscription(c *gin.Context) {
var regData MembershipData
if err := json.NewDecoder(r.Body).Decode(&regData); err != nil {
logger.Error.Printf("Couldn't decode SubscriptionModel: %v", err)
rh.RespondWithError(http.StatusBadRequest, "Couldn't decode Membershipmodel")
return
if err := c.ShouldBindJSON(&regData); err != nil {
logger.Error.Printf("Couln't decode subscription data: %v", err)
c.JSON(http.StatusBadRequest, gin.H{"error": "Couldn't decode subscription data"})
}
logger.Info.Printf("Using API key: %v", config.LoadConfig().Auth.APIKEY)
if regData.APIKey == "" {
logger.Error.Println("API Key is missing")
rh.RespondWithError(http.StatusBadRequest, "API Key is required")
c.JSON(http.StatusBadRequest, "API Key is missing")
return
}
if regData.APIKey != config.LoadConfig().Auth.APIKEY {
logger.Error.Printf("API Key not valid: %v", regData.APIKey)
rh.RespondWithError(http.StatusExpectationFailed, "API Key not valid")
c.JSON(http.StatusExpectationFailed, "API Key is missing")
return
}
logger.Info.Printf("registering subscription: %+v", regData)
@@ -52,7 +49,7 @@ func (uc *MembershipController) RegisterSubscription(w http.ResponseWriter, r *h
id, err := uc.service.RegisterSubscription(&regData.Model)
if err != nil {
logger.Error.Printf("Couldn't register Membershipmodel: %v", err)
rh.RespondWithError(http.StatusInternalServerError, "Couldn't register Membershipmodel")
c.JSON(http.StatusInternalServerError, "Couldn't register Membershipmodel")
return
}
regData.Model.ID = id