modified: blueprints/sync_server.py

modified:   core/sync.py
This commit is contained in:
2026-06-23 18:42:56 -04:00
parent fec74e24c5
commit 492736a33e
2 changed files with 14 additions and 1 deletions

View File

@@ -40,19 +40,26 @@ def sync_push():
(et, eu)
).fetchone()
if not existing:
now = datetime.now(timezone.utc).isoformat()
conn.execute(
"INSERT INTO sync_deletions (entity_type, entity_uuid, deleted_at) VALUES (?, ?, ?)",
(et, eu, synced_at)
(et, eu, now)
)
if et == 'debtor':
conn.execute("DELETE FROM debtors WHERE uuid = ?", (eu,))
elif et == 'ticket':
row = conn.execute("SELECT id FROM debtor_tickets WHERE uuid = ?", (eu,)).fetchone()
if row:
conn.execute("DELETE FROM debtor_ticket_items WHERE ticket_id = ?", (row[0],))
conn.execute("DELETE FROM debtor_tickets WHERE uuid = ?", (eu,))
elif et == 'dicom':
conn.execute("DELETE FROM dicom WHERE uuid = ?", (eu,))
elif et == 'expense':
conn.execute("DELETE FROM expenses WHERE uuid = ?", (eu,))
elif et == 'sale':
row = conn.execute("SELECT id FROM sales WHERE uuid = ?", (eu,)).fetchone()
if row:
conn.execute("DELETE FROM sale_items WHERE sale_id = ?", (row[0],))
conn.execute("DELETE FROM sales WHERE uuid = ?", (eu,))
elif et == 'product':
conn.execute("DELETE FROM products WHERE barcode = ?", (eu,))

View File

@@ -218,12 +218,18 @@ class SyncManager:
if et == 'debtor':
conn.execute("DELETE FROM debtors WHERE uuid = ?", (eu,))
elif et == 'ticket':
row = conn.execute("SELECT id FROM debtor_tickets WHERE uuid = ?", (eu,)).fetchone()
if row:
conn.execute("DELETE FROM debtor_ticket_items WHERE ticket_id = ?", (row[0],))
conn.execute("DELETE FROM debtor_tickets WHERE uuid = ?", (eu,))
elif et == 'dicom':
conn.execute("DELETE FROM dicom WHERE uuid = ?", (eu,))
elif et == 'expense':
conn.execute("DELETE FROM expenses WHERE uuid = ?", (eu,))
elif et == 'sale':
row = conn.execute("SELECT id FROM sales WHERE uuid = ?", (eu,)).fetchone()
if row:
conn.execute("DELETE FROM sale_items WHERE sale_id = ?", (row[0],))
conn.execute("DELETE FROM sales WHERE uuid = ?", (eu,))
elif et == 'product':
conn.execute("DELETE FROM products WHERE barcode = ?", (eu,))