From 1f23b129184f2f65b75f2d743d43ffc46299e974 Mon Sep 17 00:00:00 2001 From: Habib Fatkhul Rohman Date: Fri, 31 Oct 2025 15:30:02 +0700 Subject: [PATCH] feat(repository): Refactor Update methods to use Model and Where for better clarity and performance --- modules/category/repository/category_repository.go | 5 ++++- modules/product/repository/product_repository.go | 5 ++++- modules/uom/repository/uom_repository.go | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/modules/category/repository/category_repository.go b/modules/category/repository/category_repository.go index 78255c7..ec08d27 100644 --- a/modules/category/repository/category_repository.go +++ b/modules/category/repository/category_repository.go @@ -63,7 +63,10 @@ func (r *categoryRepository) Update(ctx context.Context, tx *gorm.DB, category e if tx == nil { tx = r.db } - if err := tx.WithContext(ctx).Save(&category).Error; err != nil { + if err := tx.WithContext(ctx). + Model(&entities.MCategoryEntity{}). + Where("id = ?", category.ID). + Updates(category).Error; err != nil { return category, err } return category, nil diff --git a/modules/product/repository/product_repository.go b/modules/product/repository/product_repository.go index 3e1a51c..74392ac 100644 --- a/modules/product/repository/product_repository.go +++ b/modules/product/repository/product_repository.go @@ -72,7 +72,10 @@ func (r *productRepository) Update(ctx context.Context, tx *gorm.DB, product ent if tx == nil { tx = r.db } - if err := tx.WithContext(ctx).Save(&product).Error; err != nil { + if err := tx.WithContext(ctx). + Model(&entities.MProductEntity{}). + Where("id = ?", product.ID). + Updates(product).Error; err != nil { return product, err } return product, nil diff --git a/modules/uom/repository/uom_repository.go b/modules/uom/repository/uom_repository.go index 1ff2027..aa39505 100644 --- a/modules/uom/repository/uom_repository.go +++ b/modules/uom/repository/uom_repository.go @@ -61,7 +61,10 @@ func (r *uomRepository) Update(ctx context.Context, tx *gorm.DB, uom entities.MU if tx == nil { tx = r.db } - if err := tx.WithContext(ctx).Save(&uom).Error; err != nil { + if err := tx.WithContext(ctx). + Model(&entities.MUomEntity{}). + Where("id = ?", uom.ID). + Updates(uom).Error; err != nil { return uom, err } return uom, nil