Move password hashing in handler
diff --git a/core/kg/api/rest/handler.go b/core/kg/api/rest/handler.go
index dbc5882..88d0670 100644
--- a/core/kg/api/rest/handler.go
+++ b/core/kg/api/rest/handler.go
@@ -23,9 +23,7 @@
return err
}
- if statusCode != http.StatusOK {
- w.WriteHeader(statusCode)
- }
+ w.WriteHeader(statusCode)
encoder := json.NewEncoder(w)
encoder.SetEscapeHTML(true)
@@ -35,9 +33,5 @@
return err
}
- if f, ok := w.(http.Flusher); ok {
- f.Flush()
- }
-
return nil
}
diff --git a/core/kg/api/rest/user_service.go b/core/kg/api/rest/user_service.go
index ee7abc2..c976de7 100644
--- a/core/kg/api/rest/user_service.go
+++ b/core/kg/api/rest/user_service.go
@@ -5,6 +5,7 @@
"net/http"
"strconv"
+ "github.com/giolekva/pcloud/core/kg/app"
"github.com/giolekva/pcloud/core/kg/model"
"github.com/gorilla/mux"
"github.com/pkg/errors"
@@ -22,6 +23,10 @@
if err := json.NewDecoder(r.Body).Decode(&user); err != nil {
return errors.Wrap(err, "can't decode request body")
}
+ if err := user.IsValidInput(); err != nil {
+ return errors.Wrap(err, "invalid user input")
+ }
+ user.Password = app.HashPassword(user.Password)
user.SanitizeInput()
updatedUser, err := router.App.CreateUser(user)
if err != nil {