This commit is contained in:
Stephanos A
2026-06-23 19:48:55 +03:00
71 changed files with 2350 additions and 2503 deletions

View File

@@ -260,15 +260,8 @@ model User {
faydaVerifiedAt DateTime?
faydaSub String? @unique
passenger Passenger?
agent Agent?
sessions Session[]
devices Device[]
preferences UserPreferences?
auditLogs AuditLog[]
fraudAlerts FraudAlert[]
sessions Session[]
faydaVerificationSessions FaydaVerificationSession[]
@@schema("passenger")
}
@@ -286,10 +279,12 @@ model Session {
}
model Passenger {
id String @id @default(uuid())
userId String @unique
id String @id @default(uuid())
userId String? @unique
iamUserId String? @unique
defaultTravelerProfileId String?
preferredLanguage String?
blockedUntil DateTime?
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id])
bookings Booking[]
@@ -298,9 +293,9 @@ model Passenger {
notifications Notification[]
travelerProfiles TravelerProfile[]
savedRoutes SavedRoute[]
packageBookings PackageBooking[]
packageBookings PackageBooking[]
@@index([userId])
@@index([iamUserId])
@@schema("passenger")
}
@@ -898,7 +893,7 @@ model SupportMessage {
model UserPreferences {
id String @id @default(uuid())
userId String @unique
iamUserId String @unique
pushEnabled Boolean @default(true)
emailEnabled Boolean @default(true)
smsEnabled Boolean @default(false)
@@ -911,19 +906,19 @@ model UserPreferences {
locale String @default("en")
darkMode Boolean @default(false)
language String @default("en")
user User @relation(fields: [userId], references: [id])
@@schema("passenger")
}
model Device {
id String @id @default(uuid())
userId String
iamUserId String
platform DevicePlatform
name String
pushToken String?
trusted Boolean @default(false)
lastSeenAt DateTime @default(now())
user User @relation(fields: [userId], references: [id])
@@schema("passenger")
}
@@ -1066,16 +1061,16 @@ model SegmentFareRule {
model Agent {
id String @id @default(uuid())
userId String @unique
iamUserId String? @unique
agentCode String @unique
stationId String?
commissionRate Int @default(5)
active Boolean @default(true)
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id])
bookings AgentBooking[]
shifts AgentShift[]
commissions AgentCommission[]
@@index([iamUserId])
@@schema("passenger")
}
@@ -1194,19 +1189,17 @@ model BaggageBooking {
}
model AuditLog {
id String @id @default(uuid())
userId String?
action String
entityType String
entityId String?
oldData Json?
newData Json?
ipAddress String?
userAgent String?
createdAt DateTime @default(now())
user User? @relation(fields: [userId], references: [id])
@@index([userId, createdAt])
id String @id @default(uuid())
iamUserId String?
action String
entityType String
entityId String?
oldData Json?
newData Json?
ipAddress String?
userAgent String?
createdAt DateTime @default(now())
@@index([iamUserId, createdAt])
@@index([entityType, entityId])
@@schema("passenger")
}
@@ -1262,16 +1255,14 @@ model FraudRule {
model FraudAlert {
id String @id @default(uuid())
userId String
iamUserId String
eventType String
triggeredRules String[]
context Json
severity String @default("MEDIUM")
acknowledged Boolean @default(false)
createdAt DateTime @default(now())
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([userId, createdAt])
@@index([iamUserId, createdAt])
@@index([acknowledged])
@@schema("passenger")
}
@@ -1341,12 +1332,10 @@ model FaydaVerificationSession {
expiresAt DateTime
completedAt DateTime?
userId String?
iamUserId String?
bookingId String?
user User? @relation(fields: [userId], references: [id], onDelete: Cascade)
@@index([userId])
@@index([iamUserId])
@@index([bookingId])
@@index([state])
@@index([expiresAt])