Compare commits
No commits in common. "e65b56028e1c66dcf1b46d37851804192cf5492a" and "daa90869cf6a13f5d47f68b89a5bd435f0271902" have entirely different histories.
e65b56028e
...
daa90869cf
3 changed files with 3 additions and 15 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
.env
|
|
||||||
.git
|
.git
|
||||||
.gitignore
|
.gitignore
|
||||||
README.md
|
README.md
|
||||||
|
|
|
||||||
7
main.go
7
main.go
|
|
@ -50,12 +50,7 @@ func main() {
|
||||||
MaxAge: 60 * 80 * 24 * 7, // 7 days
|
MaxAge: 60 * 80 * 24 * 7, // 7 days
|
||||||
HttpOnly: true,
|
HttpOnly: true,
|
||||||
Secure: os.Getenv("ENV") == "production",
|
Secure: os.Getenv("ENV") == "production",
|
||||||
SameSite: func() http.SameSite {
|
SameSite: http.SameSiteLaxMode,
|
||||||
if os.Getenv("CORS_ORIGINS") != "" {
|
|
||||||
return http.SameSiteNoneMode
|
|
||||||
}
|
|
||||||
return http.SameSiteLaxMode
|
|
||||||
}(),
|
|
||||||
})
|
})
|
||||||
r.Use(sessions.Sessions("rideaware-session", store))
|
r.Use(sessions.Sessions("rideaware-session", store))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ func NewUserService(db *gorm.DB) *UserService {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *UserService) CreateUser(username, email, password string) (*models.User, error) {
|
func (s *UserService) CreateUser(username, email, password string) (*models.User, error) {
|
||||||
username = strings.TrimSpace(username)
|
|
||||||
email = strings.ToLower(strings.TrimSpace(email))
|
|
||||||
if username == "" || email == "" || password == "" {
|
if username == "" || email == "" || password == "" {
|
||||||
return nil, errors.New("username, email, and password are required")
|
return nil, errors.New("username, email, and password are required")
|
||||||
}
|
}
|
||||||
|
|
@ -38,15 +36,12 @@ func (s *UserService) CreateUser(username, email, password string) (*models.User
|
||||||
var existingUser models.User
|
var existingUser models.User
|
||||||
if err := s.db.Where("username = ? OR email = ?", username, email).First(&existingUser).Error; err == nil {
|
if err := s.db.Where("username = ? OR email = ?", username, email).First(&existingUser).Error; err == nil {
|
||||||
return nil, errors.New("user with this username or email already exists")
|
return nil, errors.New("user with this username or email already exists")
|
||||||
} else if !errors.Is(err, gorm.ErrRecordNotFound) {
|
|
||||||
log.Printf("Error checking existing users: %v", err)
|
|
||||||
return nil, errors.New("could not create user")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create new user
|
// Create new user
|
||||||
user := models.User{
|
user := models.User{
|
||||||
Username: username,
|
Username: username,
|
||||||
Email: strings.ToLower(email),
|
Email: email,
|
||||||
}
|
}
|
||||||
if err := user.SetPassword(password); err != nil {
|
if err := user.SetPassword(password); err != nil {
|
||||||
log.Printf("Error hashing password: %v", err)
|
log.Printf("Error hashing password: %v", err)
|
||||||
|
|
@ -64,8 +59,7 @@ func (s *UserService) CreateUser(username, email, password string) (*models.User
|
||||||
func (s *UserService) VerifyUser(username, password string) (*models.User, error) {
|
func (s *UserService) VerifyUser(username, password string) (*models.User, error) {
|
||||||
var user models.User
|
var user models.User
|
||||||
identifier := strings.TrimSpace(username)
|
identifier := strings.TrimSpace(username)
|
||||||
lid := strings.ToLower(identifier)
|
if err := s.db.Where("username = ? OR email = ?", identifier, strings.ToLower(identifier)).First(&user).Error; err != nil {
|
||||||
if err := s.db.Where("username = ? OR LOWER(email) = ?", identifier, lid).First(&user).Error; err != nil {
|
|
||||||
if errors.Is(err, gorm.ErrRecordNotFound) {
|
if errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
return nil, errors.New("invalid username or password")
|
return nil, errors.New("invalid username or password")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue