| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package repository
- import (
- "log"
- "api-dockerization/internal/models"
- "gorm.io/gorm"
- )
- type UserRepository interface {
- Create(user *models.User) error
- GetAll() ([]models.User, error)
- GetByID(id uint) (*models.User, error)
- DeleteByID(id uint) error // Método que agregamos
- }
- type userRepository struct {
- db *gorm.DB
- }
- func NewUserRepository(db *gorm.DB) UserRepository {
- return &userRepository{db}
- }
- func (r *userRepository) Create(user *models.User) error {
- log.Printf("Creating user: %+v\n", user) // Agrega esta línea para depuración
- return r.db.Create(user).Error
- }
- func (r *userRepository) GetAll() ([]models.User, error) {
- var users []models.User
- err := r.db.Find(&users).Error
- return users, err
- }
- // GetByID obtiene un usuario por su ID
- func (r *userRepository) GetByID(id uint) (*models.User, error) {
- var user models.User
- if err := r.db.First(&user, id).Error; err != nil {
- return nil, err
- }
- return &user, nil
- }
- func (r *userRepository) DeleteByID(id uint) error {
- if err := r.db.Delete(&models.User{}, id).Error; err != nil {
- return err
- }
- return nil
- }
|