mirror of
https://github.com/temetro/temetro.git
synced 2026-08-19 06:36:21 +00:00
feat: QR pairing for wallet import (backend + website)
- Backend: nullable wallet_number on wallet_share_requests (migration 0029); createPairingRequest + POST /api/patients/wallet/pair; applyShareResponse binds the authenticated wallet on QR (pairing) requests - Frontend: Import dialog gains a "Show QR" mode rendering a temetro-pair QR (react-qr-code) the patient scans; requestWalletPairing helper; i18n keys Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,10 @@ export const walletShareRequests = pgTable(
|
||||
requestedBy: text("requested_by")
|
||||
.notNull()
|
||||
.references(() => user.id, { onDelete: "cascade" }),
|
||||
walletNumber: text("wallet_number").notNull(),
|
||||
// Null for QR "scan to connect" pairing requests — the wallet number is
|
||||
// bound when the authenticated device responds. Set up-front for the
|
||||
// type-the-number push flow.
|
||||
walletNumber: text("wallet_number"),
|
||||
ephemeralPubKey: text("ephemeral_pub_key").notNull(),
|
||||
// Encrypted (lib/crypto.ts) hex of the ephemeral X25519 private key.
|
||||
ephemeralPrivEnc: text("ephemeral_priv_enc").notNull(),
|
||||
|
||||
Reference in New Issue
Block a user