From abe7f4ff0d615444af00f86a1eb4986144b91ac5 Mon Sep 17 00:00:00 2001 From: bonamin Date: Mon, 1 Jun 2026 00:11:48 +0300 Subject: [PATCH] feat(connect): return site_numeric_id in heartbeat response Local backend needs the cloud DB integer PK to call Connect API endpoints (menu sync, order pending poll). Heartbeat is the only authenticated channel available at startup, so we piggyback the id there rather than adding a new endpoint. Changes: - schemas/site.py: site_numeric_id: int | None added to HeartbeatResponse - routers/heartbeat.py: site_numeric_id=site.id included in response Co-Authored-By: Claude Sonnet 4.6 --- cloud_backend/routers/heartbeat.py | 1 + cloud_backend/schemas/site.py | 1 + 2 files changed, 2 insertions(+) diff --git a/cloud_backend/routers/heartbeat.py b/cloud_backend/routers/heartbeat.py index eeef21b..5f84e90 100644 --- a/cloud_backend/routers/heartbeat.py +++ b/cloud_backend/routers/heartbeat.py @@ -39,4 +39,5 @@ def heartbeat( expires_at=site.license_expires_at, latest_version=settings.LATEST_VERSION, waiter_domain=site.waiter_domain, + site_numeric_id=site.id, ) diff --git a/cloud_backend/schemas/site.py b/cloud_backend/schemas/site.py index 257f92b..0ede54c 100644 --- a/cloud_backend/schemas/site.py +++ b/cloud_backend/schemas/site.py @@ -57,3 +57,4 @@ class HeartbeatResponse(BaseModel): expires_at: datetime latest_version: str | None = None waiter_domain: str | None = None + site_numeric_id: int | None = None # cloud DB pk — needed by Connect sync loops