diff --git a/internal/modules/master/products/services/product.service.go b/internal/modules/master/products/services/product.service.go index 994318ae..0c49a4ef 100644 --- a/internal/modules/master/products/services/product.service.go +++ b/internal/modules/master/products/services/product.service.go @@ -229,9 +229,17 @@ func (s productService) GetAll(c *fiber.Ctx, params *validation.Query) ([]entity products, total, err := s.Repository.GetAll(c.Context(), offset, params.Limit, func(db *gorm.DB) *gorm.DB { db = s.withRelations(db) + + includeAll := params.IncludeAll != nil && *params.IncludeAll + if params.IsDepletion != nil && *params.IsDepletion { + // Auto-expand visibility for depletion catalog so FE doesn't need include_all=true. + includeAll = true + } + // Default: show only visible products. // include_all=true can be used to fetch all records (including hidden/system products). - if params.IncludeAll == nil || !*params.IncludeAll { + // is_depletion, when provided, is composed as an additional flag filter. + if !includeAll { db = db.Where("is_visible = ?", true) } if params.Search != "" {