switched to gorm..
This commit is contained in:
60
internal/controllers/membershipController.go
Normal file
60
internal/controllers/membershipController.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
|
||||
"GoMembership/internal/config"
|
||||
"GoMembership/internal/models"
|
||||
"GoMembership/internal/services"
|
||||
|
||||
// "github.com/gorilla/mux"
|
||||
"net/http"
|
||||
// "strconv"
|
||||
"GoMembership/internal/utils"
|
||||
"GoMembership/pkg/logger"
|
||||
)
|
||||
|
||||
type MembershipController struct {
|
||||
service services.MembershipService
|
||||
}
|
||||
type MembershipData struct {
|
||||
APIKey string
|
||||
Model models.SubscriptionModel
|
||||
}
|
||||
|
||||
func NewMembershipController(service services.MembershipService) *MembershipController {
|
||||
return &MembershipController{service}
|
||||
}
|
||||
|
||||
func (uc *MembershipController) RegisterPlan(w http.ResponseWriter, r *http.Request) {
|
||||
rh := utils.NewResponseHandler(w)
|
||||
var regData MembershipData
|
||||
|
||||
if err := json.NewDecoder(r.Body).Decode(®Data); err != nil {
|
||||
logger.Error.Printf("Couldn't decode SubscriptionModel: %v", err)
|
||||
rh.RespondWithError(http.StatusBadRequest, "Couldn't decode Membershipmodel")
|
||||
return
|
||||
}
|
||||
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")
|
||||
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")
|
||||
return
|
||||
}
|
||||
logger.Info.Printf("registering plan: %+v", regData)
|
||||
|
||||
// Register Plan
|
||||
id, err := uc.service.RegisterPlan(®Data.Model)
|
||||
if err != nil {
|
||||
logger.Error.Printf("Couldn't register Membershipmodel: %v", err)
|
||||
rh.RespondWithError(http.StatusInternalServerError, "Couldn't register Membershipmodel")
|
||||
return
|
||||
}
|
||||
regData.Model.ID = id
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user