feat: complete device onboarding and mobile binding workflows
ci / verify (push) Canceled after 0s

This commit is contained in:
Codex Local
2026-09-12 08:57:29 +08:00
parent 7846f30d0b
commit 98fb2965d0
116 changed files with 15669 additions and 64 deletions
@@ -0,0 +1,13 @@
BEGIN;
ALTER TABLE device_activation_attempt DROP CONSTRAINT device_activation_attempt_stage_check;
ALTER TABLE device_activation_attempt ADD CONSTRAINT device_activation_attempt_stage_check
CHECK(stage IN ('SERVER_REGISTER','ENGINE_INIT','SDK_REGISTER','CONVERSATION_TEST'));
-- Registration is a physical-device fact and survives changes of owner.
ALTER TABLE device_activation_job ADD COLUMN sdk_registered_at timestamptz;
UPDATE device_activation_job SET sdk_registered_at=updated_at WHERE provider_secret_ciphertext IS NOT NULL;
-- Old config packets use a different contract. Never replay them as 1.1.
UPDATE device_activation_job SET config_ciphertext=NULL,config_digest=NULL,config_expires_at=NULL,
config_ack_at=NULL,config_version=config_version+1,version=version+1,
status=CASE WHEN status='READY' THEN 'REGISTERED_OBSERVED' ELSE status END;
DELETE FROM device_onboarding_request WHERE actor_key LIKE 'device:%';
COMMIT;