---
tags: [products, observer]
module: Products
---

# [Observer]Observers

## Connections
[[_Products]] · [[[Model]Product]] · [[[Model]WarehouseProduct]] · [[[Model]CostCenter]] · [[[Notification]Notifications]] · [[[Cross]CrossModuleDependencies]]

## Source
`Modules/Products/Observers/`

## ProductObserver
- **created/updated/deleted:** Clear product cache via CacheClientService
- **created:** Update tenant activity (UpdatingLastActivityService)

## CostCenterObserver
- **created:** Record feature usage (FeatureNameEnum::CostCenters)
- **created:** Update tenant activity

## WarehouseProductObserver
- **updated:** Clear product cache
- **updated:** Check low-stock thresholds → send notifications (24hr dedup)
  - At minimum_quantity → `NotifyWarehouseProductMinimumQuantity`
  - Below minimum_quantity → `NotifyWarehouseProductBelowMinimumQuantity`
  - Targets users with `inventory.warehouse.{id}.view` permission
  - Checks: FeaturesEnum::INVENTORY active, allow_notification=true
- **created/deleted:** Clear product cache
