Files
go-microservices/services/auth-service/internal/repository/repository.go
2026-06-20 11:07:01 -04:00

64 lines
1.3 KiB
Go

package repository
import (
"go-microservices/services/auth-service/internal/models"
"gorm.io/gorm"
)
type Repository struct {
DB *gorm.DB
}
func NewRepository(db *gorm.DB) *Repository {
return &Repository{DB: db}
}
func (r *Repository) CreateAuth(a *models.Auth) error {
return r.DB.Create(a).Error
}
func (r *Repository) GetAuthByEmail(email string) (*models.Auth, error) {
var a models.Auth
if err := r.DB.Where("email = ?", email).First(&a).Error; err != nil {
return nil, err
}
return &a, nil
}
func (r *Repository) GetAuthByID(id uint) (*models.Auth, error) {
var a models.Auth
if err := r.DB.First(&a, id).Error; err != nil {
return nil, err
}
return &a, nil
}
func (r *Repository) CreateTest(t *models.Test) error {
return r.DB.Create(t).Error
}
func (r *Repository) ListTests() ([]models.Test, error) {
var tests []models.Test
if err := r.DB.Order("id desc").Find(&tests).Error; err != nil {
return nil, err
}
return tests, nil
}
func (r *Repository) GetTestByID(id uint) (*models.Test, error) {
var t models.Test
if err := r.DB.First(&t, id).Error; err != nil {
return nil, err
}
return &t, nil
}
func (r *Repository) UpdateTest(t *models.Test) error {
return r.DB.Save(t).Error
}
func (r *Repository) DeleteTest(id uint) error {
return r.DB.Delete(&models.Test{}, id).Error
}