package repositories import ( "gorm.io/gorm" "plateMate/models" ) // UserRepository representa un repositorio para manejar operaciones relacionadas con usuarios en la base de datos type UserRepository struct { db *gorm.DB } // NewUserRepository crea una nueva instancia de UserRepository func NewUserRepository(db *gorm.DB) *UserRepository { return &UserRepository{db} } // Create crea un nuevo usuario en la base de datos func (ur *UserRepository) Create(user *models.User) error { return ur.db.Create(user).Error } // GetAll devuelve todos los usuarios de la base de datos func (ur *UserRepository) GetAll() ([]models.User, error) { var users []models.User if err := ur.db.Find(&users).Error; err != nil { return nil, err } return users, nil } // GetByID devuelve un usuario por su ID de la base de datos func (ur *UserRepository) GetByID(userID uint) (*models.User, error) { var user models.User if err := ur.db.First(&user, userID).Error; err != nil { return nil, err } return &user, nil } // Update actualiza la informaciĆ³n de un usuario en la base de datos func (ur *UserRepository) Update(user *models.User) error { return ur.db.Save(user).Error } // Delete elimina un usuario de la base de datos func (ur *UserRepository) Delete(user *models.User) error { return ur.db.Delete(user).Error }