package lishwist import ( "fmt" "golang.org/x/crypto/bcrypt" ) func Register(username, newPassword string) error { if username == "" { return fmt.Errorf("Username required") } if newPassword == "" { return fmt.Errorf("newPassword required") } existingUser, _ := getUserByName(username) if existingUser != nil { return fmt.Errorf("Username is taken") } hashedPasswordBytes, err := bcrypt.GenerateFromPassword([]byte(newPassword), bcrypt.MinCost) if err != nil { return fmt.Errorf("Failed to hash password: %w", err) } _, err = createUser(username, hashedPasswordBytes) if err != nil { return fmt.Errorf("Failed to create user: %w\n", err) } return nil }