Fix up user register
parent
d2c73a5a13
commit
cf66802184
|
@ -15,6 +15,7 @@ func SignupHandler(app *App) http.HandlerFunc {
|
||||||
password := r.FormValue("password")
|
password := r.FormValue("password")
|
||||||
err := models.CreateUser(app.DB, username, password)
|
err := models.CreateUser(app.DB, username, password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.Printf("Error creating user: %v", err)
|
||||||
data := struct {
|
data := struct {
|
||||||
PageData
|
PageData
|
||||||
Error string
|
Error string
|
||||||
|
@ -28,7 +29,7 @@ func SignupHandler(app *App) http.HandlerFunc {
|
||||||
StaticPath: app.Config.ThreadrDir + "/static",
|
StaticPath: app.Config.ThreadrDir + "/static",
|
||||||
CurrentURL: r.URL.Path,
|
CurrentURL: r.URL.Path,
|
||||||
},
|
},
|
||||||
Error: "Error creating user",
|
Error: "Error creating user: " + err.Error(),
|
||||||
}
|
}
|
||||||
if err := app.Tmpl.ExecuteTemplate(w, "signup", data); err != nil {
|
if err := app.Tmpl.ExecuteTemplate(w, "signup", data); err != nil {
|
||||||
log.Printf("Error executing template in SignupHandler: %v", err)
|
log.Printf("Error executing template in SignupHandler: %v", err)
|
||||||
|
@ -42,6 +43,7 @@ func SignupHandler(app *App) http.HandlerFunc {
|
||||||
}
|
}
|
||||||
data := struct {
|
data := struct {
|
||||||
PageData
|
PageData
|
||||||
|
Error string
|
||||||
}{
|
}{
|
||||||
PageData: PageData{
|
PageData: PageData{
|
||||||
Title: "ThreadR - Sign Up",
|
Title: "ThreadR - Sign Up",
|
||||||
|
@ -52,6 +54,7 @@ func SignupHandler(app *App) http.HandlerFunc {
|
||||||
StaticPath: app.Config.ThreadrDir + "/static",
|
StaticPath: app.Config.ThreadrDir + "/static",
|
||||||
CurrentURL: r.URL.Path,
|
CurrentURL: r.URL.Path,
|
||||||
},
|
},
|
||||||
|
Error: "",
|
||||||
}
|
}
|
||||||
if err := app.Tmpl.ExecuteTemplate(w, "signup", data); err != nil {
|
if err := app.Tmpl.ExecuteTemplate(w, "signup", data); err != nil {
|
||||||
log.Printf("Error executing template in SignupHandler: %v", err)
|
log.Printf("Error executing template in SignupHandler: %v", err)
|
||||||
|
|
|
@ -26,13 +26,49 @@ func GetUserByID(db *sql.DB, id int) (*User, error) {
|
||||||
query := "SELECT id, username, display_name, pfp_url, bio, authentication_string, authentication_salt, authentication_algorithm, created_at, updated_at, verified, permissions FROM users WHERE id = ?"
|
query := "SELECT id, username, display_name, pfp_url, bio, authentication_string, authentication_salt, authentication_algorithm, created_at, updated_at, verified, permissions FROM users WHERE id = ?"
|
||||||
row := db.QueryRow(query, id)
|
row := db.QueryRow(query, id)
|
||||||
user := &User{}
|
user := &User{}
|
||||||
err := row.Scan(&user.ID, &user.Username, &user.DisplayName, &user.PfpURL, &user.Bio, &user.AuthenticationString, &user.AuthenticationSalt, &user.AuthenticationAlgorithm, &user.CreatedAt, &user.UpdatedAt, &user.Verified, &user.Permissions)
|
var displayName sql.NullString
|
||||||
|
var pfpURL sql.NullString
|
||||||
|
var bio sql.NullString
|
||||||
|
var createdAtString sql.NullString
|
||||||
|
var updatedAtString sql.NullString
|
||||||
|
err := row.Scan(&user.ID, &user.Username, &displayName, &pfpURL, &bio, &user.AuthenticationString, &user.AuthenticationSalt, &user.AuthenticationAlgorithm, &createdAtString, &updatedAtString, &user.Verified, &user.Permissions)
|
||||||
if err == sql.ErrNoRows {
|
if err == sql.ErrNoRows {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if displayName.Valid {
|
||||||
|
user.DisplayName = displayName.String
|
||||||
|
} else {
|
||||||
|
user.DisplayName = ""
|
||||||
|
}
|
||||||
|
if pfpURL.Valid {
|
||||||
|
user.PfpURL = pfpURL.String
|
||||||
|
} else {
|
||||||
|
user.PfpURL = ""
|
||||||
|
}
|
||||||
|
if bio.Valid {
|
||||||
|
user.Bio = bio.String
|
||||||
|
} else {
|
||||||
|
user.Bio = ""
|
||||||
|
}
|
||||||
|
if createdAtString.Valid {
|
||||||
|
user.CreatedAt, err = time.Parse("2006-01-02 15:04:05", createdAtString.String)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error parsing created_at: %v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
user.CreatedAt = time.Time{}
|
||||||
|
}
|
||||||
|
if updatedAtString.Valid {
|
||||||
|
user.UpdatedAt, err = time.Parse("2006-01-02 15:04:05", updatedAtString.String)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error parsing updated_at: %v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
user.UpdatedAt = time.Time{}
|
||||||
|
}
|
||||||
return user, nil
|
return user, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,10 +76,46 @@ func GetUserByUsername(db *sql.DB, username string) (*User, error) {
|
||||||
query := "SELECT id, username, display_name, pfp_url, bio, authentication_string, authentication_salt, authentication_algorithm, created_at, updated_at, verified, permissions FROM users WHERE username = ?"
|
query := "SELECT id, username, display_name, pfp_url, bio, authentication_string, authentication_salt, authentication_algorithm, created_at, updated_at, verified, permissions FROM users WHERE username = ?"
|
||||||
row := db.QueryRow(query, username)
|
row := db.QueryRow(query, username)
|
||||||
user := &User{}
|
user := &User{}
|
||||||
err := row.Scan(&user.ID, &user.Username, &user.DisplayName, &user.PfpURL, &user.Bio, &user.AuthenticationString, &user.AuthenticationSalt, &user.AuthenticationAlgorithm, &user.CreatedAt, &user.UpdatedAt, &user.Verified, &user.Permissions)
|
var displayName sql.NullString
|
||||||
|
var pfpURL sql.NullString
|
||||||
|
var bio sql.NullString
|
||||||
|
var createdAtString sql.NullString
|
||||||
|
var updatedAtString sql.NullString
|
||||||
|
err := row.Scan(&user.ID, &user.Username, &displayName, &pfpURL, &bio, &user.AuthenticationString, &user.AuthenticationSalt, &user.AuthenticationAlgorithm, &createdAtString, &updatedAtString, &user.Verified, &user.Permissions)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if displayName.Valid {
|
||||||
|
user.DisplayName = displayName.String
|
||||||
|
} else {
|
||||||
|
user.DisplayName = ""
|
||||||
|
}
|
||||||
|
if pfpURL.Valid {
|
||||||
|
user.PfpURL = pfpURL.String
|
||||||
|
} else {
|
||||||
|
user.PfpURL = ""
|
||||||
|
}
|
||||||
|
if bio.Valid {
|
||||||
|
user.Bio = bio.String
|
||||||
|
} else {
|
||||||
|
user.Bio = ""
|
||||||
|
}
|
||||||
|
if createdAtString.Valid {
|
||||||
|
user.CreatedAt, err = time.Parse("2006-01-02 15:04:05", createdAtString.String)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error parsing created_at: %v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
user.CreatedAt = time.Time{}
|
||||||
|
}
|
||||||
|
if updatedAtString.Valid {
|
||||||
|
user.UpdatedAt, err = time.Parse("2006-01-02 15:04:05", updatedAtString.String)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error parsing updated_at: %v", err)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
user.UpdatedAt = time.Time{}
|
||||||
|
}
|
||||||
return user, nil
|
return user, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue