summaryrefslogtreecommitdiff
path: root/types/policy.ts
diff options
context:
space:
mode:
Diffstat (limited to 'types/policy.ts')
-rw-r--r--types/policy.ts48
1 files changed, 48 insertions, 0 deletions
diff --git a/types/policy.ts b/types/policy.ts
new file mode 100644
index 00000000..fbe0bb81
--- /dev/null
+++ b/types/policy.ts
@@ -0,0 +1,48 @@
+export interface PolicyData {
+ id: number
+ policyType: 'privacy_policy' | 'terms_of_service'
+ version: string
+ content: string
+ effectiveDate: string
+ isCurrent: boolean
+ createdAt: string
+ }
+
+ export interface PolicyVersions {
+ privacy_policy: PolicyData
+ terms_of_service: PolicyData
+ }
+
+ export interface ConsentData {
+ privacy: boolean
+ terms: boolean
+ marketing: boolean
+ }
+
+ export interface ConsentRecord {
+ id: number
+ userId: number
+ consentType: 'privacy_policy' | 'terms_of_service' | 'marketing' | 'optional'
+ consentStatus: boolean
+ policyVersion: string
+ consentedAt: string
+ ipAddress?: string
+ userAgent?: string
+ revokedAt?: string
+ revokeReason?: string
+ }
+
+ export interface ConsentLogRecord {
+ id: number
+ userId: number
+ consentType: 'privacy_policy' | 'terms_of_service' | 'marketing' | 'optional'
+ action: 'consent' | 'revoke' | 'update'
+ oldStatus?: boolean
+ newStatus: boolean
+ policyVersion: string
+ ipAddress?: string
+ userAgent?: string
+ actionTimestamp: string
+ additionalData?: any
+ }
+ \ No newline at end of file