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"` Metadata Metadata `gorm:"type:jsonb;default:'{}'" json:"metadata"`
CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"` CreatedAt time.Time `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt time.Time `gorm:"autoUpdateTime" json:"updated_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("Product").
Preload("ProductVariant"). Preload("ProductVariant").
Preload("Ingredient"). Preload("Ingredient").
Preload("Ingredient.Unit").
Where("id = ? AND organization_id = ?", id, organizationID). Where("id = ? AND organization_id = ?", id, organizationID).
First(&productRecipe).Error First(&productRecipe).Error
if err != nil { if err != nil {
@ -41,6 +42,7 @@ func (r *ProductRecipeRepository) GetByProductID(ctx context.Context, productID,
Preload("Product"). Preload("Product").
Preload("ProductVariant"). Preload("ProductVariant").
Preload("Ingredient"). Preload("Ingredient").
Preload("Ingredient.Unit").
Where("product_id = ? AND organization_id = ?", productID, organizationID). Where("product_id = ? AND organization_id = ?", productID, organizationID).
Order("created_at DESC"). Order("created_at DESC").
Find(&productRecipes).Error Find(&productRecipes).Error
@ -56,6 +58,7 @@ func (r *ProductRecipeRepository) GetByProductAndVariantID(ctx context.Context,
Preload("Product"). Preload("Product").
Preload("ProductVariant"). Preload("ProductVariant").
Preload("Ingredient"). Preload("Ingredient").
Preload("Ingredient.Unit").
Where("product_id = ? AND organization_id = ?", productID, organizationID) Where("product_id = ? AND organization_id = ?", productID, organizationID)
if variantID != nil { if variantID != nil {
@ -77,6 +80,7 @@ func (r *ProductRecipeRepository) GetByIngredientID(ctx context.Context, ingredi
Preload("Product"). Preload("Product").
Preload("ProductVariant"). Preload("ProductVariant").
Preload("Ingredient"). Preload("Ingredient").
Preload("Ingredient.Unit").
Where("ingredient_id = ? AND organization_id = ?", ingredientID, organizationID). Where("ingredient_id = ? AND organization_id = ?", ingredientID, organizationID).
Order("created_at DESC"). Order("created_at DESC").
Find(&productRecipes).Error Find(&productRecipes).Error
@ -96,15 +100,15 @@ func (r *ProductRecipeRepository) Delete(ctx context.Context, id, organizationID
result := r.db.WithContext(ctx). result := r.db.WithContext(ctx).
Where("id = ? AND organization_id = ?", id, organizationID). Where("id = ? AND organization_id = ?", id, organizationID).
Delete(&entities.ProductRecipe{}) Delete(&entities.ProductRecipe{})
if result.Error != nil { if result.Error != nil {
return result.Error return result.Error
} }
if result.RowsAffected == 0 { if result.RowsAffected == 0 {
return gorm.ErrRecordNotFound return gorm.ErrRecordNotFound
} }
return nil 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 { 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) query := r.db.WithContext(ctx).Where("product_id = ? AND organization_id = ?", productID, organizationID)
if variantID != nil { if variantID != nil {
query = query.Where("variant_id = ?", *variantID) query = query.Where("variant_id = ?", *variantID)
} else { } else {
query = query.Where("variant_id IS NULL") query = query.Where("variant_id IS NULL")
} }
return query.Delete(&entities.ProductRecipe{}).Error return query.Delete(&entities.ProductRecipe{}).Error
} }