From 8a138327a388e75df4f1af341b01a27ee060a84d Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Tue, 24 Feb 2026 14:54:38 +0300 Subject: [PATCH] fix(sync): backfill missing items for existing local pricelists --- internal/services/sync/service.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/internal/services/sync/service.go b/internal/services/sync/service.go index 6c48e8d..3451d1e 100644 --- a/internal/services/sync/service.go +++ b/internal/services/sync/service.go @@ -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 }