fixed safety number logic

This commit is contained in:
2026-03-09 16:25:37 -04:00
parent 7ad321e5e2
commit a6fbbd245f
6 changed files with 291 additions and 6 deletions

View File

@@ -39,7 +39,7 @@ class DeviceRegistry:
device = self._get(phone_number)
return device is not None and device.trust_level == TrustLevel.VERIFIED
def record_contact(self, phone_number: str, safety_number: str) -> SignalDevice:
def record_contact(self, phone_number: str, safety_number: str | None = None) -> SignalDevice:
"""Record seeing a device. Creates entry if new, updates last_seen."""
now = utcnow()
with Session(self.engine) as session:
@@ -67,6 +67,11 @@ class DeviceRegistry:
session.refresh(device)
return device
def has_safety_number(self, phone_number: str) -> bool:
"""Check if a device has a safety number on file."""
device = self._get(phone_number)
return device is not None and device.safety_number is not None
def verify(self, phone_number: str) -> bool:
"""Mark a device as verified. Called by admin over SSH.