Connect users controller to db
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"git.kealoha.me/lks/lenslocked/models"
|
||||
"git.kealoha.me/lks/lenslocked/templates"
|
||||
"git.kealoha.me/lks/lenslocked/views"
|
||||
)
|
||||
@@ -13,6 +14,7 @@ type Users struct {
|
||||
Templates struct {
|
||||
New Template
|
||||
}
|
||||
UserService *models.UserService
|
||||
}
|
||||
|
||||
func (u Users) New(w http.ResponseWriter, r *http.Request) {
|
||||
@@ -22,12 +24,20 @@ func (u Users) New(w http.ResponseWriter, r *http.Request) {
|
||||
data.Email = r.FormValue("email")
|
||||
u.Templates.New.Execute(w, data)
|
||||
}
|
||||
func (u Users) Create(w http.ResponseWriter, r *http.Request) {
|
||||
fmt.Fprint(w, "TODO! ", r.FormValue("email"))
|
||||
|
||||
func (u Users) Create(w http.ResponseWriter, r *http.Request) {
|
||||
email := r.FormValue("email")
|
||||
password := r.FormValue("password")
|
||||
user, err := u.UserService.Create(email, password)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
fmt.Fprintf(w, "User created: %+v", user)
|
||||
}
|
||||
|
||||
func FromStaticTemplate(templatePath ...string) Users {
|
||||
func WithStaticTemplate(user_service *models.UserService, templatePath ...string) Users {
|
||||
tpl := views.Must(views.FromFS(templates.FS, templatePath...))
|
||||
|
||||
var testWriter strings.Builder
|
||||
@@ -38,5 +48,6 @@ func FromStaticTemplate(templatePath ...string) Users {
|
||||
|
||||
u := Users{}
|
||||
u.Templates.New = tpl
|
||||
u.UserService = user_service
|
||||
return u
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user