update product response

This commit is contained in:
efrilm 2026-04-16 17:14:18 +07:00
parent 3db4afbce6
commit d695bedc97
2 changed files with 11 additions and 7 deletions

View File

@ -19,5 +19,5 @@ type Ingredient struct {
Metadata Metadata `gorm:"type:jsonb;default:'{}'" json:"metadata"`
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updated_at"`
Unit *Unit `gorm:"foreignKey:UnitID" json:"unit,omitempty"`
Unit *Unit `gorm:"foreignKey:UnitID;references:ID" json:"unit,omitempty"`
}

View File

@ -27,6 +27,7 @@ func (r *ProductRecipeRepository) GetByID(ctx context.Context, id, organizationI
Preload("Product").
Preload("ProductVariant").
Preload("Ingredient").
Preload("Ingredient.Unit").
Where("id = ? AND organization_id = ?", id, organizationID).
First(&productRecipe).Error
if err != nil {
@ -41,6 +42,7 @@ func (r *ProductRecipeRepository) GetByProductID(ctx context.Context, productID,
Preload("Product").
Preload("ProductVariant").
Preload("Ingredient").
Preload("Ingredient.Unit").
Where("product_id = ? AND organization_id = ?", productID, organizationID).
Order("created_at DESC").
Find(&productRecipes).Error
@ -56,6 +58,7 @@ func (r *ProductRecipeRepository) GetByProductAndVariantID(ctx context.Context,
Preload("Product").
Preload("ProductVariant").
Preload("Ingredient").
Preload("Ingredient.Unit").
Where("product_id = ? AND organization_id = ?", productID, organizationID)
if variantID != nil {
@ -77,6 +80,7 @@ func (r *ProductRecipeRepository) GetByIngredientID(ctx context.Context, ingredi
Preload("Product").
Preload("ProductVariant").
Preload("Ingredient").
Preload("Ingredient.Unit").
Where("ingredient_id = ? AND organization_id = ?", ingredientID, organizationID).
Order("created_at DESC").
Find(&productRecipes).Error
@ -96,15 +100,15 @@ func (r *ProductRecipeRepository) Delete(ctx context.Context, id, organizationID
result := r.db.WithContext(ctx).
Where("id = ? AND organization_id = ?", id, organizationID).
Delete(&entities.ProductRecipe{})
if result.Error != nil {
return result.Error
}
if result.RowsAffected == 0 {
return gorm.ErrRecordNotFound
}
return nil
}
@ -116,12 +120,12 @@ func (r *ProductRecipeRepository) DeleteByProductID(ctx context.Context, product
func (r *ProductRecipeRepository) DeleteByProductAndVariantID(ctx context.Context, productID uuid.UUID, variantID *uuid.UUID, organizationID uuid.UUID) error {
query := r.db.WithContext(ctx).Where("product_id = ? AND organization_id = ?", productID, organizationID)
if variantID != nil {
query = query.Where("variant_id = ?", *variantID)
} else {
query = query.Where("variant_id IS NULL")
}
return query.Delete(&entities.ProductRecipe{}).Error
}
}