@revealui/core 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/compression.d.ts.map +1 -1
- package/dist/api/payload-optimization.d.ts.map +1 -1
- package/dist/api/rate-limit.d.ts +29 -28
- package/dist/api/rate-limit.d.ts.map +1 -1
- package/dist/api/rate-limit.js +63 -3
- package/dist/api/response-cache.d.ts.map +1 -1
- package/dist/api/response-cache.js +1 -1
- package/dist/api/rest.d.ts.map +1 -1
- package/dist/api/rest.js +3 -2
- package/dist/auth/access.d.ts.map +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/cache/query-cache.d.ts +12 -10
- package/dist/cache/query-cache.d.ts.map +1 -1
- package/dist/cache/query-cache.js +38 -42
- package/dist/caching/app-cache.d.ts +5 -0
- package/dist/caching/app-cache.d.ts.map +1 -1
- package/dist/caching/app-cache.js +9 -1
- package/dist/caching/cdn-config.d.ts.map +1 -1
- package/dist/caching/cdn-config.js +4 -0
- package/dist/caching/edge-cache.d.ts +1 -1
- package/dist/caching/edge-cache.d.ts.map +1 -1
- package/dist/caching/edge-cache.js +36 -7
- package/dist/caching/index.d.ts +6 -0
- package/dist/caching/index.d.ts.map +1 -0
- package/dist/caching/index.js +5 -0
- package/dist/caching/service-worker.d.ts +6 -3
- package/dist/caching/service-worker.d.ts.map +1 -1
- package/dist/caching/service-worker.js +3 -2
- package/dist/client/admin/RichText.d.ts +1 -1
- package/dist/client/admin/RichText.d.ts.map +1 -1
- package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
- package/dist/client/admin/components/AdminDashboard.js +178 -205
- package/dist/client/admin/components/CollectionList.d.ts.map +1 -1
- package/dist/client/admin/components/DocumentForm.d.ts.map +1 -1
- package/dist/client/admin/components/DocumentForm.js +130 -6
- package/dist/client/admin/components/GlobalForm.d.ts.map +1 -1
- package/dist/client/admin/context/ServerFunctionContext.d.ts +8 -0
- package/dist/client/admin/context/ServerFunctionContext.d.ts.map +1 -0
- package/dist/client/admin/context/ServerFunctionContext.js +15 -0
- package/dist/client/admin/i18n/en.d.ts.map +1 -1
- package/dist/client/admin/index.d.ts +1 -0
- package/dist/client/admin/index.d.ts.map +1 -1
- package/dist/client/admin/index.js +1 -0
- package/dist/client/admin/layout.d.ts +1 -1
- package/dist/client/admin/layout.d.ts.map +1 -1
- package/dist/client/admin/layout.js +3 -2
- package/dist/client/admin/page.d.ts.map +1 -1
- package/dist/client/admin/utils/apiClient.d.ts.map +1 -1
- package/dist/client/admin/utils/apiClient.js +0 -4
- package/dist/client/admin/utils/index.d.ts +0 -1
- package/dist/client/admin/utils/index.d.ts.map +1 -1
- package/dist/client/admin/utils/index.js +0 -1
- package/dist/client/admin/utils/serializeConfig.d.ts.map +1 -1
- package/dist/client/hooks.d.ts.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/richtext/RichTextEditor.d.ts.map +1 -1
- package/dist/client/richtext/components/ImageNodeComponent.d.ts.map +1 -1
- package/dist/client/richtext/components/ImageNodeComponent.js +0 -1
- package/dist/client/richtext/components/ImageUploadButton.d.ts +2 -0
- package/dist/client/richtext/components/ImageUploadButton.d.ts.map +1 -1
- package/dist/client/richtext/components/ImageUploadButton.js +30 -15
- package/dist/client/richtext/index.d.ts.map +1 -1
- package/dist/client/richtext/nodes/DecoratorBlockNode.d.ts.map +1 -1
- package/dist/client/richtext/nodes/ImageNode.d.ts.map +1 -1
- package/dist/client/richtext/plugins/CollaborationPlugin.d.ts.map +1 -1
- package/dist/client/richtext/plugins/CursorsOverlayPlugin.d.ts.map +1 -1
- package/dist/client/richtext/plugins/FloatingToolbarPlugin.d.ts.map +1 -1
- package/dist/client/richtext/plugins/ImagePlugin.d.ts.map +1 -1
- package/dist/client/richtext/plugins/ToolbarPlugin.d.ts.map +1 -1
- package/dist/client/ui/index.d.ts.map +1 -1
- package/dist/client/ui/index.js +1 -1
- package/dist/collections/CollectionOperations.d.ts +7 -7
- package/dist/collections/CollectionOperations.d.ts.map +1 -1
- package/dist/collections/CollectionOperations.js +15 -1
- package/dist/collections/hooks.d.ts.map +1 -1
- package/dist/collections/index.d.ts.map +1 -1
- package/dist/collections/operations/create.d.ts +2 -4
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +7 -5
- package/dist/collections/operations/createMany.d.ts +12 -0
- package/dist/collections/operations/createMany.d.ts.map +1 -0
- package/dist/collections/operations/createMany.js +43 -0
- package/dist/collections/operations/delete.d.ts +1 -1
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +31 -2
- package/dist/collections/operations/deleteMany.d.ts +11 -0
- package/dist/collections/operations/deleteMany.d.ts.map +1 -0
- package/dist/collections/operations/deleteMany.js +50 -0
- package/dist/collections/operations/fieldHooks.d.ts +2 -2
- package/dist/collections/operations/fieldHooks.d.ts.map +1 -1
- package/dist/collections/operations/fieldHooks.js +4 -4
- package/dist/collections/operations/find.d.ts +2 -4
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +115 -8
- package/dist/collections/operations/findById.d.ts +3 -4
- package/dist/collections/operations/findById.d.ts.map +1 -1
- package/dist/collections/operations/findById.js +53 -1
- package/dist/collections/operations/sqlAdapter.d.ts +23 -0
- package/dist/collections/operations/sqlAdapter.d.ts.map +1 -0
- package/dist/collections/operations/sqlAdapter.js +76 -0
- package/dist/collections/operations/update.d.ts +3 -5
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +103 -11
- package/dist/collections/operations/updateMany.d.ts +11 -0
- package/dist/collections/operations/updateMany.d.ts.map +1 -0
- package/dist/collections/operations/updateMany.js +52 -0
- package/dist/collections/registry.d.ts +12 -0
- package/dist/collections/registry.d.ts.map +1 -0
- package/dist/collections/registry.js +38 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/config/utils.d.ts +0 -10
- package/dist/config/utils.d.ts.map +1 -1
- package/dist/config/utils.js +0 -13
- package/dist/database/index.d.ts +3 -0
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -5
- package/dist/database/safe-parse.d.ts.map +1 -1
- package/dist/database/ssl-config.d.ts.map +1 -1
- package/dist/database/type-adapter.d.ts.map +1 -1
- package/dist/database/universal-postgres.d.ts.map +1 -1
- package/dist/database/universal-postgres.js +6 -1
- package/dist/dataloader.d.ts.map +1 -1
- package/dist/error-handling/circuit-breaker.d.ts +1 -1
- package/dist/error-handling/circuit-breaker.d.ts.map +1 -1
- package/dist/error-handling/circuit-breaker.js +11 -3
- package/dist/error-handling/error-boundary.d.ts.map +1 -1
- package/dist/error-handling/error-reporter.d.ts +1 -1
- package/dist/error-handling/error-reporter.d.ts.map +1 -1
- package/dist/error-handling/error-reporter.js +19 -5
- package/dist/error-handling/fallback-components.d.ts.map +1 -1
- package/dist/error-handling/fallback-components.js +1 -1
- package/dist/error-handling/index.d.ts +2 -4
- package/dist/error-handling/index.d.ts.map +1 -1
- package/dist/error-handling/index.js +1 -4
- package/dist/error-handling/retry.d.ts.map +1 -1
- package/dist/error-handling/retry.js +13 -8
- package/dist/factories/builders.d.ts.map +1 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/features.d.ts +0 -4
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +0 -2
- package/dist/fieldTraversal.d.ts.map +1 -1
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/getDefaultValue.d.ts.map +1 -1
- package/dist/fields/getFieldPaths.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/generated/types/cms.d.ts.map +1 -1
- package/dist/generated/types/cms.js +0 -1
- package/dist/generated/types/neon.d.ts.map +1 -1
- package/dist/generated/types/neon.js +4 -2
- package/dist/globals/GlobalOperations.d.ts.map +1 -1
- package/dist/globals/GlobalOperations.js +4 -2
- package/dist/globals/index.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -4
- package/dist/instance/RevealUIInstance.d.ts.map +1 -1
- package/dist/instance/RevealUIInstance.js +6 -19
- package/dist/instance/index.d.ts.map +1 -1
- package/dist/instance/logger.d.ts.map +1 -1
- package/dist/instance/methods/create.d.ts.map +1 -1
- package/dist/instance/methods/create.js +0 -3
- package/dist/instance/methods/delete.d.ts.map +1 -1
- package/dist/instance/methods/delete.js +1 -4
- package/dist/instance/methods/find.d.ts.map +1 -1
- package/dist/instance/methods/find.js +0 -3
- package/dist/instance/methods/findById.d.ts.map +1 -1
- package/dist/instance/methods/findById.js +0 -3
- package/dist/instance/methods/hooks.d.ts.map +1 -1
- package/dist/instance/methods/update.d.ts.map +1 -1
- package/dist/instance/methods/update.js +0 -3
- package/dist/jobs/index.d.ts +16 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +14 -0
- package/dist/jobs/queue.d.ts +57 -0
- package/dist/jobs/queue.d.ts.map +1 -0
- package/dist/jobs/queue.js +134 -0
- package/dist/license-encryption.d.ts +21 -0
- package/dist/license-encryption.d.ts.map +1 -0
- package/dist/license-encryption.js +74 -0
- package/dist/license.d.ts +20 -3
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +73 -6
- package/dist/monitoring/alerts.d.ts.map +1 -1
- package/dist/monitoring/cleanup-manager.d.ts.map +1 -1
- package/dist/monitoring/health-monitor.d.ts.map +1 -1
- package/dist/monitoring/index.d.ts.map +1 -1
- package/dist/monitoring/process-registry.d.ts.map +1 -1
- package/dist/monitoring/query-monitor.d.ts.map +1 -1
- package/dist/monitoring/types.d.ts.map +1 -1
- package/dist/monitoring/zombie-detector.d.ts.map +1 -1
- package/dist/monitoring/zombie-detector.js +5 -0
- package/dist/nextjs/index.d.ts.map +1 -1
- package/dist/nextjs/utilities.d.ts.map +1 -1
- package/dist/nextjs/withRevealUI.d.ts.map +1 -1
- package/dist/observability/alerts.d.ts.map +1 -1
- package/dist/observability/alerts.js +1 -2
- package/dist/observability/health-check.d.ts +0 -4
- package/dist/observability/health-check.d.ts.map +1 -1
- package/dist/observability/health-check.js +0 -36
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/logger.d.ts.map +1 -1
- package/dist/observability/logger.js +1 -1
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/tracing.d.ts.map +1 -1
- package/dist/observability/tracing.js +0 -1
- package/dist/optimization/asset-optimizer.d.ts +6 -2
- package/dist/optimization/asset-optimizer.d.ts.map +1 -1
- package/dist/optimization/asset-optimizer.js +31 -7
- package/dist/optimization/bundle-analyzer.d.ts +1 -1
- package/dist/optimization/bundle-analyzer.d.ts.map +1 -1
- package/dist/optimization/bundle-analyzer.js +29 -5
- package/dist/optimization/code-splitting.d.ts +0 -10
- package/dist/optimization/code-splitting.d.ts.map +1 -1
- package/dist/optimization/code-splitting.js +0 -16
- package/dist/plugins/form-builder.d.ts.map +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/nested-docs.d.ts +4 -0
- package/dist/plugins/nested-docs.d.ts.map +1 -1
- package/dist/plugins/nested-docs.js +50 -5
- package/dist/plugins/redirects.d.ts.map +1 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/queryBuilder.d.ts.map +1 -1
- package/dist/queries/queryBuilder.js +9 -2
- package/dist/relationships/analyzer.d.ts.map +1 -1
- package/dist/relationships/analyzer.js +8 -0
- package/dist/relationships/index.d.ts.map +1 -1
- package/dist/relationships/populate-core.d.ts +57 -0
- package/dist/relationships/populate-core.d.ts.map +1 -0
- package/dist/relationships/populate-core.js +116 -0
- package/dist/relationships/populate-helpers.d.ts +5 -51
- package/dist/relationships/populate-helpers.d.ts.map +1 -1
- package/dist/relationships/populate-helpers.js +4 -109
- package/dist/relationships/population.d.ts +1 -9
- package/dist/relationships/population.d.ts.map +1 -1
- package/dist/relationships/population.js +8 -3
- package/dist/revealui.d.ts.map +1 -1
- package/dist/richtext/exports/client/rcc.d.ts.map +1 -1
- package/dist/richtext/exports/client/rcc.js +1 -1
- package/dist/richtext/exports/server/rsc.d.ts +17 -0
- package/dist/richtext/exports/server/rsc.d.ts.map +1 -1
- package/dist/richtext/exports/server/rsc.js +61 -5
- package/dist/richtext/index.d.ts.map +1 -1
- package/dist/richtext/lexical.d.ts.map +1 -1
- package/dist/security/audit.d.ts +1 -1
- package/dist/security/audit.d.ts.map +1 -1
- package/dist/security/audit.js +4 -2
- package/dist/security/auth.d.ts +29 -160
- package/dist/security/auth.d.ts.map +1 -1
- package/dist/security/auth.js +148 -367
- package/dist/security/authorization.d.ts +7 -31
- package/dist/security/authorization.d.ts.map +1 -1
- package/dist/security/authorization.js +72 -14
- package/dist/security/encryption.d.ts +56 -44
- package/dist/security/encryption.d.ts.map +1 -1
- package/dist/security/encryption.js +113 -96
- package/dist/security/gdpr-storage.d.ts +102 -0
- package/dist/security/gdpr-storage.d.ts.map +1 -0
- package/dist/security/gdpr-storage.js +65 -0
- package/dist/security/gdpr.d.ts +57 -37
- package/dist/security/gdpr.d.ts.map +1 -1
- package/dist/security/gdpr.js +155 -89
- package/dist/security/headers.d.ts +4 -2
- package/dist/security/headers.d.ts.map +1 -1
- package/dist/security/headers.js +35 -17
- package/dist/security/index.d.ts +3 -16
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +3 -16
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/renderPage.d.ts.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +2 -4
- package/dist/storage/vercel-blob.d.ts.map +1 -1
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/types/access.d.ts.map +1 -1
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/cms.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/extensions.d.ts.map +1 -1
- package/dist/types/frontend.d.ts.map +1 -1
- package/dist/types/generated.d.ts.map +1 -1
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/app.d.ts.map +1 -1
- package/dist/types/jobs.d.ts.map +1 -1
- package/dist/types/legacy.d.ts.map +1 -1
- package/dist/types/plugins.d.ts.map +1 -1
- package/dist/types/query.d.ts.map +1 -1
- package/dist/types/request.d.ts.map +1 -1
- package/dist/types/richtext.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +59 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/schema.d.ts.map +1 -1
- package/dist/types/user.d.ts.map +1 -1
- package/dist/utils/access-conversion.d.ts.map +1 -1
- package/dist/utils/api-wrapper.d.ts.map +1 -1
- package/dist/utils/api-wrapper.js +1 -1
- package/dist/utils/block-conversion.d.ts.map +1 -1
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/deep-clone.js +0 -1
- package/dist/utils/error-responses.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +36 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +103 -0
- package/dist/utils/field-conversion.d.ts +1 -1
- package/dist/utils/field-conversion.d.ts.map +1 -1
- package/dist/utils/flattenResult.d.ts.map +1 -1
- package/dist/utils/flattenResult.js +0 -1
- package/dist/utils/getBlockSelect.d.ts.map +1 -1
- package/dist/utils/getSelectMode.d.ts.map +1 -1
- package/dist/utils/isValidID.d.ts.map +1 -1
- package/dist/utils/json-parsing.d.ts.map +1 -1
- package/dist/utils/logger-client.d.ts.map +1 -1
- package/dist/utils/logger-server.d.ts.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/request-context.d.ts.map +1 -1
- package/dist/utils/stripUnselectedFields.d.ts.map +1 -1
- package/dist/utils/type-guards.d.ts.map +1 -1
- package/package.json +39 -7
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GDPR Storage Abstraction
|
|
3
|
+
*
|
|
4
|
+
* Record-oriented storage interface for GDPR compliance data.
|
|
5
|
+
* Provides a clean seam for replacing the default in-memory implementation
|
|
6
|
+
* with a database-backed store in production.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* In-memory implementation of `BreachStorage`.
|
|
10
|
+
*
|
|
11
|
+
* WARNING: All data is lost on process restart or serverless cold start.
|
|
12
|
+
* GDPR requires breach records be retained — use database-backed storage in production.
|
|
13
|
+
*/
|
|
14
|
+
export class InMemoryBreachStorage {
|
|
15
|
+
breaches = new Map();
|
|
16
|
+
async setBreach(breach) {
|
|
17
|
+
this.breaches.set(breach.id, breach);
|
|
18
|
+
}
|
|
19
|
+
async getBreach(id) {
|
|
20
|
+
return this.breaches.get(id);
|
|
21
|
+
}
|
|
22
|
+
async getAllBreaches() {
|
|
23
|
+
return Array.from(this.breaches.values());
|
|
24
|
+
}
|
|
25
|
+
async updateBreach(id, updates) {
|
|
26
|
+
const existing = this.breaches.get(id);
|
|
27
|
+
if (existing) {
|
|
28
|
+
this.breaches.set(id, { ...existing, ...updates });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* In-memory implementation of `GDPRStorage`.
|
|
34
|
+
*
|
|
35
|
+
* WARNING: All data is lost on process restart or serverless cold start.
|
|
36
|
+
* Use this only for development, testing, or as a reference implementation.
|
|
37
|
+
* Production deployments MUST supply a database-backed `GDPRStorage`.
|
|
38
|
+
*/
|
|
39
|
+
export class InMemoryGDPRStorage {
|
|
40
|
+
consents = new Map();
|
|
41
|
+
deletionRequests = new Map();
|
|
42
|
+
// ── Consent Records ──────────────────────────────────────────────
|
|
43
|
+
async setConsent(userId, type, record) {
|
|
44
|
+
this.consents.set(`${userId}:${type}`, record);
|
|
45
|
+
}
|
|
46
|
+
async getConsent(userId, type) {
|
|
47
|
+
return this.consents.get(`${userId}:${type}`);
|
|
48
|
+
}
|
|
49
|
+
async getConsentsByUser(userId) {
|
|
50
|
+
return Array.from(this.consents.values()).filter((c) => c.userId === userId);
|
|
51
|
+
}
|
|
52
|
+
async getAllConsents() {
|
|
53
|
+
return Array.from(this.consents.values());
|
|
54
|
+
}
|
|
55
|
+
// ── Deletion Requests ────────────────────────────────────────────
|
|
56
|
+
async setDeletionRequest(request) {
|
|
57
|
+
this.deletionRequests.set(request.id, request);
|
|
58
|
+
}
|
|
59
|
+
async getDeletionRequest(requestId) {
|
|
60
|
+
return this.deletionRequests.get(requestId);
|
|
61
|
+
}
|
|
62
|
+
async getDeletionRequestsByUser(userId) {
|
|
63
|
+
return Array.from(this.deletionRequests.values()).filter((r) => r.userId === userId);
|
|
64
|
+
}
|
|
65
|
+
}
|
package/dist/security/gdpr.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Data privacy, consent management, data export, and right to be forgotten
|
|
5
5
|
*/
|
|
6
|
+
import { type BreachStorage, type GDPRStorage } from './gdpr-storage.js';
|
|
6
7
|
export type ConsentType = 'necessary' | 'functional' | 'analytics' | 'marketing' | 'personalization';
|
|
7
8
|
export type DataCategory = 'personal' | 'sensitive' | 'financial' | 'health' | 'behavioral' | 'location';
|
|
8
9
|
export interface ConsentRecord {
|
|
@@ -51,8 +52,9 @@ export interface DataDeletionRequest {
|
|
|
51
52
|
* Consent management system
|
|
52
53
|
*/
|
|
53
54
|
export declare class ConsentManager {
|
|
54
|
-
private
|
|
55
|
+
private readonly storage;
|
|
55
56
|
private consentVersion;
|
|
57
|
+
constructor(storage: GDPRStorage);
|
|
56
58
|
/**
|
|
57
59
|
* Grant consent
|
|
58
60
|
*/
|
|
@@ -64,11 +66,11 @@ export declare class ConsentManager {
|
|
|
64
66
|
/**
|
|
65
67
|
* Check if consent is granted
|
|
66
68
|
*/
|
|
67
|
-
hasConsent(userId: string, type: ConsentType): boolean
|
|
69
|
+
hasConsent(userId: string, type: ConsentType): Promise<boolean>;
|
|
68
70
|
/**
|
|
69
71
|
* Get all consents for user
|
|
70
72
|
*/
|
|
71
|
-
getUserConsents(userId: string): ConsentRecord[]
|
|
73
|
+
getUserConsents(userId: string): Promise<ConsentRecord[]>;
|
|
72
74
|
/**
|
|
73
75
|
* Update consent version
|
|
74
76
|
*/
|
|
@@ -76,17 +78,17 @@ export declare class ConsentManager {
|
|
|
76
78
|
/**
|
|
77
79
|
* Check if consent needs renewal
|
|
78
80
|
*/
|
|
79
|
-
needsRenewal(userId: string, type: ConsentType, maxAge: number): boolean
|
|
81
|
+
needsRenewal(userId: string, type: ConsentType, maxAge: number): Promise<boolean>;
|
|
80
82
|
/**
|
|
81
83
|
* Get consent statistics
|
|
82
84
|
*/
|
|
83
|
-
getStatistics(): {
|
|
85
|
+
getStatistics(): Promise<{
|
|
84
86
|
total: number;
|
|
85
87
|
granted: number;
|
|
86
88
|
revoked: number;
|
|
87
89
|
expired: number;
|
|
88
90
|
byType: Record<ConsentType, number>;
|
|
89
|
-
}
|
|
91
|
+
}>;
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
92
94
|
* Data export system
|
|
@@ -117,7 +119,8 @@ export declare class DataExportSystem {
|
|
|
117
119
|
* Data deletion system (Right to be Forgotten)
|
|
118
120
|
*/
|
|
119
121
|
export declare class DataDeletionSystem {
|
|
120
|
-
private
|
|
122
|
+
private readonly storage;
|
|
123
|
+
constructor(storage: GDPRStorage);
|
|
121
124
|
/**
|
|
122
125
|
* Request data deletion
|
|
123
126
|
*/
|
|
@@ -132,11 +135,11 @@ export declare class DataDeletionSystem {
|
|
|
132
135
|
/**
|
|
133
136
|
* Get deletion request
|
|
134
137
|
*/
|
|
135
|
-
getRequest(requestId: string): DataDeletionRequest | undefined
|
|
138
|
+
getRequest(requestId: string): Promise<DataDeletionRequest | undefined>;
|
|
136
139
|
/**
|
|
137
140
|
* Get user deletion requests
|
|
138
141
|
*/
|
|
139
|
-
getUserRequests(userId: string): DataDeletionRequest[]
|
|
142
|
+
getUserRequests(userId: string): Promise<DataDeletionRequest[]>;
|
|
140
143
|
/**
|
|
141
144
|
* Check if data can be deleted
|
|
142
145
|
*/
|
|
@@ -153,28 +156,36 @@ export declare class DataDeletionSystem {
|
|
|
153
156
|
/**
|
|
154
157
|
* Data anonymization utilities
|
|
155
158
|
*/
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
159
|
+
/**
|
|
160
|
+
* Hash value (irreversible) using SHA-256
|
|
161
|
+
*/
|
|
162
|
+
declare function hashValue(value: string): string;
|
|
163
|
+
/**
|
|
164
|
+
* Anonymize user data
|
|
165
|
+
*/
|
|
166
|
+
declare function anonymizeUser(user: Record<string, unknown>): Record<string, unknown>;
|
|
167
|
+
/**
|
|
168
|
+
* Pseudonymize data (one-way, key-dependent)
|
|
169
|
+
*
|
|
170
|
+
* Uses HMAC-SHA256 — cryptographically bound to the key, resistant to
|
|
171
|
+
* length-extension attacks and GPU brute-force (unlike plain SHA-256).
|
|
172
|
+
*/
|
|
173
|
+
declare function pseudonymize(value: string, key: string): string;
|
|
174
|
+
/**
|
|
175
|
+
* Anonymize dataset
|
|
176
|
+
*/
|
|
177
|
+
declare function anonymizeDataset<T extends Record<string, unknown>>(data: T[], sensitiveFields: (keyof T)[]): T[];
|
|
178
|
+
/**
|
|
179
|
+
* K-anonymity check
|
|
180
|
+
*/
|
|
181
|
+
declare function checkKAnonymity<T extends Record<string, unknown>>(data: T[], quasiIdentifiers: (keyof T)[], k: number): boolean;
|
|
182
|
+
export declare const DataAnonymization: {
|
|
183
|
+
readonly anonymizeUser: typeof anonymizeUser;
|
|
184
|
+
readonly pseudonymize: typeof pseudonymize;
|
|
185
|
+
readonly hashValue: typeof hashValue;
|
|
186
|
+
readonly anonymizeDataset: typeof anonymizeDataset;
|
|
187
|
+
readonly checkKAnonymity: typeof checkKAnonymity;
|
|
188
|
+
};
|
|
178
189
|
/**
|
|
179
190
|
* Privacy policy manager
|
|
180
191
|
*/
|
|
@@ -262,7 +273,8 @@ export interface DataBreach {
|
|
|
262
273
|
status: 'detected' | 'investigating' | 'notified' | 'resolved';
|
|
263
274
|
}
|
|
264
275
|
export declare class DataBreachManager {
|
|
265
|
-
private
|
|
276
|
+
private readonly storage;
|
|
277
|
+
constructor(storage?: BreachStorage);
|
|
266
278
|
/**
|
|
267
279
|
* Report data breach
|
|
268
280
|
*/
|
|
@@ -282,19 +294,27 @@ export declare class DataBreachManager {
|
|
|
282
294
|
/**
|
|
283
295
|
* Get breach
|
|
284
296
|
*/
|
|
285
|
-
getBreach(id: string): DataBreach | undefined
|
|
297
|
+
getBreach(id: string): Promise<DataBreach | undefined>;
|
|
286
298
|
/**
|
|
287
299
|
* Get all breaches
|
|
288
300
|
*/
|
|
289
|
-
getAllBreaches(): DataBreach[]
|
|
301
|
+
getAllBreaches(): Promise<DataBreach[]>;
|
|
290
302
|
}
|
|
291
303
|
/**
|
|
292
|
-
*
|
|
304
|
+
* Factory functions for GDPR subsystems.
|
|
305
|
+
*
|
|
306
|
+
* `ConsentManager` and `DataDeletionSystem` require a `GDPRStorage` implementation.
|
|
307
|
+
* Use `InMemoryGDPRStorage` only in tests — production MUST use a database-backed store.
|
|
308
|
+
*
|
|
309
|
+
* `DataExportSystem`, `PrivacyPolicyManager`, `CookieConsentManager`, and
|
|
310
|
+
* `DataBreachManager` are stateless or client-side only, so singletons are safe.
|
|
293
311
|
*/
|
|
294
|
-
export declare
|
|
312
|
+
export declare function createConsentManager(storage: GDPRStorage): ConsentManager;
|
|
313
|
+
export declare function createDataDeletionSystem(storage: GDPRStorage): DataDeletionSystem;
|
|
295
314
|
export declare const dataExportSystem: DataExportSystem;
|
|
296
|
-
export declare const dataDeletionSystem: DataDeletionSystem;
|
|
297
315
|
export declare const privacyPolicyManager: PrivacyPolicyManager;
|
|
298
316
|
export declare const cookieConsentManager: CookieConsentManager;
|
|
317
|
+
export declare function createDataBreachManager(storage?: BreachStorage): DataBreachManager;
|
|
299
318
|
export declare const dataBreachManager: DataBreachManager;
|
|
319
|
+
export {};
|
|
300
320
|
//# sourceMappingURL=gdpr.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"gdpr.d.ts","sourceRoot":"","sources":["../../src/security/gdpr.ts"],"names":[],"mappings":"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"}
|