couchloop-eq-mcp 1.0.4 → 1.1.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/README.md +24 -11
- package/dist/developer/analyzers/bloat-detector.d.ts +89 -0
- package/dist/developer/analyzers/bloat-detector.d.ts.map +1 -0
- package/dist/developer/analyzers/bloat-detector.js +483 -0
- package/dist/developer/analyzers/bloat-detector.js.map +1 -0
- package/dist/developer/backup/auto-backup.d.ts +96 -0
- package/dist/developer/backup/auto-backup.d.ts.map +1 -0
- package/dist/developer/backup/auto-backup.js +346 -0
- package/dist/developer/backup/auto-backup.js.map +1 -0
- package/dist/developer/blockers/package-blocker.d.ts +33 -0
- package/dist/developer/blockers/package-blocker.d.ts.map +1 -0
- package/dist/developer/blockers/package-blocker.js +224 -0
- package/dist/developer/blockers/package-blocker.js.map +1 -0
- package/dist/developer/evaluators/ai-error-preventer.d.ts +54 -0
- package/dist/developer/evaluators/ai-error-preventer.d.ts.map +1 -0
- package/dist/developer/evaluators/ai-error-preventer.js +270 -0
- package/dist/developer/evaluators/ai-error-preventer.js.map +1 -0
- package/dist/developer/evaluators/build-context-detector.d.ts +44 -0
- package/dist/developer/evaluators/build-context-detector.d.ts.map +1 -0
- package/dist/developer/evaluators/build-context-detector.js +258 -0
- package/dist/developer/evaluators/build-context-detector.js.map +1 -0
- package/dist/developer/evaluators/package-evaluator.d.ts +37 -0
- package/dist/developer/evaluators/package-evaluator.d.ts.map +1 -0
- package/dist/developer/evaluators/package-evaluator.js +278 -0
- package/dist/developer/evaluators/package-evaluator.js.map +1 -0
- package/dist/developer/guards/file-guardian.d.ts +79 -0
- package/dist/developer/guards/file-guardian.d.ts.map +1 -0
- package/dist/developer/guards/file-guardian.js +309 -0
- package/dist/developer/guards/file-guardian.js.map +1 -0
- package/dist/developer/managers/context-manager.d.ts +61 -0
- package/dist/developer/managers/context-manager.d.ts.map +1 -0
- package/dist/developer/managers/context-manager.js +302 -0
- package/dist/developer/managers/context-manager.js.map +1 -0
- package/dist/developer/metrics/complexity-calculator.d.ts +52 -0
- package/dist/developer/metrics/complexity-calculator.d.ts.map +1 -0
- package/dist/developer/metrics/complexity-calculator.js +259 -0
- package/dist/developer/metrics/complexity-calculator.js.map +1 -0
- package/dist/developer/reports/review-summary.d.ts +49 -0
- package/dist/developer/reports/review-summary.d.ts.map +1 -0
- package/dist/developer/reports/review-summary.js +249 -0
- package/dist/developer/reports/review-summary.js.map +1 -0
- package/dist/developer/scanners/review-assistant.d.ts +41 -0
- package/dist/developer/scanners/review-assistant.d.ts.map +1 -0
- package/dist/developer/scanners/review-assistant.js +374 -0
- package/dist/developer/scanners/review-assistant.js.map +1 -0
- package/dist/developer/scanners/secret-scanner.d.ts +66 -0
- package/dist/developer/scanners/secret-scanner.d.ts.map +1 -0
- package/dist/developer/scanners/secret-scanner.js +287 -0
- package/dist/developer/scanners/secret-scanner.js.map +1 -0
- package/dist/developer/scanners/sql-injection-detector.d.ts +54 -0
- package/dist/developer/scanners/sql-injection-detector.d.ts.map +1 -0
- package/dist/developer/scanners/sql-injection-detector.js +174 -0
- package/dist/developer/scanners/sql-injection-detector.js.map +1 -0
- package/dist/developer/scanners/xss-detector.d.ts +60 -0
- package/dist/developer/scanners/xss-detector.d.ts.map +1 -0
- package/dist/developer/scanners/xss-detector.js +229 -0
- package/dist/developer/scanners/xss-detector.js.map +1 -0
- package/dist/developer/types/ai-errors.d.ts +34 -0
- package/dist/developer/types/ai-errors.d.ts.map +1 -0
- package/dist/developer/types/ai-errors.js +271 -0
- package/dist/developer/types/ai-errors.js.map +1 -0
- package/dist/developer/types/package.d.ts +32 -0
- package/dist/developer/types/package.d.ts.map +1 -0
- package/dist/developer/types/package.js +5 -0
- package/dist/developer/types/package.js.map +1 -0
- package/dist/developer/updaters/dependency-updater.d.ts +102 -0
- package/dist/developer/updaters/dependency-updater.d.ts.map +1 -0
- package/dist/developer/updaters/dependency-updater.js +472 -0
- package/dist/developer/updaters/dependency-updater.js.map +1 -0
- package/dist/developer/validators/cargo.d.ts +14 -0
- package/dist/developer/validators/cargo.d.ts.map +1 -0
- package/dist/developer/validators/cargo.js +132 -0
- package/dist/developer/validators/cargo.js.map +1 -0
- package/dist/developer/validators/gem.d.ts +14 -0
- package/dist/developer/validators/gem.d.ts.map +1 -0
- package/dist/developer/validators/gem.js +85 -0
- package/dist/developer/validators/gem.js.map +1 -0
- package/dist/developer/validators/go.d.ts +14 -0
- package/dist/developer/validators/go.d.ts.map +1 -0
- package/dist/developer/validators/go.js +138 -0
- package/dist/developer/validators/go.js.map +1 -0
- package/dist/developer/validators/maven.d.ts +14 -0
- package/dist/developer/validators/maven.d.ts.map +1 -0
- package/dist/developer/validators/maven.js +99 -0
- package/dist/developer/validators/maven.js.map +1 -0
- package/dist/developer/validators/npm.d.ts +14 -0
- package/dist/developer/validators/npm.d.ts.map +1 -0
- package/dist/developer/validators/npm.js +96 -0
- package/dist/developer/validators/npm.js.map +1 -0
- package/dist/developer/validators/nuget.d.ts +15 -0
- package/dist/developer/validators/nuget.d.ts.map +1 -0
- package/dist/developer/validators/nuget.js +107 -0
- package/dist/developer/validators/nuget.js.map +1 -0
- package/dist/developer/validators/pypi.d.ts +14 -0
- package/dist/developer/validators/pypi.d.ts.map +1 -0
- package/dist/developer/validators/pypi.js +118 -0
- package/dist/developer/validators/pypi.js.map +1 -0
- package/dist/developer/validators/registry-manager.d.ts +37 -0
- package/dist/developer/validators/registry-manager.d.ts.map +1 -0
- package/dist/developer/validators/registry-manager.js +89 -0
- package/dist/developer/validators/registry-manager.js.map +1 -0
- package/dist/developer/validators/version-checker.d.ts +145 -0
- package/dist/developer/validators/version-checker.d.ts.map +1 -0
- package/dist/developer/validators/version-checker.js +529 -0
- package/dist/developer/validators/version-checker.js.map +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/middleware/auth.d.ts +7 -9
- package/dist/server/middleware/auth.d.ts.map +1 -1
- package/dist/server/middleware/auth.js.map +1 -1
- package/dist/tools/check-versions.d.ts +100 -0
- package/dist/tools/check-versions.d.ts.map +1 -0
- package/dist/tools/check-versions.js +328 -0
- package/dist/tools/check-versions.js.map +1 -0
- package/dist/tools/detect-code-smell.d.ts +9 -0
- package/dist/tools/detect-code-smell.d.ts.map +1 -0
- package/dist/tools/detect-code-smell.js +231 -0
- package/dist/tools/detect-code-smell.js.map +1 -0
- package/dist/tools/index.d.ts +471 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +178 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/journey.js +1 -1
- package/dist/tools/journey.js.map +1 -1
- package/dist/tools/pre-review-code.d.ts +71 -0
- package/dist/tools/pre-review-code.d.ts.map +1 -0
- package/dist/tools/pre-review-code.js +159 -0
- package/dist/tools/pre-review-code.js.map +1 -0
- package/dist/tools/preserve-context.d.ts +27 -0
- package/dist/tools/preserve-context.d.ts.map +1 -0
- package/dist/tools/preserve-context.js +98 -0
- package/dist/tools/preserve-context.js.map +1 -0
- package/dist/tools/protect-files.d.ts +224 -0
- package/dist/tools/protect-files.d.ts.map +1 -0
- package/dist/tools/protect-files.js +286 -0
- package/dist/tools/protect-files.js.map +1 -0
- package/dist/tools/scan-security.d.ts +38 -0
- package/dist/tools/scan-security.d.ts.map +1 -0
- package/dist/tools/scan-security.js +237 -0
- package/dist/tools/scan-security.js.map +1 -0
- package/dist/tools/validate_packages.d.ts +8 -0
- package/dist/tools/validate_packages.d.ts.map +1 -0
- package/dist/tools/validate_packages.js +159 -0
- package/dist/tools/validate_packages.js.map +1 -0
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +1 -2
- package/dist/types/auth.js.map +1 -1
- package/dist/types/context.d.ts +46 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +17 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/file-protection.d.ts +50 -0
- package/dist/types/file-protection.d.ts.map +1 -0
- package/dist/types/file-protection.js +9 -0
- package/dist/types/file-protection.js.map +1 -0
- package/dist/utils/errorHandler.d.ts.map +1 -1
- package/dist/utils/errorHandler.js +2 -1
- package/dist/utils/errorHandler.js.map +1 -1
- package/package.json +30 -4
- package/dist/db/migrate.d.ts +0 -4
- package/dist/db/migrate.d.ts.map +0 -1
- package/dist/db/migrate.js +0 -34
- package/dist/db/migrate.js.map +0 -1
- package/dist/db/migrations/schema.d.ts +0 -1074
- package/dist/db/migrations/schema.d.ts.map +0 -1
- package/dist/db/migrations/schema.js +0 -160
- package/dist/db/migrations/schema.js.map +0 -1
- package/dist/db/schema.d.ts +0 -1576
- package/dist/db/schema.d.ts.map +0 -1
- package/dist/db/schema.js +0 -204
- package/dist/db/schema.js.map +0 -1
- package/dist/db/seed.d.ts +0 -4
- package/dist/db/seed.d.ts.map +0 -1
- package/dist/db/seed.js +0 -57
- package/dist/db/seed.js.map +0 -1
- package/dist/db/seedOAuth.d.ts +0 -4
- package/dist/db/seedOAuth.d.ts.map +0 -1
- package/dist/db/seedOAuth.js +0 -76
- package/dist/db/seedOAuth.js.map +0 -1
- package/dist/governance/config.d.ts +0 -66
- package/dist/governance/config.d.ts.map +0 -1
- package/dist/governance/config.js +0 -238
- package/dist/governance/config.js.map +0 -1
- package/dist/governance/detectors/hallucination.d.ts +0 -61
- package/dist/governance/detectors/hallucination.d.ts.map +0 -1
- package/dist/governance/detectors/hallucination.js +0 -338
- package/dist/governance/detectors/hallucination.js.map +0 -1
- package/dist/governance/detectors/inconsistency.d.ts +0 -99
- package/dist/governance/detectors/inconsistency.d.ts.map +0 -1
- package/dist/governance/detectors/inconsistency.js +0 -548
- package/dist/governance/detectors/inconsistency.js.map +0 -1
- package/dist/governance/detectors/toneDrift.d.ts +0 -63
- package/dist/governance/detectors/toneDrift.d.ts.map +0 -1
- package/dist/governance/detectors/toneDrift.js +0 -421
- package/dist/governance/detectors/toneDrift.js.map +0 -1
- package/dist/governance/detectors/unsafeReasoning.d.ts +0 -54
- package/dist/governance/detectors/unsafeReasoning.d.ts.map +0 -1
- package/dist/governance/detectors/unsafeReasoning.js +0 -473
- package/dist/governance/detectors/unsafeReasoning.js.map +0 -1
- package/dist/governance/evaluationEngine.d.ts +0 -112
- package/dist/governance/evaluationEngine.d.ts.map +0 -1
- package/dist/governance/evaluationEngine.js +0 -265
- package/dist/governance/evaluationEngine.js.map +0 -1
- package/dist/governance/intervention.d.ts +0 -81
- package/dist/governance/intervention.d.ts.map +0 -1
- package/dist/governance/intervention.js +0 -405
- package/dist/governance/intervention.js.map +0 -1
- package/dist/server/oauth/anomalyDetection.d.ts +0 -146
- package/dist/server/oauth/anomalyDetection.d.ts.map +0 -1
- package/dist/server/oauth/anomalyDetection.js +0 -405
- package/dist/server/oauth/anomalyDetection.js.map +0 -1
- package/dist/server/oauth/authServer.d.ts +0 -61
- package/dist/server/oauth/authServer.d.ts.map +0 -1
- package/dist/server/oauth/authServer.js +0 -283
- package/dist/server/oauth/authServer.js.map +0 -1
- package/dist/server/oauth/dpop.d.ts +0 -135
- package/dist/server/oauth/dpop.d.ts.map +0 -1
- package/dist/server/oauth/dpop.js +0 -338
- package/dist/server/oauth/dpop.js.map +0 -1
- package/dist/server/oauth/gdpr/consent.d.ts +0 -173
- package/dist/server/oauth/gdpr/consent.d.ts.map +0 -1
- package/dist/server/oauth/gdpr/consent.js +0 -388
- package/dist/server/oauth/gdpr/consent.js.map +0 -1
- package/dist/server/oauth/gdpr/dataPortability.d.ts +0 -214
- package/dist/server/oauth/gdpr/dataPortability.d.ts.map +0 -1
- package/dist/server/oauth/gdpr/dataPortability.js +0 -486
- package/dist/server/oauth/gdpr/dataPortability.js.map +0 -1
- package/dist/server/oauth/gdpr/index.d.ts +0 -103
- package/dist/server/oauth/gdpr/index.d.ts.map +0 -1
- package/dist/server/oauth/gdpr/index.js +0 -273
- package/dist/server/oauth/gdpr/index.js.map +0 -1
- package/dist/server/oauth/gdpr/rightToErasure.d.ts +0 -184
- package/dist/server/oauth/gdpr/rightToErasure.d.ts.map +0 -1
- package/dist/server/oauth/gdpr/rightToErasure.js +0 -527
- package/dist/server/oauth/gdpr/rightToErasure.js.map +0 -1
- package/dist/server/oauth/monitoring/securityMonitor.d.ts +0 -218
- package/dist/server/oauth/monitoring/securityMonitor.d.ts.map +0 -1
- package/dist/server/oauth/monitoring/securityMonitor.js +0 -615
- package/dist/server/oauth/monitoring/securityMonitor.js.map +0 -1
- package/dist/server/oauth/pkce.d.ts +0 -61
- package/dist/server/oauth/pkce.d.ts.map +0 -1
- package/dist/server/oauth/pkce.js +0 -157
- package/dist/server/oauth/pkce.js.map +0 -1
- package/dist/server/oauth/providers/base.d.ts +0 -147
- package/dist/server/oauth/providers/base.d.ts.map +0 -1
- package/dist/server/oauth/providers/base.js +0 -312
- package/dist/server/oauth/providers/base.js.map +0 -1
- package/dist/server/oauth/providers/github.d.ts +0 -55
- package/dist/server/oauth/providers/github.d.ts.map +0 -1
- package/dist/server/oauth/providers/github.js +0 -225
- package/dist/server/oauth/providers/github.js.map +0 -1
- package/dist/server/oauth/providers/google.d.ts +0 -49
- package/dist/server/oauth/providers/google.d.ts.map +0 -1
- package/dist/server/oauth/providers/google.js +0 -153
- package/dist/server/oauth/providers/google.js.map +0 -1
- package/dist/server/oauth/providers/index.d.ts +0 -9
- package/dist/server/oauth/providers/index.d.ts.map +0 -1
- package/dist/server/oauth/providers/index.js +0 -24
- package/dist/server/oauth/providers/index.js.map +0 -1
- package/dist/server/oauth/refreshTokenRotation.d.ts +0 -114
- package/dist/server/oauth/refreshTokenRotation.d.ts.map +0 -1
- package/dist/server/oauth/refreshTokenRotation.js +0 -344
- package/dist/server/oauth/refreshTokenRotation.js.map +0 -1
- package/dist/server/oauth/security.d.ts +0 -101
- package/dist/server/oauth/security.d.ts.map +0 -1
- package/dist/server/oauth/security.js +0 -268
- package/dist/server/oauth/security.js.map +0 -1
- package/dist/server/oauth/tokenEncryption.d.ts +0 -80
- package/dist/server/oauth/tokenEncryption.d.ts.map +0 -1
- package/dist/server/oauth/tokenEncryption.js +0 -218
- package/dist/server/oauth/tokenEncryption.js.map +0 -1
- package/dist/tools/sendMessage-complex-backup.d.ts +0 -6
- package/dist/tools/sendMessage-complex-backup.d.ts.map +0 -1
- package/dist/tools/sendMessage-complex-backup.js +0 -545
- package/dist/tools/sendMessage-complex-backup.js.map +0 -1
- package/dist/tools/sendMessage-revised.d.ts +0 -11
- package/dist/tools/sendMessage-revised.d.ts.map +0 -1
- package/dist/tools/sendMessage-revised.js +0 -429
- package/dist/tools/sendMessage-revised.js.map +0 -1
- package/dist/tools/sendMessage-truly-simple.d.ts +0 -8
- package/dist/tools/sendMessage-truly-simple.d.ts.map +0 -1
- package/dist/tools/sendMessage-truly-simple.js +0 -299
- package/dist/tools/sendMessage-truly-simple.js.map +0 -1
|
@@ -1,388 +0,0 @@
|
|
|
1
|
-
import { logger } from '../../../utils/logger.js';
|
|
2
|
-
import { createHash } from 'crypto';
|
|
3
|
-
/**
|
|
4
|
-
* Consent types as per GDPR Article 6
|
|
5
|
-
*/
|
|
6
|
-
export var ConsentType;
|
|
7
|
-
(function (ConsentType) {
|
|
8
|
-
// Lawful basis for processing
|
|
9
|
-
ConsentType["NECESSARY"] = "necessary";
|
|
10
|
-
ConsentType["LEGITIMATE_INTEREST"] = "legitimate";
|
|
11
|
-
ConsentType["CONSENT"] = "consent";
|
|
12
|
-
ConsentType["LEGAL_OBLIGATION"] = "legal";
|
|
13
|
-
ConsentType["VITAL_INTERESTS"] = "vital";
|
|
14
|
-
ConsentType["PUBLIC_TASK"] = "public";
|
|
15
|
-
})(ConsentType || (ConsentType = {}));
|
|
16
|
-
/**
|
|
17
|
-
* Processing purposes requiring consent
|
|
18
|
-
*/
|
|
19
|
-
export var ProcessingPurpose;
|
|
20
|
-
(function (ProcessingPurpose) {
|
|
21
|
-
ProcessingPurpose["AUTHENTICATION"] = "authentication";
|
|
22
|
-
ProcessingPurpose["PROFILE_DATA"] = "profile_data";
|
|
23
|
-
ProcessingPurpose["ANALYTICS"] = "analytics";
|
|
24
|
-
ProcessingPurpose["MARKETING"] = "marketing";
|
|
25
|
-
ProcessingPurpose["THIRD_PARTY_SHARING"] = "third_party";
|
|
26
|
-
ProcessingPurpose["DATA_RETENTION"] = "data_retention";
|
|
27
|
-
ProcessingPurpose["COOKIES"] = "cookies";
|
|
28
|
-
ProcessingPurpose["LOCATION"] = "location";
|
|
29
|
-
ProcessingPurpose["BIOMETRIC"] = "biometric";
|
|
30
|
-
ProcessingPurpose["HEALTH_DATA"] = "health_data";
|
|
31
|
-
})(ProcessingPurpose || (ProcessingPurpose = {}));
|
|
32
|
-
/**
|
|
33
|
-
* GDPR Consent Manager
|
|
34
|
-
* Manages user consent per GDPR Articles 6, 7, and 8
|
|
35
|
-
*/
|
|
36
|
-
export class ConsentManager {
|
|
37
|
-
CONSENT_VERSION = '2.0.0';
|
|
38
|
-
PRIVACY_POLICY_VERSION = '1.5.0';
|
|
39
|
-
MINIMUM_AGE_EU = 16;
|
|
40
|
-
MINIMUM_AGE_US = 13;
|
|
41
|
-
CONSENT_EXPIRY_DAYS = 365; // Re-consent annually
|
|
42
|
-
// In-memory cache for frequently accessed consents
|
|
43
|
-
consentCache = new Map();
|
|
44
|
-
CACHE_TTL = 300000; // 5 minutes
|
|
45
|
-
/**
|
|
46
|
-
* Record user consent
|
|
47
|
-
*/
|
|
48
|
-
async recordConsent(userId, purpose, granted, options) {
|
|
49
|
-
const consentId = this.generateConsentId(userId, purpose);
|
|
50
|
-
const now = new Date();
|
|
51
|
-
const record = {
|
|
52
|
-
id: consentId,
|
|
53
|
-
userId,
|
|
54
|
-
purpose,
|
|
55
|
-
lawfulBasis: this.determineLawfulBasis(purpose),
|
|
56
|
-
granted,
|
|
57
|
-
grantedAt: granted ? now : undefined,
|
|
58
|
-
revokedAt: !granted ? now : undefined,
|
|
59
|
-
expiresAt: granted && options?.expiryDays
|
|
60
|
-
? new Date(now.getTime() + options.expiryDays * 86400000)
|
|
61
|
-
: new Date(now.getTime() + this.CONSENT_EXPIRY_DAYS * 86400000),
|
|
62
|
-
version: this.CONSENT_VERSION,
|
|
63
|
-
ipAddress: options?.ipAddress,
|
|
64
|
-
userAgent: options?.userAgent,
|
|
65
|
-
parentalConsent: options?.parentalConsent,
|
|
66
|
-
metadata: options?.metadata || {
|
|
67
|
-
consentText: this.getConsentText(purpose),
|
|
68
|
-
privacyPolicyVersion: this.PRIVACY_POLICY_VERSION,
|
|
69
|
-
termsVersion: '1.0.0',
|
|
70
|
-
language: 'en',
|
|
71
|
-
channel: 'web',
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
// Store in database
|
|
75
|
-
await this.storeConsentRecord(record);
|
|
76
|
-
// Invalidate cache
|
|
77
|
-
this.consentCache.delete(userId);
|
|
78
|
-
// Log consent event for audit
|
|
79
|
-
logger.info(`Consent ${granted ? 'granted' : 'revoked'} for user ${userId}, purpose: ${purpose}`);
|
|
80
|
-
// Send confirmation if required
|
|
81
|
-
if (this.requiresConfirmation(purpose)) {
|
|
82
|
-
await this.sendConsentConfirmation(userId, record);
|
|
83
|
-
}
|
|
84
|
-
return record;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Bulk consent update
|
|
88
|
-
*/
|
|
89
|
-
async updateBulkConsent(userId, consents, context) {
|
|
90
|
-
const records = [];
|
|
91
|
-
for (const [purpose, granted] of consents) {
|
|
92
|
-
const record = await this.recordConsent(userId, purpose, granted, context);
|
|
93
|
-
records.push(record);
|
|
94
|
-
}
|
|
95
|
-
return this.getUserConsents(userId);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Check if user has valid consent for purpose
|
|
99
|
-
*/
|
|
100
|
-
async hasValidConsent(userId, purpose) {
|
|
101
|
-
// Check cache first
|
|
102
|
-
const cached = this.consentCache.get(userId);
|
|
103
|
-
if (cached && Date.now() - cached.lastUpdated.getTime() < this.CACHE_TTL) {
|
|
104
|
-
const consent = cached.consents.get(purpose);
|
|
105
|
-
if (consent) {
|
|
106
|
-
return this.isConsentValid(consent);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// Some purposes don't require explicit consent
|
|
110
|
-
const lawfulBasis = this.determineLawfulBasis(purpose);
|
|
111
|
-
if (lawfulBasis === ConsentType.NECESSARY ||
|
|
112
|
-
lawfulBasis === ConsentType.LEGITIMATE_INTEREST) {
|
|
113
|
-
return true; // These don't require explicit consent
|
|
114
|
-
}
|
|
115
|
-
// Load from database
|
|
116
|
-
const consents = await this.getUserConsents(userId);
|
|
117
|
-
const consent = consents.consents.get(purpose);
|
|
118
|
-
if (!consent) {
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
return this.isConsentValid(consent);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Get all user consents
|
|
125
|
-
*/
|
|
126
|
-
async getUserConsents(userId) {
|
|
127
|
-
// Check cache
|
|
128
|
-
const cached = this.consentCache.get(userId);
|
|
129
|
-
if (cached && Date.now() - cached.lastUpdated.getTime() < this.CACHE_TTL) {
|
|
130
|
-
return cached;
|
|
131
|
-
}
|
|
132
|
-
// Load from database
|
|
133
|
-
const records = await this.loadUserConsents(userId);
|
|
134
|
-
const preferences = {
|
|
135
|
-
userId,
|
|
136
|
-
consents: new Map(records.map(r => [r.purpose, r])),
|
|
137
|
-
globalOptOut: false, // Would check database
|
|
138
|
-
communicationPreferences: {
|
|
139
|
-
email: true,
|
|
140
|
-
sms: false,
|
|
141
|
-
push: true,
|
|
142
|
-
phone: false,
|
|
143
|
-
},
|
|
144
|
-
lastUpdated: new Date(),
|
|
145
|
-
};
|
|
146
|
-
// Cache the result
|
|
147
|
-
this.consentCache.set(userId, preferences);
|
|
148
|
-
return preferences;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Withdraw consent
|
|
152
|
-
*/
|
|
153
|
-
async withdrawConsent(userId, purpose, reason) {
|
|
154
|
-
await this.recordConsent(userId, purpose, false, {
|
|
155
|
-
metadata: {
|
|
156
|
-
consentText: `Consent withdrawn: ${reason || 'User request'}`,
|
|
157
|
-
privacyPolicyVersion: this.PRIVACY_POLICY_VERSION,
|
|
158
|
-
termsVersion: '1.0.0',
|
|
159
|
-
language: 'en',
|
|
160
|
-
channel: 'web',
|
|
161
|
-
},
|
|
162
|
-
});
|
|
163
|
-
// Trigger data deletion if required
|
|
164
|
-
if (this.requiresDataDeletion(purpose)) {
|
|
165
|
-
await this.triggerDataDeletion(userId, purpose);
|
|
166
|
-
}
|
|
167
|
-
logger.info(`Consent withdrawn for user ${userId}, purpose: ${purpose}`);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Withdraw all consents (global opt-out)
|
|
171
|
-
*/
|
|
172
|
-
async withdrawAllConsents(userId) {
|
|
173
|
-
const purposes = Object.values(ProcessingPurpose);
|
|
174
|
-
for (const purpose of purposes) {
|
|
175
|
-
// Skip necessary processing
|
|
176
|
-
if (this.determineLawfulBasis(purpose) !== ConsentType.NECESSARY) {
|
|
177
|
-
await this.withdrawConsent(userId, purpose, 'Global opt-out');
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
logger.info(`All consents withdrawn for user ${userId}`);
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Check parental consent requirement
|
|
184
|
-
*/
|
|
185
|
-
async requiresParentalConsent(birthDate, country) {
|
|
186
|
-
const age = this.calculateAge(birthDate);
|
|
187
|
-
// EU countries require parental consent under 16
|
|
188
|
-
if (this.isEUCountry(country)) {
|
|
189
|
-
return age < this.MINIMUM_AGE_EU;
|
|
190
|
-
}
|
|
191
|
-
// US requires parental consent under 13 (COPPA)
|
|
192
|
-
if (country === 'US') {
|
|
193
|
-
return age < this.MINIMUM_AGE_US;
|
|
194
|
-
}
|
|
195
|
-
// Default to EU standard
|
|
196
|
-
return age < this.MINIMUM_AGE_EU;
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Verify parental consent
|
|
200
|
-
*/
|
|
201
|
-
async verifyParentalConsent(childUserId, parentEmail, verificationCode) {
|
|
202
|
-
// In production, this would verify the parent's identity
|
|
203
|
-
// and their authorization to consent for the child
|
|
204
|
-
const verified = await this.checkParentalVerification(parentEmail, verificationCode);
|
|
205
|
-
if (verified) {
|
|
206
|
-
// Update all child's consents with parental approval
|
|
207
|
-
const consents = await this.getUserConsents(childUserId);
|
|
208
|
-
for (const [purpose, record] of consents.consents) {
|
|
209
|
-
record.parentalConsent = true;
|
|
210
|
-
await this.storeConsentRecord(record);
|
|
211
|
-
}
|
|
212
|
-
logger.info(`Parental consent verified for child user ${childUserId}`);
|
|
213
|
-
return true;
|
|
214
|
-
}
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* Generate consent request for special category data
|
|
219
|
-
*/
|
|
220
|
-
async requestSpecialCategoryConsent(userId, dataTypes, justification) {
|
|
221
|
-
// Special category data requires explicit consent
|
|
222
|
-
// This includes: racial/ethnic origin, political opinions,
|
|
223
|
-
// religious beliefs, trade union membership, genetic data,
|
|
224
|
-
// biometric data, health data, sex life, sexual orientation
|
|
225
|
-
const requestId = crypto.randomUUID();
|
|
226
|
-
await this.storeSpecialConsentRequest({
|
|
227
|
-
requestId,
|
|
228
|
-
userId,
|
|
229
|
-
dataTypes,
|
|
230
|
-
justification,
|
|
231
|
-
status: 'pending',
|
|
232
|
-
createdAt: new Date(),
|
|
233
|
-
});
|
|
234
|
-
logger.info(`Special category consent requested for user ${userId}: ${dataTypes.join(', ')}`);
|
|
235
|
-
return requestId;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Export consent history for data portability
|
|
239
|
-
*/
|
|
240
|
-
async exportConsentHistory(userId) {
|
|
241
|
-
const consents = await this.loadAllUserConsentHistory(userId);
|
|
242
|
-
const preferences = await this.getUserConsents(userId);
|
|
243
|
-
return {
|
|
244
|
-
consents,
|
|
245
|
-
preferences,
|
|
246
|
-
exportDate: new Date(),
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Check consent validity
|
|
251
|
-
*/
|
|
252
|
-
isConsentValid(consent) {
|
|
253
|
-
if (!consent.granted) {
|
|
254
|
-
return false;
|
|
255
|
-
}
|
|
256
|
-
if (consent.revokedAt) {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
if (consent.expiresAt && new Date() > consent.expiresAt) {
|
|
260
|
-
return false;
|
|
261
|
-
}
|
|
262
|
-
return true;
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Determine lawful basis for processing purpose
|
|
266
|
-
*/
|
|
267
|
-
determineLawfulBasis(purpose) {
|
|
268
|
-
switch (purpose) {
|
|
269
|
-
case ProcessingPurpose.AUTHENTICATION:
|
|
270
|
-
case ProcessingPurpose.PROFILE_DATA:
|
|
271
|
-
return ConsentType.NECESSARY; // Necessary for service
|
|
272
|
-
case ProcessingPurpose.ANALYTICS:
|
|
273
|
-
return ConsentType.LEGITIMATE_INTEREST;
|
|
274
|
-
case ProcessingPurpose.MARKETING:
|
|
275
|
-
case ProcessingPurpose.THIRD_PARTY_SHARING:
|
|
276
|
-
case ProcessingPurpose.COOKIES:
|
|
277
|
-
case ProcessingPurpose.LOCATION:
|
|
278
|
-
case ProcessingPurpose.BIOMETRIC:
|
|
279
|
-
case ProcessingPurpose.HEALTH_DATA:
|
|
280
|
-
return ConsentType.CONSENT; // Requires explicit consent
|
|
281
|
-
default:
|
|
282
|
-
return ConsentType.CONSENT;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Get consent text for purpose
|
|
287
|
-
*/
|
|
288
|
-
getConsentText(purpose) {
|
|
289
|
-
const texts = {
|
|
290
|
-
[ProcessingPurpose.AUTHENTICATION]: 'Process your data for authentication and security',
|
|
291
|
-
[ProcessingPurpose.PROFILE_DATA]: 'Store and process your profile information',
|
|
292
|
-
[ProcessingPurpose.ANALYTICS]: 'Analyze usage patterns to improve our service',
|
|
293
|
-
[ProcessingPurpose.MARKETING]: 'Send you marketing communications and offers',
|
|
294
|
-
[ProcessingPurpose.THIRD_PARTY_SHARING]: 'Share your data with third-party partners',
|
|
295
|
-
[ProcessingPurpose.DATA_RETENTION]: 'Retain your data for the specified period',
|
|
296
|
-
[ProcessingPurpose.COOKIES]: 'Use cookies and similar tracking technologies',
|
|
297
|
-
[ProcessingPurpose.LOCATION]: 'Access and process your location data',
|
|
298
|
-
[ProcessingPurpose.BIOMETRIC]: 'Process your biometric data for identification',
|
|
299
|
-
[ProcessingPurpose.HEALTH_DATA]: 'Process health-related information',
|
|
300
|
-
};
|
|
301
|
-
return texts[purpose] || 'Process your data for the specified purpose';
|
|
302
|
-
}
|
|
303
|
-
/**
|
|
304
|
-
* Check if purpose requires confirmation
|
|
305
|
-
*/
|
|
306
|
-
requiresConfirmation(purpose) {
|
|
307
|
-
return [
|
|
308
|
-
ProcessingPurpose.MARKETING,
|
|
309
|
-
ProcessingPurpose.THIRD_PARTY_SHARING,
|
|
310
|
-
ProcessingPurpose.BIOMETRIC,
|
|
311
|
-
ProcessingPurpose.HEALTH_DATA,
|
|
312
|
-
].includes(purpose);
|
|
313
|
-
}
|
|
314
|
-
/**
|
|
315
|
-
* Check if withdrawal requires data deletion
|
|
316
|
-
*/
|
|
317
|
-
requiresDataDeletion(purpose) {
|
|
318
|
-
return [
|
|
319
|
-
ProcessingPurpose.PROFILE_DATA,
|
|
320
|
-
ProcessingPurpose.THIRD_PARTY_SHARING,
|
|
321
|
-
ProcessingPurpose.BIOMETRIC,
|
|
322
|
-
ProcessingPurpose.HEALTH_DATA,
|
|
323
|
-
].includes(purpose);
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Generate consent ID
|
|
327
|
-
*/
|
|
328
|
-
generateConsentId(userId, purpose) {
|
|
329
|
-
const hash = createHash('sha256')
|
|
330
|
-
.update(`${userId}:${purpose}:${Date.now()}`)
|
|
331
|
-
.digest('hex');
|
|
332
|
-
return `consent_${hash.substring(0, 16)}`;
|
|
333
|
-
}
|
|
334
|
-
/**
|
|
335
|
-
* Calculate age from birthdate
|
|
336
|
-
*/
|
|
337
|
-
calculateAge(birthDate) {
|
|
338
|
-
const today = new Date();
|
|
339
|
-
let age = today.getFullYear() - birthDate.getFullYear();
|
|
340
|
-
const monthDiff = today.getMonth() - birthDate.getMonth();
|
|
341
|
-
if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birthDate.getDate())) {
|
|
342
|
-
age--;
|
|
343
|
-
}
|
|
344
|
-
return age;
|
|
345
|
-
}
|
|
346
|
-
/**
|
|
347
|
-
* Check if country is in EU
|
|
348
|
-
*/
|
|
349
|
-
isEUCountry(country) {
|
|
350
|
-
const euCountries = [
|
|
351
|
-
'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR',
|
|
352
|
-
'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL',
|
|
353
|
-
'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE',
|
|
354
|
-
];
|
|
355
|
-
return euCountries.includes(country);
|
|
356
|
-
}
|
|
357
|
-
// Database operations (would be implemented with actual DB)
|
|
358
|
-
async storeConsentRecord(record) {
|
|
359
|
-
// Store in database
|
|
360
|
-
logger.debug(`Storing consent record: ${record.id}`);
|
|
361
|
-
}
|
|
362
|
-
async loadUserConsents(userId) {
|
|
363
|
-
// Load from database
|
|
364
|
-
return [];
|
|
365
|
-
}
|
|
366
|
-
async loadAllUserConsentHistory(userId) {
|
|
367
|
-
// Load all historical records
|
|
368
|
-
return [];
|
|
369
|
-
}
|
|
370
|
-
async storeSpecialConsentRequest(request) {
|
|
371
|
-
// Store special consent request
|
|
372
|
-
}
|
|
373
|
-
async checkParentalVerification(email, code) {
|
|
374
|
-
// Verify parent identity
|
|
375
|
-
return true; // Mock
|
|
376
|
-
}
|
|
377
|
-
async triggerDataDeletion(userId, purpose) {
|
|
378
|
-
// Trigger data deletion workflow
|
|
379
|
-
logger.info(`Data deletion triggered for user ${userId}, purpose: ${purpose}`);
|
|
380
|
-
}
|
|
381
|
-
async sendConsentConfirmation(userId, record) {
|
|
382
|
-
// Send email confirmation
|
|
383
|
-
logger.info(`Consent confirmation sent to user ${userId}`);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
// Export singleton instance
|
|
387
|
-
export const consentManager = new ConsentManager();
|
|
388
|
-
//# sourceMappingURL=consent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../../../src/server/oauth/gdpr/consent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data export format options
|
|
3
|
-
*/
|
|
4
|
-
export declare enum ExportFormat {
|
|
5
|
-
JSON = "json",
|
|
6
|
-
CSV = "csv",
|
|
7
|
-
XML = "xml",
|
|
8
|
-
PDF = "pdf",
|
|
9
|
-
ARCHIVE = "archive"
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Data categories for export
|
|
13
|
-
*/
|
|
14
|
-
export declare enum DataCategory {
|
|
15
|
-
PROFILE = "profile",
|
|
16
|
-
AUTHENTICATION = "authentication",
|
|
17
|
-
SESSIONS = "sessions",
|
|
18
|
-
INSIGHTS = "insights",
|
|
19
|
-
CONSENTS = "consents",
|
|
20
|
-
ACTIVITY_LOGS = "activity_logs",
|
|
21
|
-
COMMUNICATIONS = "communications",
|
|
22
|
-
PREFERENCES = "preferences",
|
|
23
|
-
THIRD_PARTY_DATA = "third_party",
|
|
24
|
-
DERIVED_DATA = "derived",
|
|
25
|
-
ALL = "all"
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Export request status
|
|
29
|
-
*/
|
|
30
|
-
export declare enum ExportStatus {
|
|
31
|
-
PENDING = "pending",
|
|
32
|
-
PROCESSING = "processing",
|
|
33
|
-
COMPLETED = "completed",
|
|
34
|
-
FAILED = "failed",
|
|
35
|
-
EXPIRED = "expired",
|
|
36
|
-
CANCELLED = "cancelled"
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Data export request
|
|
40
|
-
*/
|
|
41
|
-
export interface ExportRequest {
|
|
42
|
-
id: string;
|
|
43
|
-
userId: string;
|
|
44
|
-
requestedAt: Date;
|
|
45
|
-
requestedBy: string;
|
|
46
|
-
categories: DataCategory[];
|
|
47
|
-
format: ExportFormat;
|
|
48
|
-
status: ExportStatus;
|
|
49
|
-
completedAt?: Date;
|
|
50
|
-
expiresAt: Date;
|
|
51
|
-
downloadUrl?: string;
|
|
52
|
-
checksum?: string;
|
|
53
|
-
fileSize?: number;
|
|
54
|
-
encryptionKey?: string;
|
|
55
|
-
metadata?: {
|
|
56
|
-
ipAddress: string;
|
|
57
|
-
userAgent: string;
|
|
58
|
-
reason?: string;
|
|
59
|
-
includeDeleted: boolean;
|
|
60
|
-
dateRange?: {
|
|
61
|
-
start: Date;
|
|
62
|
-
end: Date;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* User data structure for export
|
|
68
|
-
*/
|
|
69
|
-
export interface UserDataExport {
|
|
70
|
-
exportVersion: string;
|
|
71
|
-
exportDate: Date;
|
|
72
|
-
userId: string;
|
|
73
|
-
profile: {
|
|
74
|
-
id: string;
|
|
75
|
-
email: string;
|
|
76
|
-
name?: string;
|
|
77
|
-
createdAt: Date;
|
|
78
|
-
lastActive?: Date;
|
|
79
|
-
metadata?: Record<string, any>;
|
|
80
|
-
};
|
|
81
|
-
authentication: {
|
|
82
|
-
providers: string[];
|
|
83
|
-
lastLogin?: Date;
|
|
84
|
-
mfaEnabled: boolean;
|
|
85
|
-
sessions: Array<{
|
|
86
|
-
id: string;
|
|
87
|
-
createdAt: Date;
|
|
88
|
-
expiresAt: Date;
|
|
89
|
-
ipAddress?: string;
|
|
90
|
-
userAgent?: string;
|
|
91
|
-
}>;
|
|
92
|
-
};
|
|
93
|
-
data: {
|
|
94
|
-
[category: string]: any[];
|
|
95
|
-
};
|
|
96
|
-
statistics: {
|
|
97
|
-
totalSessions: number;
|
|
98
|
-
totalInsights: number;
|
|
99
|
-
totalCheckpoints: number;
|
|
100
|
-
dataPointsExported: number;
|
|
101
|
-
};
|
|
102
|
-
legalNotice: string;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* GDPR Data Portability Manager
|
|
106
|
-
* Implements GDPR Article 20 - Right to data portability
|
|
107
|
-
*/
|
|
108
|
-
export declare class DataPortabilityManager {
|
|
109
|
-
private readonly EXPORT_VERSION;
|
|
110
|
-
private readonly EXPORT_EXPIRY_HOURS;
|
|
111
|
-
private readonly MAX_EXPORT_SIZE_MB;
|
|
112
|
-
private readonly CHUNK_SIZE;
|
|
113
|
-
private exportQueue;
|
|
114
|
-
/**
|
|
115
|
-
* Request data export
|
|
116
|
-
*/
|
|
117
|
-
requestExport(userId: string, categories?: DataCategory[], format?: ExportFormat, options?: {
|
|
118
|
-
requestedBy?: string;
|
|
119
|
-
reason?: string;
|
|
120
|
-
dateRange?: {
|
|
121
|
-
start: Date;
|
|
122
|
-
end: Date;
|
|
123
|
-
};
|
|
124
|
-
includeDeleted?: boolean;
|
|
125
|
-
encrypted?: boolean;
|
|
126
|
-
ipAddress?: string;
|
|
127
|
-
userAgent?: string;
|
|
128
|
-
}): Promise<ExportRequest>;
|
|
129
|
-
/**
|
|
130
|
-
* Process export asynchronously
|
|
131
|
-
*/
|
|
132
|
-
private processExportAsync;
|
|
133
|
-
/**
|
|
134
|
-
* Collect all user data for export
|
|
135
|
-
*/
|
|
136
|
-
private collectUserData;
|
|
137
|
-
/**
|
|
138
|
-
* Collect data for specific category
|
|
139
|
-
*/
|
|
140
|
-
private collectCategoryData;
|
|
141
|
-
/**
|
|
142
|
-
* Generate export file in specified format
|
|
143
|
-
*/
|
|
144
|
-
private generateExportFile;
|
|
145
|
-
/**
|
|
146
|
-
* Generate JSON export
|
|
147
|
-
*/
|
|
148
|
-
private generateJSONExport;
|
|
149
|
-
/**
|
|
150
|
-
* Generate CSV export (flattened data)
|
|
151
|
-
*/
|
|
152
|
-
private generateCSVExport;
|
|
153
|
-
/**
|
|
154
|
-
* Generate XML export
|
|
155
|
-
*/
|
|
156
|
-
private generateXMLExport;
|
|
157
|
-
/**
|
|
158
|
-
* Generate PDF export (human-readable)
|
|
159
|
-
*/
|
|
160
|
-
private generatePDFExport;
|
|
161
|
-
/**
|
|
162
|
-
* Generate archive with all formats
|
|
163
|
-
*/
|
|
164
|
-
private generateArchiveExport;
|
|
165
|
-
/**
|
|
166
|
-
* Import user data (for transfer between services)
|
|
167
|
-
*/
|
|
168
|
-
importUserData(importData: UserDataExport, options?: {
|
|
169
|
-
merge?: boolean;
|
|
170
|
-
validateSchema?: boolean;
|
|
171
|
-
skipExisting?: boolean;
|
|
172
|
-
}): Promise<{
|
|
173
|
-
success: boolean;
|
|
174
|
-
imported: number;
|
|
175
|
-
skipped: number;
|
|
176
|
-
errors: string[];
|
|
177
|
-
}>;
|
|
178
|
-
/**
|
|
179
|
-
* Get export status
|
|
180
|
-
*/
|
|
181
|
-
getExportStatus(exportId: string): Promise<ExportRequest | null>;
|
|
182
|
-
/**
|
|
183
|
-
* Cancel export request
|
|
184
|
-
*/
|
|
185
|
-
cancelExport(exportId: string, userId: string): Promise<boolean>;
|
|
186
|
-
/**
|
|
187
|
-
* Clean up expired exports
|
|
188
|
-
*/
|
|
189
|
-
cleanupExpiredExports(): Promise<number>;
|
|
190
|
-
private generateExportId;
|
|
191
|
-
private estimateDataSize;
|
|
192
|
-
private calculateChecksum;
|
|
193
|
-
private convertToCSV;
|
|
194
|
-
private convertToXML;
|
|
195
|
-
private generateLegalNotice;
|
|
196
|
-
private getUserProfile;
|
|
197
|
-
private getAuthenticationData;
|
|
198
|
-
private getDataRelationships;
|
|
199
|
-
private storeExportRequest;
|
|
200
|
-
private updateExportRequest;
|
|
201
|
-
private getActiveExport;
|
|
202
|
-
private uploadToStorage;
|
|
203
|
-
private deleteFromStorage;
|
|
204
|
-
private notifyExportComplete;
|
|
205
|
-
private notifyExportFailed;
|
|
206
|
-
private encryptExportFile;
|
|
207
|
-
private validateImportSchema;
|
|
208
|
-
private checkUserExists;
|
|
209
|
-
private importCategoryData;
|
|
210
|
-
private writeFile;
|
|
211
|
-
private readFile;
|
|
212
|
-
}
|
|
213
|
-
export declare const dataPortabilityManager: DataPortabilityManager;
|
|
214
|
-
//# sourceMappingURL=dataPortability.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dataPortability.d.ts","sourceRoot":"","sources":["../../../../src/server/oauth/gdpr/dataPortability.ts"],"names":[],"mappings":"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"}
|