502 lines
70 KiB
JavaScript
502 lines
70 KiB
JavaScript
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
const {
|
|
PrismaClientKnownRequestError,
|
|
PrismaClientUnknownRequestError,
|
|
PrismaClientRustPanicError,
|
|
PrismaClientInitializationError,
|
|
PrismaClientValidationError,
|
|
NotFoundError,
|
|
getPrismaClient,
|
|
sqltag,
|
|
empty,
|
|
join,
|
|
raw,
|
|
skip,
|
|
Decimal,
|
|
Debug,
|
|
objectEnumValues,
|
|
makeStrictEnum,
|
|
Extensions,
|
|
warnOnce,
|
|
defineDmmfProperty,
|
|
Public,
|
|
getRuntime
|
|
} = require('@prisma/client/runtime/library.js')
|
|
|
|
|
|
const Prisma = {}
|
|
|
|
exports.Prisma = Prisma
|
|
exports.$Enums = {}
|
|
|
|
/**
|
|
* Prisma Client JS version: 5.22.0
|
|
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
|
|
*/
|
|
Prisma.prismaVersion = {
|
|
client: "5.22.0",
|
|
engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
|
|
}
|
|
|
|
Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError;
|
|
Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
|
|
Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError
|
|
Prisma.PrismaClientInitializationError = PrismaClientInitializationError
|
|
Prisma.PrismaClientValidationError = PrismaClientValidationError
|
|
Prisma.NotFoundError = NotFoundError
|
|
Prisma.Decimal = Decimal
|
|
|
|
/**
|
|
* Re-export of sql-template-tag
|
|
*/
|
|
Prisma.sql = sqltag
|
|
Prisma.empty = empty
|
|
Prisma.join = join
|
|
Prisma.raw = raw
|
|
Prisma.validator = Public.validator
|
|
|
|
/**
|
|
* Extensions
|
|
*/
|
|
Prisma.getExtensionContext = Extensions.getExtensionContext
|
|
Prisma.defineExtension = Extensions.defineExtension
|
|
|
|
/**
|
|
* Shorthand utilities for JSON filtering
|
|
*/
|
|
Prisma.DbNull = objectEnumValues.instances.DbNull
|
|
Prisma.JsonNull = objectEnumValues.instances.JsonNull
|
|
Prisma.AnyNull = objectEnumValues.instances.AnyNull
|
|
|
|
Prisma.NullTypes = {
|
|
DbNull: objectEnumValues.classes.DbNull,
|
|
JsonNull: objectEnumValues.classes.JsonNull,
|
|
AnyNull: objectEnumValues.classes.AnyNull
|
|
}
|
|
|
|
|
|
|
|
|
|
const path = require('path')
|
|
|
|
/**
|
|
* Enums
|
|
*/
|
|
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
|
|
ReadUncommitted: 'ReadUncommitted',
|
|
ReadCommitted: 'ReadCommitted',
|
|
RepeatableRead: 'RepeatableRead',
|
|
Serializable: 'Serializable'
|
|
});
|
|
|
|
exports.Prisma.UserScalarFieldEnum = {
|
|
id: 'id',
|
|
email: 'email',
|
|
emailVerified: 'emailVerified',
|
|
name: 'name',
|
|
image: 'image',
|
|
role: 'role',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.AccountScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
provider: 'provider',
|
|
providerAccountId: 'providerAccountId',
|
|
access_token: 'access_token',
|
|
refresh_token: 'refresh_token',
|
|
expires_at: 'expires_at',
|
|
token_type: 'token_type',
|
|
scope: 'scope',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.SessionScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
sessionToken: 'sessionToken',
|
|
expires: 'expires',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.FamilyGroupScalarFieldEnum = {
|
|
id: 'id',
|
|
name: 'name',
|
|
ownerId: 'ownerId',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.FamilyGroupMemberScalarFieldEnum = {
|
|
id: 'id',
|
|
groupId: 'groupId',
|
|
userId: 'userId',
|
|
role: 'role',
|
|
joinedAt: 'joinedAt',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.SubscriptionScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
familyGroupId: 'familyGroupId',
|
|
stripeId: 'stripeId',
|
|
tier: 'tier',
|
|
status: 'status',
|
|
currentPeriodStart: 'currentPeriodStart',
|
|
currentPeriodEnd: 'currentPeriodEnd',
|
|
cancelAtPeriodEnd: 'cancelAtPeriodEnd',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.WatchlistItemScalarFieldEnum = {
|
|
id: 'id',
|
|
subscriptionId: 'subscriptionId',
|
|
type: 'type',
|
|
value: 'value',
|
|
hash: 'hash',
|
|
isActive: 'isActive',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.ExposureScalarFieldEnum = {
|
|
id: 'id',
|
|
subscriptionId: 'subscriptionId',
|
|
watchlistItemId: 'watchlistItemId',
|
|
source: 'source',
|
|
dataType: 'dataType',
|
|
identifier: 'identifier',
|
|
identifierHash: 'identifierHash',
|
|
severity: 'severity',
|
|
metadata: 'metadata',
|
|
isFirstTime: 'isFirstTime',
|
|
detectedAt: 'detectedAt',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.AlertScalarFieldEnum = {
|
|
id: 'id',
|
|
subscriptionId: 'subscriptionId',
|
|
userId: 'userId',
|
|
exposureId: 'exposureId',
|
|
type: 'type',
|
|
title: 'title',
|
|
message: 'message',
|
|
severity: 'severity',
|
|
isRead: 'isRead',
|
|
readAt: 'readAt',
|
|
channel: 'channel',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.VoiceEnrollmentScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
name: 'name',
|
|
voiceHash: 'voiceHash',
|
|
audioMetadata: 'audioMetadata',
|
|
isActive: 'isActive',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.VoiceAnalysisScalarFieldEnum = {
|
|
id: 'id',
|
|
enrollmentId: 'enrollmentId',
|
|
userId: 'userId',
|
|
audioHash: 'audioHash',
|
|
isSynthetic: 'isSynthetic',
|
|
confidence: 'confidence',
|
|
analysisResult: 'analysisResult',
|
|
audioUrl: 'audioUrl',
|
|
createdAt: 'createdAt'
|
|
};
|
|
|
|
exports.Prisma.SpamFeedbackScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
phoneNumber: 'phoneNumber',
|
|
phoneNumberHash: 'phoneNumberHash',
|
|
isSpam: 'isSpam',
|
|
confidence: 'confidence',
|
|
feedbackType: 'feedbackType',
|
|
metadata: 'metadata',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.SpamRuleScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
isGlobal: 'isGlobal',
|
|
ruleType: 'ruleType',
|
|
pattern: 'pattern',
|
|
action: 'action',
|
|
priority: 'priority',
|
|
isActive: 'isActive',
|
|
createdAt: 'createdAt',
|
|
updatedAt: 'updatedAt'
|
|
};
|
|
|
|
exports.Prisma.AuditLogScalarFieldEnum = {
|
|
id: 'id',
|
|
userId: 'userId',
|
|
action: 'action',
|
|
resource: 'resource',
|
|
resourceId: 'resourceId',
|
|
changes: 'changes',
|
|
metadata: 'metadata',
|
|
ipAddress: 'ipAddress',
|
|
userAgent: 'userAgent',
|
|
createdAt: 'createdAt'
|
|
};
|
|
|
|
exports.Prisma.KPISnapshotScalarFieldEnum = {
|
|
id: 'id',
|
|
date: 'date',
|
|
metricName: 'metricName',
|
|
metricValue: 'metricValue',
|
|
metadata: 'metadata',
|
|
createdAt: 'createdAt'
|
|
};
|
|
|
|
exports.Prisma.SortOrder = {
|
|
asc: 'asc',
|
|
desc: 'desc'
|
|
};
|
|
|
|
exports.Prisma.NullableJsonNullValueInput = {
|
|
DbNull: Prisma.DbNull,
|
|
JsonNull: Prisma.JsonNull
|
|
};
|
|
|
|
exports.Prisma.JsonNullValueInput = {
|
|
JsonNull: Prisma.JsonNull
|
|
};
|
|
|
|
exports.Prisma.QueryMode = {
|
|
default: 'default',
|
|
insensitive: 'insensitive'
|
|
};
|
|
|
|
exports.Prisma.NullsOrder = {
|
|
first: 'first',
|
|
last: 'last'
|
|
};
|
|
|
|
exports.Prisma.JsonNullValueFilter = {
|
|
DbNull: Prisma.DbNull,
|
|
JsonNull: Prisma.JsonNull,
|
|
AnyNull: Prisma.AnyNull
|
|
};
|
|
exports.UserRole = exports.$Enums.UserRole = {
|
|
user: 'user',
|
|
family_admin: 'family_admin',
|
|
family_member: 'family_member',
|
|
support: 'support'
|
|
};
|
|
|
|
exports.FamilyMemberRole = exports.$Enums.FamilyMemberRole = {
|
|
owner: 'owner',
|
|
admin: 'admin',
|
|
member: 'member'
|
|
};
|
|
|
|
exports.SubscriptionTier = exports.$Enums.SubscriptionTier = {
|
|
basic: 'basic',
|
|
plus: 'plus',
|
|
premium: 'premium'
|
|
};
|
|
|
|
exports.SubscriptionStatus = exports.$Enums.SubscriptionStatus = {
|
|
active: 'active',
|
|
past_due: 'past_due',
|
|
canceled: 'canceled',
|
|
unpaid: 'unpaid',
|
|
trialing: 'trialing'
|
|
};
|
|
|
|
exports.WatchlistType = exports.$Enums.WatchlistType = {
|
|
email: 'email',
|
|
phoneNumber: 'phoneNumber',
|
|
ssn: 'ssn',
|
|
address: 'address',
|
|
domain: 'domain'
|
|
};
|
|
|
|
exports.ExposureSource = exports.$Enums.ExposureSource = {
|
|
hibp: 'hibp',
|
|
securityTrails: 'securityTrails',
|
|
censys: 'censys',
|
|
darkWebForum: 'darkWebForum',
|
|
shodan: 'shodan',
|
|
honeypot: 'honeypot'
|
|
};
|
|
|
|
exports.ExposureSeverity = exports.$Enums.ExposureSeverity = {
|
|
info: 'info',
|
|
warning: 'warning',
|
|
critical: 'critical'
|
|
};
|
|
|
|
exports.AlertType = exports.$Enums.AlertType = {
|
|
exposure_detected: 'exposure_detected',
|
|
exposure_resolved: 'exposure_resolved',
|
|
scan_complete: 'scan_complete',
|
|
subscription_changed: 'subscription_changed',
|
|
system_warning: 'system_warning'
|
|
};
|
|
|
|
exports.AlertSeverity = exports.$Enums.AlertSeverity = {
|
|
info: 'info',
|
|
warning: 'warning',
|
|
critical: 'critical'
|
|
};
|
|
|
|
exports.AlertChannel = exports.$Enums.AlertChannel = {
|
|
email: 'email',
|
|
push: 'push',
|
|
sms: 'sms'
|
|
};
|
|
|
|
exports.FeedbackType = exports.$Enums.FeedbackType = {
|
|
initial_detection: 'initial_detection',
|
|
user_confirmation: 'user_confirmation',
|
|
user_rejection: 'user_rejection',
|
|
auto_learned: 'auto_learned'
|
|
};
|
|
|
|
exports.RuleType = exports.$Enums.RuleType = {
|
|
phoneNumber: 'phoneNumber',
|
|
areaCode: 'areaCode',
|
|
prefix: 'prefix',
|
|
pattern: 'pattern',
|
|
reputation: 'reputation'
|
|
};
|
|
|
|
exports.RuleAction = exports.$Enums.RuleAction = {
|
|
block: 'block',
|
|
flag: 'flag',
|
|
allow: 'allow',
|
|
challenge: 'challenge'
|
|
};
|
|
|
|
exports.Prisma.ModelName = {
|
|
User: 'User',
|
|
Account: 'Account',
|
|
Session: 'Session',
|
|
FamilyGroup: 'FamilyGroup',
|
|
FamilyGroupMember: 'FamilyGroupMember',
|
|
Subscription: 'Subscription',
|
|
WatchlistItem: 'WatchlistItem',
|
|
Exposure: 'Exposure',
|
|
Alert: 'Alert',
|
|
VoiceEnrollment: 'VoiceEnrollment',
|
|
VoiceAnalysis: 'VoiceAnalysis',
|
|
SpamFeedback: 'SpamFeedback',
|
|
SpamRule: 'SpamRule',
|
|
AuditLog: 'AuditLog',
|
|
KPISnapshot: 'KPISnapshot'
|
|
};
|
|
/**
|
|
* Create the Client
|
|
*/
|
|
const config = {
|
|
"generator": {
|
|
"name": "client",
|
|
"provider": {
|
|
"fromEnvVar": null,
|
|
"value": "prisma-client-js"
|
|
},
|
|
"output": {
|
|
"value": "/home/mike/code/FrenoCorp/node_modules/@prisma/client",
|
|
"fromEnvVar": null
|
|
},
|
|
"config": {
|
|
"engineType": "library"
|
|
},
|
|
"binaryTargets": [
|
|
{
|
|
"fromEnvVar": null,
|
|
"value": "debian-openssl-3.0.x",
|
|
"native": true
|
|
}
|
|
],
|
|
"previewFeatures": [],
|
|
"sourceFilePath": "/home/mike/code/FrenoCorp/packages/shared-db/prisma/schema.prisma"
|
|
},
|
|
"relativeEnvPaths": {
|
|
"rootEnvPath": null
|
|
},
|
|
"relativePath": "../../../packages/shared-db/prisma",
|
|
"clientVersion": "5.22.0",
|
|
"engineVersion": "605197351a3c8bdd595af2d2a9bc3025bca48ea2",
|
|
"datasourceNames": [
|
|
"db"
|
|
],
|
|
"activeProvider": "postgresql",
|
|
"postinstall": false,
|
|
"inlineDatasources": {
|
|
"db": {
|
|
"url": {
|
|
"fromEnvVar": "DATABASE_URL",
|
|
"value": null
|
|
}
|
|
}
|
|
},
|
|
"inlineSchema": "// Prisma schema for ShieldAI\n// All models for the multi-service SaaS platform\n\ngenerator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ============================================\n// User & Authentication Models\n// ============================================\n\nmodel User {\n id String @id @default(uuid())\n email String @unique\n emailVerified DateTime?\n name String?\n image String?\n role UserRole @default(user)\n\n // Relationships\n accounts Account[]\n sessions Session[]\n familyGroups FamilyGroupMember[]\n familyGroupOwned FamilyGroup[] @relation(\"FamilyGroupOwner\")\n subscriptions Subscription[]\n alerts Alert[]\n voiceEnrollments VoiceEnrollment[]\n voiceAnalyses VoiceAnalysis[]\n spamFeedback SpamFeedback[]\n spamRules SpamRule[]\n\n // Audit\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([email])\n @@index([role])\n}\n\nenum UserRole {\n user\n family_admin\n family_member\n support\n}\n\nmodel Account {\n id String @id @default(uuid())\n userId String\n provider String\n providerAccountId String\n access_token String?\n refresh_token String?\n expires_at Int?\n token_type String?\n scope String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([userId, provider, providerAccountId])\n @@index([userId])\n}\n\nmodel Session {\n id String @id @default(uuid())\n userId String\n sessionToken String @unique\n expires DateTime\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([sessionToken])\n @@index([userId])\n}\n\n// ============================================\n// Family & Subscription Models\n// ============================================\n\nmodel FamilyGroup {\n id String @id @default(uuid())\n name String\n ownerId String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner User @relation(\"FamilyGroupOwner\", fields: [ownerId], references: [id])\n members FamilyGroupMember[]\n subscriptions Subscription[]\n\n @@index([ownerId])\n @@index([name])\n}\n\nmodel FamilyGroupMember {\n id String @id @default(uuid())\n groupId String\n userId String\n role FamilyMemberRole @default(member)\n joinedAt DateTime @default(now())\n\n group FamilyGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([groupId, userId])\n @@index([groupId])\n @@index([userId])\n}\n\nenum FamilyMemberRole {\n owner\n admin\n member\n}\n\nmodel Subscription {\n id String @id @default(uuid())\n userId String\n familyGroupId String?\n stripeId String? @unique\n tier SubscriptionTier @default(basic)\n status SubscriptionStatus @default(active)\n currentPeriodStart DateTime\n currentPeriodEnd DateTime\n cancelAtPeriodEnd Boolean @default(false)\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n familyGroup FamilyGroup? @relation(fields: [familyGroupId], references: [id])\n\n watchlistItems WatchlistItem[]\n exposures Exposure[]\n alerts Alert[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@index([familyGroupId])\n @@index([stripeId])\n @@index([tier])\n}\n\nenum SubscriptionTier {\n basic\n plus\n premium\n}\n\nenum SubscriptionStatus {\n active\n past_due\n canceled\n unpaid\n trialing\n}\n\n// ============================================\n// DarkWatch Models (Dark Web Monitoring)\n// ============================================\n\nmodel WatchlistItem {\n id String @id @default(uuid())\n subscriptionId String\n type WatchlistType\n value String\n hash String // SHA-256 hash for deduplication\n isActive Boolean @default(true)\n\n subscription Subscription @relation(fields: [subscriptionId], references: [id], onDelete: Cascade)\n exposures Exposure[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([subscriptionId, type, hash])\n @@index([subscriptionId])\n @@index([type])\n @@index([hash])\n}\n\nenum WatchlistType {\n email\n phoneNumber\n ssn\n address\n domain\n}\n\nmodel Exposure {\n id String @id @default(uuid())\n subscriptionId String\n watchlistItemId String?\n source ExposureSource\n dataType WatchlistType\n identifier String\n identifierHash String\n severity ExposureSeverity @default(info)\n metadata Json? // Additional source-specific data\n isFirstTime Boolean @default(false)\n\n subscription Subscription @relation(fields: [subscriptionId], references: [id], onDelete: Cascade)\n watchlistItem WatchlistItem? @relation(fields: [watchlistItemId], references: [id])\n alerts Alert[]\n\n detectedAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([subscriptionId])\n @@index([watchlistItemId])\n @@index([source])\n @@index([severity])\n @@index([detectedAt])\n}\n\nenum ExposureSource {\n hibp // Have I Been Pwned\n securityTrails\n censys\n darkWebForum\n shodan\n honeypot\n}\n\nenum ExposureSeverity {\n info\n warning\n critical\n}\n\n// ============================================\n// Notification & Alert Models\n// ============================================\n\nmodel Alert {\n id String @id @default(uuid())\n subscriptionId String\n userId String\n exposureId String?\n type AlertType\n title String\n message String\n severity AlertSeverity @default(info)\n isRead Boolean @default(false)\n readAt DateTime?\n channel AlertChannel[] // Array of notification channels\n\n subscription Subscription @relation(fields: [subscriptionId], references: [id], onDelete: Cascade)\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n exposure Exposure? @relation(fields: [exposureId], references: [id])\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([subscriptionId])\n @@index([userId])\n @@index([isRead])\n @@index([createdAt])\n}\n\nenum AlertType {\n exposure_detected\n exposure_resolved\n scan_complete\n subscription_changed\n system_warning\n}\n\nenum AlertSeverity {\n info\n warning\n critical\n}\n\nenum AlertChannel {\n email\n push\n sms\n}\n\n// ============================================\n// VoicePrint Models (Voice Cloning Detection)\n// ============================================\n\nmodel VoiceEnrollment {\n id String @id @default(uuid())\n userId String\n name String\n voiceHash String // FAISS embedding hash\n audioMetadata Json? // Sample rate, duration, etc.\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n analyses VoiceAnalysis[]\n\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@index([voiceHash])\n}\n\nmodel VoiceAnalysis {\n id String @id @default(uuid())\n enrollmentId String?\n userId String\n audioHash String // Content hash of audio file\n isSynthetic Boolean\n confidence Float // 0.0 to 1.0\n analysisResult Json // Full ML analysis results\n audioUrl String // S3 storage URL\n\n enrollment VoiceEnrollment? @relation(fields: [enrollmentId], references: [id])\n user User @relation(fields: [userId], references: [id])\n\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([enrollmentId])\n @@index([audioHash])\n}\n\n// ============================================\n// SpamShield Models (Spam Detection)\n// ============================================\n\nmodel SpamFeedback {\n id String @id @default(uuid())\n userId String\n phoneNumber String\n phoneNumberHash String // SHA-256 hash\n isSpam Boolean\n confidence Float? // ML model confidence\n feedbackType FeedbackType\n metadata Json? // Call duration, time, etc.\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@index([phoneNumberHash])\n @@index([isSpam])\n}\n\nenum FeedbackType {\n initial_detection\n user_confirmation\n user_rejection\n auto_learned\n}\n\nmodel SpamRule {\n id String @id @default(uuid())\n userId String?\n isGlobal Boolean @default(false)\n ruleType RuleType\n pattern String\n action RuleAction\n priority Int @default(0)\n isActive Boolean @default(true)\n\n user User? @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId])\n @@index([isGlobal])\n @@index([ruleType])\n}\n\nenum RuleType {\n phoneNumber\n areaCode\n prefix\n pattern\n reputation\n}\n\nenum RuleAction {\n block\n flag\n allow\n challenge\n}\n\n// ============================================\n// Audit & Analytics Models\n// ============================================\n\nmodel AuditLog {\n id String @id @default(uuid())\n userId String?\n action String\n resource String\n resourceId String?\n changes Json? // Before/after values\n metadata Json?\n ipAddress String?\n userAgent String?\n\n createdAt DateTime @default(now())\n\n @@index([userId])\n @@index([action])\n @@index([resource])\n @@index([createdAt])\n}\n\nmodel KPISnapshot {\n id String @id @default(uuid())\n date DateTime @unique\n metricName String\n metricValue Float\n metadata Json?\n\n createdAt DateTime @default(now())\n\n @@index([metricName])\n @@index([date])\n}\n",
|
|
"inlineSchemaHash": "657026cb630a6250e2a0667cad2e67d581942b14bbb45c69d33e68b8b88664b6",
|
|
"copyEngine": true
|
|
}
|
|
|
|
const fs = require('fs')
|
|
|
|
config.dirname = __dirname
|
|
if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) {
|
|
const alternativePaths = [
|
|
"node_modules/.prisma/client",
|
|
".prisma/client",
|
|
]
|
|
|
|
const alternativePath = alternativePaths.find((altPath) => {
|
|
return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma'))
|
|
}) ?? alternativePaths[0]
|
|
|
|
config.dirname = path.join(process.cwd(), alternativePath)
|
|
config.isBundled = true
|
|
}
|
|
|
|
config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"image\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"UserRole\",\"default\":\"user\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accounts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Account\",\"relationName\":\"AccountToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Session\",\"relationName\":\"SessionToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"familyGroups\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FamilyGroupMember\",\"relationName\":\"FamilyGroupMemberToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"familyGroupOwned\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FamilyGroup\",\"relationName\":\"FamilyGroupOwner\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Subscription\",\"relationName\":\"SubscriptionToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"alerts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Alert\",\"relationName\":\"AlertToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"voiceEnrollments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"VoiceEnrollment\",\"relationName\":\"UserToVoiceEnrollment\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"voiceAnalyses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"VoiceAnalysis\",\"relationName\":\"UserToVoiceAnalysis\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spamFeedback\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SpamFeedback\",\"relationName\":\"SpamFeedbackToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"spamRules\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SpamRule\",\"relationName\":\"SpamRuleToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Account\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerAccountId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"access_token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refresh_token\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires_at\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"token_type\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"scope\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"AccountToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"provider\",\"providerAccountId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"provider\",\"providerAccountId\"]}],\"isGenerated\":false},\"Session\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"SessionToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FamilyGroup\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ownerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"owner\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"FamilyGroupOwner\",\"relationFromFields\":[\"ownerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"members\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FamilyGroupMember\",\"relationName\":\"FamilyGroupToFamilyGroupMember\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Subscription\",\"relationName\":\"FamilyGroupToSubscription\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FamilyGroupMember\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"groupId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"FamilyMemberRole\",\"default\":\"member\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"joinedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"group\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FamilyGroup\",\"relationName\":\"FamilyGroupToFamilyGroupMember\",\"relationFromFields\":[\"groupId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"FamilyGroupMemberToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"groupId\",\"userId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"groupId\",\"userId\"]}],\"isGenerated\":false},\"Subscription\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"familyGroupId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stripeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tier\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SubscriptionTier\",\"default\":\"basic\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SubscriptionStatus\",\"default\":\"active\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentPeriodStart\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"currentPeriodEnd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancelAtPeriodEnd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"SubscriptionToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"familyGroup\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FamilyGroup\",\"relationName\":\"FamilyGroupToSubscription\",\"relationFromFields\":[\"familyGroupId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"watchlistItems\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WatchlistItem\",\"relationName\":\"SubscriptionToWatchlistItem\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"exposures\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Exposure\",\"relationName\":\"ExposureToSubscription\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"alerts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Alert\",\"relationName\":\"AlertToSubscription\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"WatchlistItem\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WatchlistType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscription\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Subscription\",\"relationName\":\"SubscriptionToWatchlistItem\",\"relationFromFields\":[\"subscriptionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"exposures\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Exposure\",\"relationName\":\"ExposureToWatchlistItem\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"subscriptionId\",\"type\",\"hash\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"subscriptionId\",\"type\",\"hash\"]}],\"isGenerated\":false},\"Exposure\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"watchlistItemId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ExposureSource\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WatchlistType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identifier\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identifierHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ExposureSeverity\",\"default\":\"info\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isFirstTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscription\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Subscription\",\"relationName\":\"ExposureToSubscription\",\"relationFromFields\":[\"subscriptionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"watchlistItem\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"WatchlistItem\",\"relationName\":\"ExposureToWatchlistItem\",\"relationFromFields\":[\"watchlistItemId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"alerts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Alert\",\"relationName\":\"AlertToExposure\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"detectedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Alert\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscriptionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"exposureId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AlertType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"message\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"severity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AlertSeverity\",\"default\":\"info\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isRead\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"channel\",\"kind\":\"enum\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AlertChannel\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subscription\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Subscription\",\"relationName\":\"AlertToSubscription\",\"relationFromFields\":[\"subscriptionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"AlertToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"exposure\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Exposure\",\"relationName\":\"AlertToExposure\",\"relationFromFields\":[\"exposureId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"VoiceEnrollment\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"voiceHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"audioMetadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToVoiceEnrollment\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analyses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"VoiceAnalysis\",\"relationName\":\"VoiceAnalysisToVoiceEnrollment\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"VoiceAnalysis\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enrollmentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"audioHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSynthetic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"analysisResult\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"audioUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"enrollment\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"VoiceEnrollment\",\"relationName\":\"VoiceAnalysisToVoiceEnrollment\",\"relationFromFields\":[\"enrollmentId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToVoiceAnalysis\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SpamFeedback\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumberHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isSpam\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confidence\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"feedbackType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"FeedbackType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"SpamFeedbackToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SpamRule\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGlobal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ruleType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RuleType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pattern\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RuleAction\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"SpamRuleToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"KPISnapshot\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metricName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metricValue\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"metadata\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Json\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"UserRole\":{\"values\":[{\"name\":\"user\",\"dbName\":null},{\"name\":\"family_admin\",\"dbName\":null},{\"name\":\"family_member\",\"dbName\":null},{\"name\":\"support\",\"dbName\":null}],\"dbName\":null},\"FamilyMemberRole\":{\"values\":[{\"name\":\"owner\",\"dbName\":null},{\"name\":\"admin\",\"dbName\":null},{\"name\":\"member\",\"dbName\":null}],\"dbName\":null},\"SubscriptionTier\":{\"values\":[{\"name\":\"basic\",\"dbName\":null},{\"name\":\"plus\",\"dbName\":null},{\"name\":\"premium\",\"dbName\":null}],\"dbName\":null},\"SubscriptionStatus\":{\"values\":[{\"name\":\"active\",\"dbName\":null},{\"name\":\"past_due\",\"dbName\":null},{\"name\":\"canceled\",\"dbName\":null},{\"name\":\"unpaid\",\"dbName\":null},{\"name\":\"trialing\",\"dbName\":null}],\"dbName\":null},\"WatchlistType\":{\"values\":[{\"name\":\"email\",\"dbName\":null},{\"name\":\"phoneNumber\",\"dbName\":null},{\"name\":\"ssn\",\"dbName\":null},{\"name\":\"address\",\"dbName\":null},{\"name\":\"domain\",\"dbName\":null}],\"dbName\":null},\"ExposureSource\":{\"values\":[{\"name\":\"hibp\",\"dbName\":null},{\"name\":\"securityTrails\",\"dbName\":null},{\"name\":\"censys\",\"dbName\":null},{\"name\":\"darkWebForum\",\"dbName\":null},{\"name\":\"shodan\",\"dbName\":null},{\"name\":\"honeypot\",\"dbName\":null}],\"dbName\":null},\"ExposureSeverity\":{\"values\":[{\"name\":\"info\",\"dbName\":null},{\"name\":\"warning\",\"dbName\":null},{\"name\":\"critical\",\"dbName\":null}],\"dbName\":null},\"AlertType\":{\"values\":[{\"name\":\"exposure_detected\",\"dbName\":null},{\"name\":\"exposure_resolved\",\"dbName\":null},{\"name\":\"scan_complete\",\"dbName\":null},{\"name\":\"subscription_changed\",\"dbName\":null},{\"name\":\"system_warning\",\"dbName\":null}],\"dbName\":null},\"AlertSeverity\":{\"values\":[{\"name\":\"info\",\"dbName\":null},{\"name\":\"warning\",\"dbName\":null},{\"name\":\"critical\",\"dbName\":null}],\"dbName\":null},\"AlertChannel\":{\"values\":[{\"name\":\"email\",\"dbName\":null},{\"name\":\"push\",\"dbName\":null},{\"name\":\"sms\",\"dbName\":null}],\"dbName\":null},\"FeedbackType\":{\"values\":[{\"name\":\"initial_detection\",\"dbName\":null},{\"name\":\"user_confirmation\",\"dbName\":null},{\"name\":\"user_rejection\",\"dbName\":null},{\"name\":\"auto_learned\",\"dbName\":null}],\"dbName\":null},\"RuleType\":{\"values\":[{\"name\":\"phoneNumber\",\"dbName\":null},{\"name\":\"areaCode\",\"dbName\":null},{\"name\":\"prefix\",\"dbName\":null},{\"name\":\"pattern\",\"dbName\":null},{\"name\":\"reputation\",\"dbName\":null}],\"dbName\":null},\"RuleAction\":{\"values\":[{\"name\":\"block\",\"dbName\":null},{\"name\":\"flag\",\"dbName\":null},{\"name\":\"allow\",\"dbName\":null},{\"name\":\"challenge\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}")
|
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
|
config.engineWasm = undefined
|
|
|
|
|
|
const { warnEnvConflicts } = require('@prisma/client/runtime/library.js')
|
|
|
|
warnEnvConflicts({
|
|
rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath),
|
|
schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath)
|
|
})
|
|
|
|
const PrismaClient = getPrismaClient(config)
|
|
exports.PrismaClient = PrismaClient
|
|
Object.assign(exports, Prisma)
|
|
|
|
// file annotations for bundling tools to include these files
|
|
path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node");
|
|
path.join(process.cwd(), "node_modules/.prisma/client/libquery_engine-debian-openssl-3.0.x.so.node")
|
|
// file annotations for bundling tools to include these files
|
|
path.join(__dirname, "schema.prisma");
|
|
path.join(process.cwd(), "node_modules/.prisma/client/schema.prisma")
|