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
 | 
			
		||||
.gitignore
 | 
			
		||||
README.md
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										7
									
								
								main.go
									
										
									
									
									
								
							
							
						
						
									
										7
									
								
								main.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -50,12 +50,7 @@ func main() {
 | 
			
		|||
		MaxAge:   60 * 80 * 24 * 7, // 7 days
 | 
			
		||||
		HttpOnly: true,
 | 
			
		||||
		Secure:   os.Getenv("ENV") == "production",
 | 
			
		||||
		SameSite: func() http.SameSite {
 | 
			
		||||
			if os.Getenv("CORS_ORIGINS") != "" {
 | 
			
		||||
				return http.SameSiteNoneMode
 | 
			
		||||
			}
 | 
			
		||||
			return http.SameSiteLaxMode
 | 
			
		||||
		}(),
 | 
			
		||||
		SameSite: http.SameSiteLaxMode,
 | 
			
		||||
	})
 | 
			
		||||
	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) {
 | 
			
		||||
	username = strings.TrimSpace(username)
 | 
			
		||||
	email = strings.ToLower(strings.TrimSpace(email))
 | 
			
		||||
	if username == "" || email == "" || password == "" {
 | 
			
		||||
		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
 | 
			
		||||
	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")
 | 
			
		||||
	} 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
 | 
			
		||||
	user := models.User{
 | 
			
		||||
		Username: username,
 | 
			
		||||
		Email:    strings.ToLower(email),
 | 
			
		||||
		Email:    email,
 | 
			
		||||
	}
 | 
			
		||||
	if err := user.SetPassword(password); err != nil {
 | 
			
		||||
		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) {
 | 
			
		||||
	var user models.User
 | 
			
		||||
	identifier := strings.TrimSpace(username)
 | 
			
		||||
	lid := strings.ToLower(identifier)
 | 
			
		||||
	if err := s.db.Where("username = ? OR LOWER(email) = ?", identifier, lid).First(&user).Error; err != nil {
 | 
			
		||||
	if err := s.db.Where("username = ? OR email = ?", identifier, strings.ToLower(identifier)).First(&user).Error; err != nil {
 | 
			
		||||
		if errors.Is(err, gorm.ErrRecordNotFound) {
 | 
			
		||||
			return nil, errors.New("invalid username or password")
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue