package repository import ( "BE-MiniERP/modules/inventory/models" "gorm.io/gorm" ) type ProductRepository struct { DB *gorm.DB } func NewProductRepository(db *gorm.DB) *ProductRepository { return &ProductRepository{DB: db} } func (r *ProductRepository) FindAll() ([]models.Product, error) { var products []models.Product err := r.DB. Preload("Category"). Preload("Collection"). Preload("Colour"). Preload("Size"). Find(&products).Error return products, err } func (r *ProductRepository) Create(product *models.Product) error { return r.DB.Create(product).Error } func (r *ProductRepository) Update(id uint, product *models.Product) error { return r.DB.Model(&models.Product{}).Where("id = ?", id).Updates(product).Error } func (r *ProductRepository) Delete(id uint) error { return r.DB.Delete(&models.Product{}, id).Error }