fix: prevent incorrect soft deletes of billing items
CRITICAL BUG FIX: Billing items were being incorrectly soft-deleted during full sync because BILLING_ITEMS was missing from the hasDateFilter check. The Issue: - Billing items have a date filter (itemDate >= now - yearsBack) - Full sync with 90-day range fetched only recent billing items - Soft delete logic saw 89,714 older items not in fetched set - Incorrectly marked them as deleted (outside sync window) The Fix: - Added EntityType.BILLING_ITEMS to hasDateFilter check - Now billing items skip soft deletes (like tickets, tasks, time entries) - Prevents deletion of records outside the sync date range Recovery: - Restored all 89,714 incorrectly deleted billing items - UPDATE billing_items SET is_deleted = false WHERE is_deleted = true This is the same pattern used for tickets, tasks, and time entries which also have date filters and skip soft deletes.
This commit is contained in:
parent
71873dfb3b
commit
5b7532ee59
1 changed files with 1 additions and 0 deletions
|
|
@ -350,6 +350,7 @@ export class EntitySyncService {
|
|||
const hasDateFilter = entity === EntityType.TICKETS ||
|
||||
entity === EntityType.TASKS ||
|
||||
entity === EntityType.TIME_ENTRIES ||
|
||||
entity === EntityType.BILLING_ITEMS ||
|
||||
entity === EntityType.PROJECTS ||
|
||||
entity === EntityType.CONTRACTS;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue