fix(sync): backfill missing items for existing local pricelists

This commit is contained in:
Mikhail Chusavitin
2026-02-24 14:54:38 +03:00
parent d0400b18a3
commit 8a138327a3

View File

@@ -354,6 +354,15 @@ func (s *Service) SyncPricelists() (int, error) {
// Check if pricelist already exists locally
existing, _ := s.localDB.GetLocalPricelistByServerID(pl.ID)
if existing != nil {
// Backfill items for legacy/partial local caches where only pricelist metadata exists.
if s.localDB.CountLocalPricelistItems(existing.ID) == 0 {
itemCount, err := s.SyncPricelistItems(existing.ID)
if err != nil {
slog.Warn("failed to sync missing pricelist items for existing local pricelist", "version", pl.Version, "error", err)
} else {
slog.Info("synced missing pricelist items for existing local pricelist", "version", pl.Version, "items", itemCount)
}
}
continue
}