mirror of
https://github.com/temetro/temetro.git
synced 2026-08-18 14:23:14 +00:00
2d47abcc42
Backend - clinic Ed25519 signing key (services/signing.ts, routes/signing.ts, clinic_signing_keys table) — Settings → Signing is now real - @noble wallet-crypto (lib/wallet-crypto.ts): ed25519 identity, base58check wallet numbers, sealed-box (x25519 + xchacha20poly1305) - /wallet Socket.io relay namespace (challenge-signed device auth) forwarding only ciphertext; emitToWallet helper - import-from-app flow (routes/patients-wallet.ts, services/wallet-share.ts): request-share → patient approval → decrypt + verify → review draft → commit - temporary shares: patients.share_expires_at + 5-min auto-delete sweep; revoke Frontend - SigningPanel wired to live key/fingerprint/rotate + shared-records list - "Import from a patient app" dialog (lib/signing.ts, import-from-wallet-dialog) reusing the draft-review path; temporary badge on the patient list Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
24 lines
739 B
TypeScript
24 lines
739 B
TypeScript
export * from "./auth.js";
|
|
export * from "./patients.js";
|
|
export * from "./notes.js";
|
|
export * from "./appointments.js";
|
|
export * from "./prescriptions.js";
|
|
export * from "./invoices.js";
|
|
export * from "./inventory.js";
|
|
export * from "./dispenses.js";
|
|
export * from "./tasks.js";
|
|
export * from "./activity.js";
|
|
export * from "./messaging.js";
|
|
export * from "./notifications.js";
|
|
export * from "./settings.js";
|
|
export * from "./email-settings.js";
|
|
export * from "./ai.js";
|
|
export * from "./ai-chat.js";
|
|
export * from "./org-ai-policy.js";
|
|
export * from "./attachments.js";
|
|
export * from "./integrations.js";
|
|
export * from "./staff-profile.js";
|
|
export * from "./meetings.js";
|
|
export * from "./signing.js";
|
|
export * from "./wallet-share.js";
|