You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Add document_share table (CREATE TABLE IF NOT EXISTS; opaque token, optional expiry, revoke flag) and repos-shares.ts: - mintShare: 256-bit randomBytes hex token (64 hex, unique), default +30d expiry, audited — the token itself is never written to the audit trail or any log. - validateShare: resolves a live token to its one document; null on unknown / revoked / expired (ISO-8601 UTC lexical compare). - revokeShare: flips revoked=1, audited. - listShares: a document's shares, scoped and newest-first. Wire POST /api/documents/:id/share and POST /api/documents/:id/share/:shareId/revoke (requireAuth, document-scoped share guard) and surface shares on GET /api/documents/:id. TDD: 14 tests cover token shape/uniqueness, validate rejections, revoke, and audit-without-token. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
1 week ago | |
|---|---|---|
| .. | ||
| api.ts | 1 week ago | |
| audit.ts | 2 weeks ago | |
| auth.ts | 2 weeks ago | |
| aws-costs.ts | 2 weeks ago | |
| bounces.ts | 2 weeks ago | |
| crypto.ts | 2 weeks ago | |
| db.ts | 1 week ago | |
| gmail.ts | 2 weeks ago | |
| import-apex.ts | 2 weeks ago | |
| pdf.ts | 2 weeks ago | |
| reminder-templates.ts | 2 weeks ago | |
| repos-amc.ts | 2 weeks ago | |
| repos-aws.ts | 2 weeks ago | |
| repos-clients.ts | 2 weeks ago | |
| repos-dashboard.ts | 2 weeks ago | |
| repos-documents.ts | 1 week ago | |
| repos-email.ts | 2 weeks ago | |
| repos-interactions.ts | 2 weeks ago | |
| repos-modules.ts | 2 weeks ago | |
| repos-payments.ts | 2 weeks ago | |
| repos-recurring.ts | 2 weeks ago | |
| repos-reminders.ts | 2 weeks ago | |
| repos-reports.ts | 2 weeks ago | |
| repos-shares.ts | 1 week ago | |
| scheduler.ts | 2 weeks ago | |
| seed.ts | 2 weeks ago | |
| send-reminder.ts | 1 week ago | |
| series.ts | 2 weeks ago | |
| server.ts | 2 weeks ago | |
| templates.ts | 1 week ago | |