Skip to content

Add device_prekeys schema (signed prekey + one-time prekeys) #154

Description

@codebestia

Create device_prekeys table: id uuid PK, deviceId uuid FK → user_devices.id (cascade), keyType pgEnum (signed/one_time), keyId integer, publicKey text, signature text nullable, consumed boolean default false, createdAt. Indexes: unique (deviceId, keyType, keyId); partial on (deviceId) WHERE key_type='one_time' AND consumed=false. Signed prekeys require non-null signature.

Acceptance criteria:

  • One device has exactly one active signed prekey and many one-time prekeys
  • Consuming a one-time prekey flips consumed=true atomically
  • Signed prekey rows require a non-null signature

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions