package repositories import ( "git.secnex.io/secnex/masterlog" "git.secnex.io/secnex/mgmt-api/database" "git.secnex.io/secnex/mgmt-api/models" ) func GetUserByUsername(username string) (*models.User, error) { var user *models.User if err := database.DB.Where("username = ?", username).First(&user).Error; err != nil { return nil, err } return user, nil } func GetUserByUniqueFields(username, email string) (*models.User, error) { var user *models.User if err := database.DB.Where("username = ? OR email = ?", username, email).First(&user).Error; err != nil { return nil, nil } return user, nil } func CreateUser(firstName, lastName, username, password, email string) error { user := &models.User{ FirstName: firstName, LastName: lastName, Username: username, Password: password, Email: email, } if err := database.DB.Create(user).Error; err != nil { masterlog.Debug("Failed to create user in database", map[string]interface{}{"error": err.Error(), "username": username, "email": email}) return err } masterlog.Debug("User created successfully", map[string]interface{}{"username": username, "email": email}) return nil }