Files
oauth2-api/app/repositories/users.go
Björn Benouarets 346100feb6 init: Initial commit
2026-01-21 06:36:38 +01:00

41 lines
1.1 KiB
Go

package repositories
import (
"git.secnex.io/secnex/masterlog"
"git.secnex.io/secnex/oauth2-api/database"
"git.secnex.io/secnex/oauth2-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
}