feat(BE): add supplier_id filter to GetAll method and update validation for query parameters

This commit is contained in:
aguhh18
2025-12-30 20:03:23 +07:00
parent 3ecea6741f
commit d91ff7a4c2
2 changed files with 12 additions and 3 deletions
@@ -59,6 +59,14 @@ func (s nonstockService) GetAll(c *fiber.Ctx, params *validation.Query) ([]entit
nonstocks, total, err := s.Repository.GetAll(c.Context(), offset, params.Limit, func(db *gorm.DB) *gorm.DB {
db = s.withRelations(db)
if params.SupplierID != nil {
supplierID := *params.SupplierID
db = db.Joins("JOIN nonstock_suppliers ON nonstock_suppliers.nonstock_id = nonstocks.id").
Where("nonstock_suppliers.supplier_id = ?", supplierID).
Group("nonstocks.id") // Prevent duplicates from join
}
if params.Search != "" {
return db.Where("name LIKE ?", "%"+params.Search+"%")
}