package controllers import ( "encoding/json" "net/http" "GoMembership/internal/models" "GoMembership/internal/services" ) type UserController struct { service services.UserService } func NewUserController(service services.UserService) *UserController { return &UserController{service} } func (uc *UserController) RegisterUser(w http.ResponseWriter, r *http.Request) { var user models.User if err := json.NewDecoder(r.Body).Decode(&user); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } if err := uc.service.RegisterUser(&user); err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } w.WriteHeader(http.StatusCreated) }