improved orm setup

This commit is contained in:
2024-11-13 19:09:04 +01:00
parent 1e9ad26db5
commit 3043c83f71
13 changed files with 51 additions and 75 deletions
@@ -1,41 +0,0 @@
package persistence
import (
"actatempus_backend/internal/domain/entities"
"actatempus_backend/internal/domain/repositories"
"database/sql"
)
type PostgresUserRepository struct {
db *sql.DB
}
func NewPostgresUserRepository(db *sql.DB) repositories.UserRepository {
return &PostgresUserRepository{db: db}
}
func (r *PostgresUserRepository) Create(user *entities.User) error {
_, err := r.db.Exec("INSERT INTO users (id, name, email, password) VALUES ($1, $2, $3, $4)",
user.ID, user.Name, user.Email, user.Password)
return err
}
func (r *PostgresUserRepository) FindByEmail(email string) (*entities.User, error) {
var user entities.User
err := r.db.QueryRow("SELECT id, name, email, password FROM users WHERE email = $1", email).
Scan(&user.ID, &user.Name, &user.Email, &user.Password)
if err != nil {
return nil, err
}
return &user, nil
}
func (r *PostgresUserRepository) FindByID(id string) (*entities.User, error) {
var user entities.User
err := r.db.QueryRow("SELECT id, name, email, password FROM users WHERE id = $1", id).
Scan(&user.ID, &user.Name, &user.Email, &user.Password)
if err != nil {
return nil, err
}
return &user, nil
}